PHP版调用OpenAI的API接口进行问答源码,代码已更新为调用最新的gpt-3.5-turbo模型。 采用Stream流模式通信,一边生成一边输出,响应速度超过官网。
前端采用JS的EventSource,还将Markdown格式文本进行了排版,对代码进行了着色处理。服务器记录所有访问者的对话日志。
很多人想要Demo网站中自己输入API-KEY的功能,已经把代码加上了,取消index.php的注释就行了。为了美观可以把上面的“连续对话”部分注释掉,要不然手机访问不是很友好。
2023-03-16 更新版本日志:
支持表格和公式的显示;
优化了代码显示逻辑;
2023-03-11 更新版本日志:
支持多行输入,文本框高度自动调节;
AI回答途中可以随时打断;
增加了API_KEY被封禁和未提供API_KEY错误的提示;
增加了一些预设话术;
对手机浏览器进行了适配优化;
修复了AI回复内容包含某些代码时,显示效果异常的bug;
增加了代码复制按钮;
在国内访问OpenAI的新接口会提示超时,如果你本地有HTTP-PROXY,可以把stream.php里面注释掉的“curl_setopt($ch, CURLOPT_PROXY, " http://127.0.0.1:1081 ");”修改一下,这样就可以通过你本地的代理访问openai的接口。
如果你自己没代理,可以使用热心网友提供的反代地址,把“curl_setopt($ch, CURLOPT_URL, ' https://api.openai.com/v1/chat/completions ');”这行里面的网址改成' https://openai.1rmb.tk/v1/chat/completions ',不确定那个什么时候会失效,也可以进群再找其他群友求一个。不过反代的方式访问速度比较慢,最好还是自己买个海外服务器吧,每个月不到20元的有的是。
核心代码只有几个文件,没有用任何框架,修改调试很方便,只需要修改stream.php中的API_KEY即可使用。
index.php前面的代码还可以实现区分内外网IP,内网直接访问,外网通过BASIC认证后可访问。可以根据需要删掉注释并进行修改。
部署好了可以放在公司内网,让同事们一起体验chatGPT的强大功能。也可以发到朋友圈分享,互联网技术大牛的形象直接拉满。
FAQ:
之前OpenAI官方API提供的最先进的模型是text-davinci-003,比官网的ChatGPT稍弱一些。最近OpenAI终于放出了gpt-3.5-turbo模型,理论上和官网的ChatGPT几乎没区别了。只是由于接口限制,问题和答案最多4096个tokens,实测1个汉字算2个tokens。
OpenAI官网的模型和接口调用介绍:
https://platform.openai.com/docs/models/moderation
https://platform.openai.com/docs/api-reference/chat/create
https://platform.openai.com/docs/guides/chat/introduction
https://platform.openai.com/docs/api-reference/models/list
相关文件下载地址
文件名 | 文件大小 | |
---|---|---|
PHP版调用OpenAI的API接口进行ChatGPT问答源码 | 201KB | 立即下载 |
文章为作者独立观点不代表轻创业客+立场,未经允许不得转载。