Pet*_*utz 8 python artificial-intelligence pip openai-api chatgpt-api
我目前正在开发一个聊天机器人,由于我使用的是 Windows 11,它不允许我迁移到较新的 OpenAI 库或降级它。ChatCompletion我可以用其他功能替换该功能以在我的版本上使用吗?
这是代码:
import openai
openai.api_key = "private"
def chat_gpt(prompt):
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt}]
)
return response.choices[0].message['content'].strip()
if __name__ == "__main__":
while True:
user_input = input("You: ")
if user_input.lower() in ["quit", "exit", "bye"]:
break
response = chat_gpt(user_input)
print("Bot:", response)
Run Code Online (Sandbox Code Playgroud)
这是完整的错误:
...您尝试访问 openai.ChatCompletion,但 openai>=1.0.0 不再支持此功能 - 请参阅https://github.com/openai/openai-python上的API 了解自述文件。
您可以运行
openai migrate自动升级您的代码库以使用 1.0.0 界面。或者,您可以将安装固定到旧版本,例如 <pip install openai==0.28>
此处提供了详细的迁移指南:https ://github.com/openai/openai-python/discussions/742
我尝试通过 pip 进行升级和降级。
Spa*_*att 10
尝试更新到最新版本并使用:
from openai import OpenAI
client = OpenAI(
# defaults to os.environ.get("OPENAI_API_KEY")
api_key="private",
)
def chat_gpt(prompt):
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt}]
)
return response.choices[0].message.content.strip()
Run Code Online (Sandbox Code Playgroud)
编辑:message.['content']->message.content在此函数的返回上,因为message object is not subscriptable使用时会引发错误message.['content']。另外,将指向README(可能会更改)的链接更新为特定于此代码的迁移指南。
您尝试使用的方法名称不适用于 OpenAI Python SDK 版本1.0.0或更高版本。
旧的 SDK(即 version 0.28)使用以下方法名称:
client.ChatCompletion.create
Run Code Online (Sandbox Code Playgroud)
新的 SDK(即版本1.0.0或更新版本)使用以下方法名称:
client.chat.completions.create
Run Code Online (Sandbox Code Playgroud)
注意:请小心,因为 API 区分大小写(即client.Chat.Completions.create不适用于新的 SDK 版本)。
尝试这个:
import os
from openai import OpenAI
client = OpenAI()
OpenAI.api_key = os.getenv('OPENAI_API_KEY')
completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
]
)
print(completion.choices[0].message.content)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18797 次 |
| 最近记录: |