一、ChatGPT
的参考API
地址
二、官网相关API
介绍
下图是正常请求时候的请求头和body
体,这样请求的话是等结果都加载出来后一起出现,并且返回的结果也是标准的json
格式。
如果想要实现和ChatGPT
一样的效果,官网的这样推荐的,如下图
从上图可以看到它用的是sse
实现的,并且请求的body
体加上Stream:true
就可以。请求过来的格式可以看到不是标准的json
格式,如下图,所以我们要处理成json
格式,并拿到数据
三、具体实现代码
我们要怎么拿到数据并实现流式输出,具体代码如下:
// 发送消息的方法
// 参数 content 是发送的消息
function sendAnswer(content) {
// 请求的body体
const data = JSON.stringify({
model: 'gpt-3.5-turbo',
messages: [{
role: 'user', content: content }],
stream: true
})
fetch('https://api.openai.com/v1/chat/completions', {
method: 'POST',
// 这个headers包括 "Content-Type":"application/json" 和 "Authorization", `Bearer ${key}`
// 其中这个key是你的登录密钥
headers: headers