经验分享-如何使用http调用chatGPT-3.5-turbo模型API
Posted 阴沉的怪咖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了经验分享-如何使用http调用chatGPT-3.5-turbo模型API相关的知识,希望对你有一定的参考价值。
今天上午,就在工作群里收到了关于openAI发布chatGPT官方模型的消息分享。openAI这次的动作真的很快啊,没想到这么快就直接发布了chatGPT目前所使用的模型api。据Open AI在官方消息,本次开放了ChatGPT和Whisper的模型API,可以供用户使用并集成到他们的应用程序之中。本次发布的chatGPT的模型为[GPT-3.5-turbo],从openAI的官方网站上查询,已经可以查到这个模型的使用示例。本次发布的模型,能力上和目前我们用到的chatGPT是一模一样的,比之前开放的模型能力要强很多,同时在价格上还要更低,价格为0.002美元/每1000tokens ,比 之前的模型整整便宜了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?"
]
)
Python示例代码
可以发现,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,没有实体名字,你可以随意称呼我。"
]
发送的报文格式样例
接口的访服务地址是什么呢?我问了下chatGPT,给我的答案是:
https://api.openai.com/v1/chat/completions
Header信息:
①ContentType:application/json
②Authorization:Bearer 你的apikey
使用api调试助手实测一下,在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"里的文本就是接口返回给你的回答了。
注意:有一点要注意,观察发送的报文格式,可以发现,接口是希望我们把每次提问和接口返回的信息都放在报文里的,这样做可以让模型联系上下文,所以在自己编写代码的时候,记得把提问记录并更新到发送的报文主体里。
以上是关于经验分享-如何使用http调用chatGPT-3.5-turbo模型API的主要内容,如果未能解决你的问题,请参考以下文章