最近,OpenAI
发布了 ChatGPT
新的模型。据 OpenAI
的官方消息,本次开放了 ChatGPT
和 Whisper
的模型 API
,可以供用户使用并集成到他们的应用程序中。本次发布的 ChatGPT
的模型为 GPT-3.5-turbo
,从 OpenAI
的官方网站上查询,已经可以查到这个模型的使用示例。本次发布的模型,能力上比之前开放的模型能力要强很多,同时在价格上还要更低,价格为 0.002 美元/每1000 tokens
,比之前的模型整整便宜了 10 倍!
废话少说,本文就简单的讲讲如何使用最新的 GPT-3.5-turbo
模型吧。从 OpenAI
官方文档里查阅了一下示例代码,官方提供了 Python
的示例代码,我们可以从中提取到所需要发送的报文内容。
# Note: you need to be using OpenAI Python v0.27.0 for the code below to work
import openai
openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who won the world series in 2020?"},
{"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},
{"role": "user", "content": "Where was it played?"}
]
可以发现,GPT-3.5-turbo
的 API
需要发送的报文主体有 model
和 messages
两个部分,其中 messages
可以发送多条记录。在 message
的示例文本里,有三种角色,通过实测,这三种角色分别代表:
- system: 可以理解为
AI
的人设 - user: 用户发送的信息
- assistant: 模型返回给你的信息
这样,我们就知道通过上述信息,知道 http
需要发送的报文格式了,它是一个 JSON
的数据格式
{
"model":"gpt-3.5-turbo",
"messages":[
{"role": "system", "content": "你是一个编程助手,能够帮我编写C#代码,并且给我提示"},
{"role": "user", "content": "你好,你叫什么名字"},
{"role": "assistant", "content": "你好,我是一个语言模型AI,没有实体名字,你可以随意称呼我。"}
]
}
访问的接口是
https://api.openai.com/v1/chat/completions
其中,Header
部分信息:
- ContentType:application/json
- Authorization:Bearer 你的
apikey
使用 API
调试助手 postman
实测一下,在 Header
里写入你的 api key
,raw
信息选择 json
,根据你的需要发送 JSON
报文,OpenAI
返回的数据格式如下所示
{
"id": "chatcmpl-6pWU3qzNuTBLU7U0tUw6NqaQhWbHF",
"object": "chat.completion",
"created": 1677737615,
"model": "gpt-3.5-turbo-0301",
"usage": {
"prompt_tokens": 39,
"completion_tokens": 35,
"total_tokens": 74
},
"choices": [
{
"message": {
"role": "assistant",
"content": "您好,我是个AI助手,没有具体的名字。您需要我帮助您处理json文件格式吗?"
},
"finish_reason": "stop",
"index": 0
}
]
}
拿到接口返回的 JSON
数据,可以根据自己的需要解析就可以了,这里 content
里的文本就是接口返回给你的回答。