Project Icon

chatgpt

轻量级PHP实现的ChatGPT接口调用框架

这是一个基于PHP的ChatGPT接口调用框架,无需数据库即可快速部署。项目支持流式输出、多种GPT模型、Markdown显示和连续对话等功能。此外,还包含API_KEY轮询、图像生成和访问日志等实用特性。该框架适合个人开发者或小型团队快速构建ChatGPT应用,是一个轻量级且功能丰富的开源方案。

chatgpt

写在最前:

ChatGPT的横空出世真的改变了世界,用过的人都知道ChatGPT完全可以作为生产力工具应用在很多领域。可以说ChatGPT是最近几年又一个的巨大风口,目前大量投资机构和政府部门都在鼓励和支持相关行业的发展。如果您也有使用ChatGPT赚钱或创业的想法,欢迎免费进群讨论,二维码在本文最后。群里有很多志同道合的朋友一起分享资讯,分享知识,对接资源。另外请点下右上角的小星星,方便您随时找到本项目。

首次使用配置:

请访问 http://你的域名/key.php 配置您的API_KEY列表,程序将全局自动循环调用。默认用户名:admin,默认密码:admin@2023。默认用户名密码可以在key.php文件中修改。

本项目完全开源,是PHP版调用OpenAI的API接口进行问答的Demo,有以下特性和功能:

  1. 对PHP版本无要求,不需要数据库。核心代码只有几个文件,没用任何框架,修改调试很方便。
  2. 采用stream流模式通信,一边生成一边输出,响应速度全网最快。
  3. 支持GPT-3.5-Turbo和GPT-4等各种模型(后者需要修改下默认model名称)。
  4. 支持Markdown格式文本显示,如表格、代码块。对代码进行了着色,提供了代码复制按钮,支持公式显示。
  5. 支持多行输入,文本框高度自动调节,手机和PC端显示都已做适配。
  6. 支持一些预设话术,支持上下文连续对话,AI回答途中可以随时打断。
  7. 支持错误处理,OpenAI接口返回错误时可以看到具体原因。
  8. 可以实现区分内外网IP,内网直接访问,外网通过BASIC认证后可访问。
  9. 可以实现页面输入自定义API_KEY使用,方便分享给网友或朋友使用。
  10. 服务器自动记录所有访问者的对话日志和IP地址,方便管理员查询。
  11. 支持API_KEY自动轮询,解决5美元账户每分钟限制查询3次的问题。
  12. 支持调用OpenAI官方接口画图,提问的第一个字是“画”即可生成图片。

本项目定位是个人或朋友之间分享使用,轻量设计,不计划引入数据库等复杂功能。有需要的用户可以自行拿去修改,版权没有,改动不究。对于项目UI或其他功能有改进想法的朋友欢迎提交PR,或者在Issues或Discussions进行讨论。


测试网址:http://mm1.ltd

t1 t2 t3


本项目常见问题:

  1. 在国内环境使用提示OpenAI连接超时

是的,OpenAI官方不支持中国(含港澳台地区)IP访问接口。有以下几种解决方案:

a. 使用境外服务器部署本项目,如美国、韩国、日本等,比如腾讯云日本就可以。

b. 如果本项目部署在电脑上,可以用电脑上的HTTP-PROXY代理,把stream.php里面注释掉的“curl_setopt($ch, CURLOPT_PROXY, " http://127.0.0.1:1081 ");”修改一下即可。

c. 使用反向代理服务,将OpenAI接口地址反代到某个网址,把“curl_setopt($ch, CURLOPT_URL, ' https://api.openai.com/v1/chat/completions ');”这行里面的网址改成反代后的网址即可。

使用后两种解决方案的时候可能会因为代理的缓存机制造成stream模式的实时性受影响,另外可能也增加了额外的访问延迟。

  1. 关于反向代理的配置方式

