ChatGPT模型GPT3.5官方API开放,优化升级开源代码(小福利)

ChatGPT模型GPT3.5官方API开放,优化升级开源代码

本博客发布了一系列关于OpenAI 以及 ChatGPT 文章。

OpenAI 在美国时间3月1日正式开放了ChatGPT模型GPT3.5的API。一下子大家有忙活起来了!

博主大概翻阅了一下相关内容,总结了一些点分享一下给大家。

主要还是介绍一下新的API使用,以及博主开源的NodeBB ChatGPT的代码升级过程。

关于账号注册,订阅ChatGPT Plus 等等问题。可以看本博的历史文章:OpenAI 

小广告

这里做一个小广告,我的小杂货铺,也许有你想要的内容!

 

 

计费情况

目前 gpt-3.5-turbo 价格相对于 gpt-3要优惠很多!

Chat(gpt-3.5)价格:$0.002 / 1K tokens

Davinci(gpt-3) 价格:$0.02 / 1K tokens

所以 gpt-3.5-turbo 模型价格更实惠一些!但是如果携带上下文提问,还是比较费tokens的!

1K tokens 大概是 750个单词,新注册用户送18美元体验价,大概能使用 900万个单词!

 

实现原理

其实在GPT-3模型已经很强大了!但是ChatGPT拥有上下文语境关联,官方最开始未提供GPT-3.5的时候。

博主在JIKE社区的ChatGPT代码中,利用引用历史回复的方式,也能实现上下文语境。体验还不错!

缺点就是有点费钱!因为每次向OpenAI提问的时候需要携带历史内容,会大量消耗tokens~

现在官方提供了更方便的形式!

 

接口介绍

目前ChatGPT 开放了2个模型:gpt-3.5-turbo  和 gpt-3.5-turbo-0301

这俩个模型什么区别?

gpt-3.5-turbo-0301模型 是 gpt-3.5-turbo模型的快照!gpt-3.5-turbo-0301不会自我更新,并于 2023 年 6 月 1 日结束。

 

如果你的代码使用的是官方的SDK需要更新到最新版本!比如Python OpenAI SDK 必须更新到0.27.0以上!

有些镜像可能同步会慢一些,可以直接从官方更新!

pip3 install -i https://pypi.python.org/simple/ openai==0.27.0

接口怎么调用?

 

官方DEMO

curl https://api.openai.com/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -d '{
  "model": "gpt-3.5-turbo",
  "messages": [{"role": "user", "content": "Hello!"}]
}'

 

相对于GPT-3的调用,有2处不一样

  • 接口地址
  • 参数prompt 换成 messages

messages的格式如下:

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?"}
    ]
)

 

messages里面是一个列表。列表的每一项是字典。

其中role 有三种角色:system,user,assistant

system,一般是消息的第一条,定一个这次交互的基调。比如这是一个翻译的AI,这是一个代码助手等等

user,指的是完美用户提到的问题

assistant,指的是AI回复的内容

这里列表顺序需要按照提问回答的顺序依次添加!

下图是3月2日早上测试接口的内容

 

 

代码升级

GPT-3 怎么无缝切换到 GPT-3.5?其实也简单,就调整一下参数即可。

历史文章:OpenAI ChatGPT 接入NodeBB社区论坛,轻松丰富社区内容

之前博主写过一个针对NodeBB的 ChatGPT 机器人。也已经完美支持了GPT-3.5模型!

从用户使用上和之前一样!

可以单一提问!也可以上下文提问!

仅需回复机器人的时候,引用历史帖子即可!

 

 

开源仓库

https://github.com/malaohu/nodebb-openai-chatgpt

博主已经将代码上传到Github,感兴趣的童鞋可以试一试!

 

域名被墙

就在3月2日凌晨调试代码的时候,突然发现OpenAI的API域名疑似被Q~

后来查询一看,果然~~~~

 

 

解决方法

  • 将代码服务运行在境外服务器上。
  • 国内服务器或者你本机,需要前置一个代理。这里有一个系列:GitHub国内加速 可以参考,举一反三!

  • 境外服务器反代OpenAI API域名,应该也有人会提供这样的服务。这种情况有利有弊,尽量还是自建!比如下面的Nginx配置。
server
{
    listen 8088;
    server_name _;
    location / {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass https://api.openai.com;
    }
    access_log logs/abccom.log;
}

 

阅读剩余
THE END