如何使用Python + ChatGPT API快速构建基于ChatGPT的用法

ChatGPT-3是一个人工智能聊天机器人,它用的是OpenAI的GPT-3.5-turbo模型来实现自然语言处理(NLP)和语言生成任务哦。新版的GPT-3.5-turbo模型是在GPT-3模型的基础上升级改进的,精度和表现力更高,能自动识别文本的语义和上下文,生成更准确更自然的回复呢。


OpenAI团队发布了最新的智能聊天机器人ChatGPT API和语音转文Whisper API。ChatGPT API为开发者提供了方便易用的方式,让他们轻松驾驭这个强大的NLP模型。最新发布的ChatGPT API使用的是gpt-3.5-turbo模型家族,也就是ChatGPT产品中使用的同一模型哦。

ChatGPT API

这次ChatGPT官方更新了gpt-3.5-turbo模型,接口上会有一些调整,提供了更多的API参数和选项,让开发者可以根据自己的需求定制和优化API性能。

基于gpt-3.5-turbo模型

如果使用新模型的话,价格是每1000个tokens $0.002,比当前的GPT-3.5模型便宜了10倍呢。它具有高可用性和可扩展性,还可以应对高流量应用场景。官方测试工程师从text-davinci-003迁移到gpt-3.5-turbo,只需要做一些调整就能完成开发,还提供了非常友好的开发文档和示例代码,帮助开发者快速上手。

用法

如果只是想快速验证 ChatGPT API是否可用,那我们可以尝试使用curl发送请求。


curl https://api.openai.com/v1/chat/completions

   -H "Authorization: Bearer $OPENAI_API_KEY"

   -H "Content-Type: application/json"

   -d'{

   "model": "gpt-3.5-turbo",

   "messages": [{"role": "user", "content": "OpenAI 的使命是什么?"}]

}'


如果需要深入ChatGPT API的开发,小编将向你展示如何使用Python + ChatGPT API快速构建基于ChatGPT的用法。


这是基本用法的代码示例:

# 注意检查你的OpenAI版本必须是v0.27.0或以上

import openai


# 首先,您需要设置您的 API 密钥

openai.api_key = "你的API key"


# 然后,您可以调用“gpt-3.5-turbo”模型

model_engine = "gpt-3.5-turbo"


# 设置你的输入文本

input_text = "问题XXXXXXXXX"


# 发送API请求并得到响应,注意接口和参数相比旧款有变化

response = openai.ChatCompletion.create(

   model=model_engine,

   messages=[{"role": "user", "content": input_text }]

)


#response 将得到一个结构如下的 json 消息

# {

#  'id': 'chatcmpl-6p9XYPYSTTRi0xEviKjjilqrWU2Ve',

#  'object': 'chat.completion',

#  'created': 1677649420,

#  'model': 'gpt-3.5-turbo',

#  'usage': {'prompt_tokens': 56, 'completion_tokens': 31, 'total_tokens': 87},

#  'choices': [

#    {

#     'message': {

#       'role': 'assistant',

#       'content': '问题XXXXXXXXX'},

#     'finish_reason': 'stop',

#     'index': 0

#    }

#   ]

# }


# 解析响应并输出结果

output_text = response['choices'][0]['message']['content']

print("ChatGPT API reply:", output_text)

在上面的代码中,我们首先设置我们的 API 密钥,然后指定要使用的 GPT-3.5-turbo 模型,设置输入文本并发送 API 请求,最后解析响应并输出 ChatGPT 回复。 有一些注意事项


新接口:原来使用text-davinci-002模型,我们使用openai.Completion.create接口,现在新的gpt-3.5-turbo应该使用openai.ChatCompletion.create接口。


新增参数:第一个参数设置model模型名称,第二个参数为会话列表

语音转文本的 Whisper API

为什么要提供对话列表? 因为API调用是单接口请求,不会自动记录之前的聊天信息,没有上下文。 为了让 ChatGPT 在一次请求中了解你的上下文,你需要提供这样一个完整的对话列表,比如这个对话

import openai


openai.ChatCompletion.create(

   model="gpt-3.5-turbo",

   messages=[

     {"role": "system", "content": "你是个好帮手吗?"},

          {"role": "user", "content": "谁赢得了 2020 年的世界大赛冠军?"},

          {"role": "assistant", "content": "洛杉矶道奇队赢得了 2020 年世界大赛冠军。"},

          {"role": "user", "content": "在哪里播放?"}

     ]

)

每个对话消息都需要提供角色和内容。 共有三种角色:系统、用户或助手。


system:系统消息相当于管理员,可以设置助手的行为和特征。 在上面的示例中: 你是个好帮手吗?。

user: 用户消息就是我们自己,可以由用户来询问,也可以直接让开发者提前搭建一些提示。 一些参考 ChatGPT 提示

assistant:助手消息是之前ChatGPT API提供的回复,存放在这里。 你也可以修改这个回复或者自己编一段对话,让整个对话更流畅。

如果您不需要对话框,只需提供一条用户消息,如之前的 Python 代码所示。


语音转文本 API

OpenAI 还发布了支持语音转文本的 Whisper API。 它提供了一个large-v2模型,易于使用,价格为0.006美元/分钟,可以按需访问,高度优化的服务堆栈可以确保更快的性能。

Whisper API 可通过转录(以源语言转录)或翻译(转录成英语)端点使用,并接受多种格式(m4a、mp3、mp4、mpeg、mpga、wav、webm):

一个简单的示例

curl https://api.openai.com/v1/audio/transcriptions \

   -H "Authorization: Bearer $OPENAI_API_KEY" \

   -H "Content-Type: multipart/form-data" \

   -F model="whisper-1" \

   -F file="@/path/to/file/openai.mp3"

Interface response format //接口响应格式

{

   "text": "想象一下你曾经有过的最疯狂的想法……"

}

Use in Python

import openai


file = open("/path/to/file/openai.mp3", "rb")

transcription = openai.Audio.transcribe("whisper-1", f)


print(transcription)

以上只是一个简单的例子,展示了如何使用 Python 通过 ChatGPT API 发送请求,您可以根据需要使用 ChatGPT API 来完成更复杂的任务。


壹涵网络我们是一家专注于网站建设、企业营销、网站关键词排名、AI内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。

我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!

点赞(47) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部