如果你有海外服务器,使用nginx反代最简单,用宝塔搭建反代的方案可以参考这篇文章:https://blog.csdn.net/weixin_43227851/article/details/133440520

如果没有海外服务器,可以用cf worker免费建一个,前提是你要有一个域名,几块钱就能注册一个。搭建自己的cf worker教程在这里:https://github.com/noobnooc/noobnooc/discussions/9 。如果你连域名也不想注册,也可以用别人现成的反代地址,比如下面这个:https://openai.1rmb.tk/v1/chat/completions 。地址是群友提供的,不确定什么时候失效,用的人比较多时可能会有点卡,大家也可以进群求一个。

2023-11-16日OpenAI的API接口地址将很多IP屏蔽,包括一些香港IP和CloudFlare的IP,当天在国内服务器上使用cf worker搭建反代地址的方案不可用。一两天后OpenAI恢复了香港IP和CF访问OpenAI接口地址,目前用CF做反代的方案还是可行的。后续OpenAI也许还会偶尔抽风,大家可以进群第一时间了解类似的突发事件。

  1. 关于Stream流模式的原理,为什么你部署的不像我的那么快

本项目前端使用的是Javascript的EventSource方式与后端进行通信,可以实现数据的流模式即时传输,而OpenAI接口也是支持数据实时生成实时传输的,因此才能实现问答的秒回。EventSource模式的缺点是不支持POST方式传递数据,GET方式对数据长度有限制,cookie也有限制,所以选择了分两步请求后端,采用SESSION传递数据。至于为什么你用我的代码部署的网站速度比较慢,主要原因除了服务器的问题,可能还有PHP环境的问题。PHP如果想实现流式输出需要关闭输出缓存,可能需要修改apache或nginx及php.ini的配置,具体修改方式可以自行搜索或者到群里问群友。

  1. 如果想实现像Demo站一样输入API_KEY才能使用的功能,怎么修改代码

在index.php文件中取消掉相关的注释就行了,为了美观建议把上面的“连续对话”部分注释掉,要不然手机访问不是很友好。注释“连续对话”不影响网站运行,默认就是包含上下文的连续对话。

  1. 是否支持docker?

有网友提出想使用docker方式运行本项目,其实随便找一个nginx+php环境的docker,把path指向本项目所在的目录就行了。这里提供热心网友提供的docker镜像:gindex/nginx-php。使用方式如下:

docker pull gindex/nginx-php
docker run -itd -v /root/chatgpt(本地目录):/usr/share/nginx/html --name nginx-php -p 8080(主机端口):80 --restart=always gindex/nginx-php

还有另一位热心网友基于本项目在github上的docker版chatgpt,网址:https://github.com/hsmbs/chatgpt-php ,也可以用。

  1. 是否支持Windows客户端?

喜欢使用独立Windows桌面应用的朋友可以下载Release里面的exe文件运行,其实就是一个指向我演示网站的浏览器套个壳。

  1. 有没有可以注册会员的商业运营版?

由于很多群友都有类似需求,我开发了一个款基于PHP+Mysql环境的商业版软件,已正式发布。有兴趣的话您可以访问这里查看详情:https://github.com/dirk1983/chatgpt_commercial


附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


对chatgpt感兴趣的同学们欢迎加群讨论。我已建了10个微信群,群公告里有近5000群友中所有卖家提供的各种服务网址,有任何和AI有关的需求都可以找到相关的产品。群里也有很多大神,有问题可以互相帮助。

由于目前最新的群里超过200人,请加我小号拉进群。

微信截图_20230306154434

有热心网友建议我放个打赏码,各位如果真的想表达感谢,小额即可。

打赏码

最后,我还做了个在微信个人订阅号中通过调用OpenAI最新接口和gpt-3.5-turbo模型实现ChatGPT聊天机器人的功能,已开源,需要的朋友也可以拿去。 https://github.com/dirk1983/chatgpt-wechat-personal

Star History

Star History Chart

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号