简短教程:如何使用 Python 调用 OpenAI 接口
目录
前言
当前版本的 OpenAI 接口调用:client.chat.completions.create
已经弃用的接口调用
版本 1:openai.ChatCompletion.create
版本 2:openai.Completion.create
总结
前言
本呆在调用 OpenAI 的 API 时,发现除开官方文档之外,CSDN 上的很多教程良莠不齐,这可能会让不喜欢看英文文档的小伙伴感到苦恼,因为很多版本的教程其实都是以前版本的接口,在当前版本下使用这些代码,只会噼里啪啦一顿报错,所以本呆就写个简短的教程记录下。
当前版本的 OpenAI 接口调用:client.chat.completions.create
当前版本的 OpenAI 接口,按照官档所说,1.0 以后的版本都可以使用。即使不是最新版的 open ai 库也可以用。
代码如下:
from openai import OpenAI
# 正确设置 API 密钥
api_key="呆河马的API"
# 定义模型名称和其他参数
model_name = 'gpt-4o'
temperature = 0.7
prompt = "你好,我有一只呆河马"
client = OpenAI(api_key=api_key)
completion = client.chat.completions.create(
model=model_name,
temperature=temperature,
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{
"role": "user",
"content": prompt
}
]
)
print(completion.choices[0].message.content)
以上代码来自于官方文档。
在这里说一下,本呆使用的 open ai 库版本是 1.47,并不是最新版,但是依然可以使用这个版本的调用方式。
已经弃用的接口调用
大家一定要看好,下面这里的调用方式,都是旧版本的,特指 1.0 以前,除非安装旧版本的 open ai 库,否则不可用。而且也不太建议安装古早版本的库,建议使用以上的代码。
版本 1:openai.ChatCompletion.create
import openai
# 设置你的 OpenAI API 密钥
openai.api_key = "sk-你的新API密钥"
# 定义消息
messages = [
{"role": "system", "content": "你是一个有帮助的助手。"},
{"role": "user", "content": "你好,我有一只呆河马。"}
]
# 调用 ChatCompletion API
response = openai.ChatCompletion.create(
model="gpt-4", # 或者 "gpt-3.5-turbo"
messages=messages,
max_tokens=100,
temperature=0.7
)
# 打印响应文本
print(response.choices[0].message['content'].strip())
版本 2:openai.Completion.create
import openai
# 设置你的 OpenAI API 密钥
openai.api_key = "sk-你的新API密钥"
# 调用 Completion API
response = openai.Completion.create(
model="text-davinci-003",
prompt="你好,我有一只呆河马",
max_tokens=100,
temperature=0.7
)
# 打印响应文本
print(response.choices[0].text.strip())
总结
openai
库的不同版本在 API 调用方式上存在显著差异。如果使用了不匹配的版本,代码将无法正常运行,甚至可能报出诸如 'OpenAI' object has no attribute 'Completion'
这样的错误。
所以本呆提醒大家,务必要确认所使用的 openai
库版本 与参考的教程或文档相匹配。通过定期检查和更新库版本,参考官方文档,并采用安全的方式管理 API 密钥,可以更顺利地进行开发,避免不必要的错误和安全隐患。
OpenAI官方文档
作者:呆河马的数据道馆