0

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

 1 year ago
source link: https://51.ruyo.net/18311.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

我是小马甲~ • 2023-03-03 • 开源代码, 技术, 教程资源, 网络资源 • 1408 阅读
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' \ "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日早上测试接口的内容

dc4d74d4a9daf4637098264aa46a8088.png

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

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

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

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

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

7251e4b9310c557e29b4a03a333084f5.png

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

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

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

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

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

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

3c7b646b51883baa348c713825f0ce55.png

  • 境外服务器反代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;




About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK