RAF*_*128 21 python discord openai-api chatgpt-api
import discord
import openai
import os
openai.api_key = os.environ.get("OPENAI_API_KEY")
#Specify the intent
intents = discord.Intents.default()
intents.members = True
#Create Client
client = discord.Client(intents=intents)
async def generate_response(message):
prompt = f"{message.author.name}: {message.content}\nAI:"
response = openai.Completion.create(
engine="gpt-3.5-turbo",
prompt=prompt,
max_tokens=1024,
n=1,
stop=None,
temperature=0.5,
)
return response.choices[0].text.strip()
@client.event
async def on_ready():
print(f"We have logged in as {client.user}")
@client.event
async def on_message(message):
if message.author == client.user:
return
response = await generate_response(message)
await message.channel.send(response)
discord_token = 'DiscordToken'
client.start(discord_token)
Run Code Online (Sandbox Code Playgroud)
我尝试使用不同的方式来访问 API 密钥,包括添加到环境变量。
我还能尝试什么或者哪里出错了,对于编程来说还很陌生。错误信息:
openai.error.AuthenticationError:未提供 API 密钥。您可以使用“openai.api_key =”在代码中设置 API 密钥,也可以设置环境变量 OPENAI_API_KEY=)。如果您的 API 密钥存储在文件中,您可以使用“openai.api_key_path = ”将 openai 模块指向它。您可以在 OpenAI Web 界面中生成 API 密钥。请参阅 https://onboard.openai.com 了解详细信息,如果您有任何疑问,请发送电子邮件至 support@openai.com。
编辑
我解决了“未提供 API 密钥”错误。现在我收到以下错误消息:
openai.error.InvalidRequestError:这是一个聊天模型,v1/completions 端点不支持。您的意思是使用 v1/chat/completions 吗?
Rok*_*nko 26
openai.error.InvalidRequestError: This is a chat model and not supported in the v1/completions endpoint如果您只更改一件事,您上面发布的代码将立即起作用:更改gpt-3.5-turbo为text-davinci-003. 这将为您提供有关为何出现此错误的答案。这是因为您使用了适用于 GPT-3 API 端点的代码,但想要使用 GPT-3.5 模型(即gpt-3.5-turbo)。请参阅型号端点兼容性。
| API端点 | 模型组 | 型号名称 |
|---|---|---|
| /v1/聊天/完成 | \xe2\x80\xa2 GPT-4 \xe2\x80\xa2 GPT-3.5 | \xe2\x80\xa2gpt-4和注明日期的型号版本\xe2\x80\xa2 gpt-4-32k和注明日期的型号版本\xe2\x80\xa2 gpt-4-1106-preview \xe2\x80\xa2 gpt-4-vision-preview \xe2\x80\xa2 gpt-3.5-turbo和注明日期的型号版本\xe2\x80\xa2 gpt-3.5-turbo-16k和注明日期模型发布了\xe2\x80\xa2 的微调版本 gpt-3.5-turbo |
| /v1/完成(旧版) | \xe2\x80\xa2 GPT-3.5 \xe2\x80\xa2 GPT 基础 | \xe2\x80\xa2 gpt-3.5-turbo-instruct \xe2\x80\xa2 babbage-002 \xe2\x80\xa2 davinci-002 |
| /v1/助手 | 除受支持之外的所有型号gpt-3.5-turbo-0301。检索工具需要 gpt-4-1106-preview或gpt-3.5-turbo-1106。 | |
| /v1/音频/转录 | 耳语 | \xe2\x80\xa2whisper-1 |
| /v1/音频/翻译 | 耳语 | \xe2\x80\xa2whisper-1 |
| /v1/音频/语音 | 语音合成 | \xe2\x80\xa2 tts-1 \xe2\x80\xa2 tts-1-hd |
| /v1/fine_tuning/工作 | \xe2\x80\xa2 GPT-3.5 \xe2\x80\xa2 GPT 基础 | \xe2\x80\xa2 gpt-3.5-turbo \xe2\x80\xa2 babbage-002 \xe2\x80\xa2 davinci-002 |
| /v1/嵌入 | 嵌入 | \xe2\x80\xa2text-embedding-ada-002 |
| /v1/节制 | 节制 | \xe2\x80\xa2 text-moderation-stable \xe2\x80\xa2 text-moderation-latest |
如果您想使用该gpt-3.5-turbo模型,则需要编写与 GPT-3.5 API 端点(即聊天完成 API端点)配合使用的代码。
如上表所示,列出了 API 端点。如果您正在使用 OpenAI 包(就像您一样),那么您需要使用适当的方法名称。见下表。
\n注意:请注意,您必须使用与您的 OpenAI SDK 版本兼容的方法名称。
\n| API端点 | Python SDK <v1方法名称 | Python SDKv1方法名称 | Node.js SDKv3方法名称 | Node.js SDKv4方法名称 |
|---|---|---|---|---|
| /v1/聊天/完成 | openai.ChatCompletion.create | openai.chat.completions.create | openai.createChatCompletion | openai.chat.completions.create |
| /v1/完成(旧版) | openai.Completion.create | openai.completions.create | openai.createCompletion | openai.completions.create |
| /v1/助手 | / | openai.beta.assistants.create | / | openai.beta.assistants.create |
| /v1/音频/转录 | openai.Audio.transcribe | openai.audio.transcriptions.create | openai.createTranscription | openai.audio.transcriptions.create |
| /v1/音频/翻译 | openai.Audio.translate | openai.audio.translations.create | openai.createTranslation | openai.audio.translations.create |
| /v1/音频/语音 | / | openai.audio.speech.create | / | openai.audio.speech.create |
| /v1/fine_tuning/工作 | / | openai.fine_tuning.jobs.create | / | openai.fineTuning.jobs.create |
| /v1/嵌入 | openai.Embedding.create | openai.embeddings.create | openai.createEmbedding | openai.embeddings.create |
| /v1/节制 | openai.Moderation.create | openai.moderations.create | openai.createModeration | openai.moderations.create |
您需要调整整个代码。请参阅下面工作示例中的注释。
\nv1该模型的Python SDK工作示例gpt-3.5-turbo(即聊天完成 API)如果你跑test.py,OpenAI API 将返回以下完成信息:
\n\n你好呀!今天我能为您提供什么帮助?
\n
测试.py
\nimport os\nfrom openai import OpenAI\nclient = OpenAI()\nOpenAI.api_key = os.getenv(\'OPENAI_API_KEY\')\n\ncompletion = client.chat.completions.create( # Change the method name\n model = \'gpt-3.5-turbo\',\n messages = [ # Change the prompt parameter to messages parameter\n {\'role\': \'user\', \'content\': \'Hello!\'}\n ],\n temperature = 0 \n)\n\nprint(completion.choices[0].message.content) # Change message content extraction\nRun Code Online (Sandbox Code Playgroud)\nopenai.error.AuthenticationError: No API key provided改变这个...
\nopenai.api_key = os.environ.get(\'OPENAI_API_KEY\')\nRun Code Online (Sandbox Code Playgroud)\n……对此。
\nopenai.api_key = os.getenv(\'OPENAI_API_KEY\')\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
57122 次 |
| 最近记录: |