dc-aichat(一款支持ChatGPT+智谱AI+讯飞星火+书生浦语大模型+Kimi.ai+MoonshotAI+豆包AI等大模型的AIGC源码)
dc-aichat
一款支持ChatGPT+智谱AI+讯飞星火+书生浦语大模型+Kimi.ai+MoonshotAI+豆包AI等大模型的AIGC源码。全网最易部署,响应速度最快的AIGC环境。PHP版调用各种模型接口进行问答和对话,采用Stream流模式通信,一边生成一边输出。前端采用EventSource,支持Markdown格式解析,支持公式显示,代码有着色处理。页面UI简洁,支持上下文连续会话。源码只有几个文件,没用任何框架,支持所有PHP版本,全部开源,极易二开,一切全免费。演示站现在可以免费使用智谱AI、讯飞星火、书生浦语大模型、Kimi.ai(Moonshot AI)、豆包AI等对话了。
写在最前:
ChatGPT的横空出世真的改变了世界,用过的人都知道ChatGPT完全可以作为生产力工具应用在很多领域。可以说ChatGPT是最近几年又一个的巨大风口,目前大量投资机构和政府部门都在鼓励和支持相关行业的发展。近几年,国内大模型雨后春笋版蓬勃发展,出现了很多优秀的大模型。这个源码Demo就是整合了国内比较流行的几个大模型。
目前本源码支持模型如下:ChatGPT、智谱AI、讯飞星火、书生浦语大模型、Kimi.ai(Moonshot AI)、豆包AI,等等。想接入更多的模型,可以自己修改代码接入。
请点下右上角的小星星,方便您随时找到本项目。
首次使用配置:
1、编辑stream.php文件,从第19行开始,修改为自己的API接口,一般修改API密钥即可,请求URL是相同的。(可以到对应的大模型官网申请API和密钥)
2、编辑index.php文件,从第72行开始,修改前端的可选模型列表,注意value值要跟stream.php中自己设置的值一致。
3、编辑setsession.php文件,第11行,修改默认模型编码。这样用户打开网页就默认使用这个模型。
修改完了上传到网站服务器即可使用,可以运行在根目录也可以二级目录。
本项目完全开源,是PHP版调用大模型的API接口进行问答的Demo,有以下特性和功能:
- 对PHP版本无要求,不需要数据库。核心代码只有几个文件,没用任何框架,修改调试很方便。
- 采用stream流模式通信,一边生成一边输出,响应速度全网最快。
- 支持ChatGPT、智谱AI、讯飞星火、书生浦语大模型、Kimi.ai(Moonshot AI)、豆包AI等各种模型(想接入更多的模型,可以自己修改代码接入)。
- 支持Markdown格式文本显示,如表格、代码块。对代码进行了着色,提供了代码复制按钮,支持公式显示。
- 支持多行输入,文本框高度自动调节,手机和PC端显示都已做适配。
- 支持一些预设话术,支持上下文连续对话,AI回答途中可以随时打断。
- 支持错误处理,接口返回错误时可以看到具体原因。
- 支持禁止外部URL调用本站接口。
本项目定位是个人或朋友之间分享使用,轻量设计,不计划引入数据库等复杂功能。有需要的用户可以自行拿去修改。对于项目UI或其他功能有改进想法的朋友欢迎提交PR,或者在Issues或Discussions进行讨论。
演示网站
https://5300.cn/chat/
演示站现在可以免费使用智谱AI、讯飞星火、书生浦语大模型、Kimi.ai(Moonshot AI)、豆包AI等对话了。全网最易部署,响应速度最快的AIGC环境。PHP版调用各种模型接口进行问答和对话,采用Stream流模式通信,一边生成一边输出。前端采用EventSource,支持Markdown格式解析,支持公式显示,代码有着色处理。页面UI简洁,支持上下文连续会话。源码只有几个文件,没用任何框架,支持所有PHP版本,全部开源,极易二开,一切全免费。





更新说明
版本1.0.0,主要更新内容:
1、新增:智谱AI、讯飞星火、书生浦语大模型、Kimi.ai(Moonshot AI)、豆包AI等模型。
2、前端可以自由选择模型。
3、增加了防止外网盗用接口的功能。
特别鸣谢
dc-aichat使用了以下开源代码:
dirk1983/chatgpt、layer、jquery等。
特别致谢!
源码下载:
支持本程序,请到Gitee和GitHub给我们点Star!
Gitee:dc-aichat(一款支持ChatGPT+智谱AI+讯飞星火+书生浦语大模型+Kimi.ai+MoonshotAI+豆包AI等大模型的AIGC源码): 演示站可以免费使用智谱AI、讯飞星火、书生浦语大模型、Kimi.ai(Moonshot AI)、豆包AI等对话了。全网最易部署,响应速度最快的AIGC环境。PHP版调用各种模型接口进行问答和对话,采用Stream流模式通信,一边生成一边输出。前端采用EventSource,支持Markdown格式解析,支持公式显示,代码有着色处理。页面UI简洁,支持上下文连续会话。支持所有PHP版本,极易二开。
https://gitee.com/dengzhenhua/dc-aichat
GitHub:https://github.com/dengcao/dc-aichat
本项目常见问题:
1、在国内环境使用提示OpenAI连接超时?
是的,OpenAI官方不支持中国(含港澳台地区)IP访问接口。解决方案:使用境外服务器部署本项目,如美国、韩国、日本等,比如腾讯云日本就可以。
2、大模型的API接口去哪里申请?
百度搜索一下对应的模型名称,比如:智谱AI。找到官网后,注册账号,按提示申请API即可。
目前,国内有很多接口是免费的,比如:智谱AI(GLM-4-Flash)、
3、关于Stream流模式的原理,为什么你部署的不像我的那么快
本项目前端使用的是Javascript的EventSource方式与后端进行通信,可以实现数据的流模式即时传输,而OpenAI接口也是支持数据实时生成实时传输的,因此才能实现问答的秒回。EventSource模式的缺点是不支持POST方式传递数据,GET方式对数据长度有限制,cookie也有限制,所以选择了分两步请求后端,采用SESSION传递数据。至于为什么你用我的代码部署的网站速度比较慢,主要原因除了服务器的问题,可能还有PHP环境的问题。PHP如果想实现流式输出需要关闭输出缓存,可能需要修改apache或nginx及php.ini的配置,具体修改方式可以自行搜索。
4、如果想实现像Demo站一样的功能,怎么修改代码?
参考前面的:首次使用配置说明。
5、目前国内AI大模型可以做些什么?
目前国内大都为认知智能模型,可以帮助您完成以下任务(以下为AI回答内容):
语言理解:我可以准确理解您提出的各种问题或指令,并做出相应的回应。
问答服务:我可以回答各种问题,包括常识性问题、学术性问题、技术性问题等等。
提供建议:如果您需要一些建议或者意见,我可以为您提供参考和建议。
翻译服务:我可以帮您翻译多种语言之间的文本内容,包括中文、英文、法文、德文、日文等等。
写作辅助:如果您需要写论文、报告或者其他类型的文档,我可以为您提供写作方面的帮助和指导。
娱乐休闲:如果您感到无聊或者需要一些娱乐休闲,我可以与您聊天、玩游戏、听音乐等等。
情感交流:我还能在一定程度上模拟人类的情感反应,与您进行更自然的对话互动。
知识查询:如果您需要查找特定的资料或数据,我可以迅速为您提供相关信息。
相关文章:
dc-aichat(一款支持ChatGPT+智谱AI+讯飞星火+书生浦语大模型+Kimi.ai+MoonshotAI+豆包AI等大模型的AIGC源码)
dc-aichat 一款支持ChatGPT智谱AI讯飞星火书生浦语大模型Kimi.aiMoonshotAI豆包AI等大模型的AIGC源码。全网最易部署,响应速度最快的AIGC环境。PHP版调用各种模型接口进行问答和对话,采用Stream流模式通信,一边生成一边输出。前端采用EventS…...
检索增强生成
检索增强生成 检索增强生成简介 检索增强生成(RAG)旨在通过检索和整合外部知识来增强大语言模型生成文本的准确性和丰富性,其是一个集成了外部知识库、信息检索器、大语言模型等多个功能模块的系统。 RAG 利用信息检索、深度学习等多种技术…...
操作系统--进程
2.1.1 进程的概念、组成、特征 进程的概念 进程的组成 进程的特征 总结 2.1.2 进程的状态与转换,进程的组织 创建态、就绪态 运行态 阻塞态 终止态 进程状态的转换 进程的组织 链式方式 索引方式 2.1.3 进程控制 如何实现进程控制? 在下面的例子,将PCB2的是state设为1和和把…...
abap 可配置通用报表字段级日志监控
文章目录 1.功能需求描述1.1 功能1.2 效果展示2.数据库表解释2.1 表介绍3.数据库表及字段3.1.应用日志数据库抬头表:ZLOG_TAB_H3.2.应用日志数据库明细表:ZLOG_TAB_P3.3.应用日志维护字段配置表:ZLOG_TAB_F4.日志封装类5.代码6.调用方式代码7.调用案例程序demo1.功能需求描述 …...
OpenCV视觉分析之目标跟踪(11)计算两个图像之间的最佳变换矩阵函数findTransformECC的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 根据 ECC 标准 78找到两幅图像之间的几何变换(warp)。 该函数根据 ECC 标准 ([78]) 估计最优变换(warpMatri…...
PGMP-串串0203 项目集管理绩效域战略一致性
1.项目集管理绩效域 2.战略一致性 战略一致性包含内容商业论证BC项目集章程项目集路线图环境评估项目集风险管理策略 前期formulation sub-phaseplanning sub-phase组织的战略计划项目集风险管理策略项目集管理计划商业论证BC项目集章程项目集路线图环境评估...
HiveMetastore 的架构简析
HiveMetastore 的架构简析 Hive Metastore 是 Hive 元数据管理的服务。可以把元数据存储在数据库中。对外通过 api 访问。 hive_metastore.thrift 对外提供的 Thrift 接口定义在文件 standalone-metastore/src/main/thrift/hive_metastore.thrift 中。 内容包括用到的结构体…...
【WRF模拟】全过程总结:WPS预处理及WRF运行
【WRF模拟】全过程总结:WPS预处理及WRF运行 1 数据准备1.1 嵌套域设置(Customize domain)-基于QGis中gis4wrf插件1.2 静态地理数据1.2.1 叶面积指数LAI和植被覆盖度Fpar(月尺度)1.2.2 地面反照率(月尺度)1.2.3 土地利用类型+不透水面积1.2.4 数据处理:geotiff→tiff(W…...
linux基础理解和使用 iptables 防火墙
本文档旨在编写一份详尽的 iptables基础 使用指南,涵盖其核心概念、使用方法以及高级技巧。将结合图表和示例,更好地理解和应用 iptables。 1. 什么是 iptables? iptables 是 Linux 系统自带的包过滤防火墙,它与内核空间的 netf…...
【系统架构设计师】2024年下半年真题论文: 论软件维护及其应用(包括参考素材)
更多内容请见: 备考系统架构设计师-专栏介绍和目录 文章目录 真题题目(2024年下半年 试题2)论文素材参考软件维护的类型软件维护的方法软件维护应用案例分析软件维护面临的挑战与应对策略真题题目(2024年下半年 试题2) 请围绕 “论软件维护及其应用” 论题,依次从以下三…...
【数学二】线性代数-矩阵-初等变换、初等矩阵
考试要求 1、理解矩阵的概念,了解单位矩阵、数量矩阵、对角矩阵、三角矩阵、对称矩阵、反对称矩阵和正交矩阵以及它们的性质. 2、掌握矩阵的线性运算、乘法、转置以及它们的运算规律,了解方阵的幂与方阵乘积的行列式的性质. 3、理解逆矩阵的概念,掌握逆矩阵的性质以及矩阵可…...
MinerU容器构建教程
一、介绍 MinerU作为一款智能数据提取工具,其核心功能之一是处理PDF文档和网页内容,将其中的文本、图像、表格、公式等信息提取出来,并转换为易于阅读和编辑的格式(如Markdown)。在这个过程中,MinerU需要利…...
BFS 解决拓扑排序
BFS 解决拓扑排序 1.课程表1.1. 题⽬链接:1.2 题⽬描述:1.3. 解法:1.4 代码 2. 课程表2.1题⽬链接:2.2 题⽬描述:2.3解法:2.4代码 3. ⽕星词典(hard)3.1题⽬链接:3.2 题⽬…...
MySQL 程序设计课程复习大纲
作为一门基础的 MySQL 程序设计课程,期末复习的重点应放在常见的数据库操作、基本查询、数据建模、关系型数据库的规范化设计等方面。以下是针对基础课程的 MySQL 期末复习知识点。 1. MySQL 基础概念与数据库操作 数据库基础 数据库与表的概念数据库管理系统&…...
C++ : STL容器(适配器)之stack、queue剖析
STL容器适配器之stack、queue剖析 一、stack、queue的接口(一)stack 接口说明(二)queue 接口说明 二、stack、queue的模拟实现(一)stack、queue是容器适配器stack、queue底层默认容器--deque1、deque概念及…...
nuxt3安装pinia报错500[vite-node] [ERR_LOAD_URL]问题解决
按照pinia官网步骤安装运送服务会报一个500[vite-node] [ERR_LOAD_URL]问题,查阅各个网站资料没有找到有用信息. 最后解决:在package.json中把pinia的版本给降回0.5.5版本之后就正常了 "dependencies": {"element-plus/icons-vue": "^2.3.1",&q…...
青少年编程能力等级测评CPA试卷(2)Python编程(一级)
青少年编程能力等级测评CPA试卷(2) Python编程(一级) (考试时间90分钟,满分100分) 一、单项选择题(共20题,每题3.5分,共70分) 下列语句的输出结果是( &am…...
wordpress判断page页与非page页
在WordPress中,你可以使用is_page()函数来判断当前页面是否为page类型。以下是如何使用这个函数的示例: <?php if (is_page()) {// 当前页面是page类型echo 这是一个Page页面; } else {// 当前页面不是page类型echo 这不是一个Page页面; } ?> …...
JavaScript 库-qs的使用
meta.query qs.parse(query)语句解析:qs.parse(query) qs 是一个常用的 JavaScript 库(全称为 query-string 或 qs),它用于处理 URL 查询字符串。qs.parse(query) 会将查询字符串解析成一个对象。举个例子: 假设有一…...
Leetcode 两数之和 Ⅱ - 输入有序数组
这段代码实现了在一个非递减排序的数组中找到两个数,使它们的和等于目标值的算法。算法使用了双指针技术,具体思想如下: 算法思想: 初始化指针:定义两个指针 left 和 right,分别指向数组的起始位置和末尾位…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成
一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...
【堆垛策略】设计方法
堆垛策略的设计是积木堆叠系统的核心,直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法,涵盖基础规则、优化算法和容错机制: 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则: 大尺寸/重量积木在下…...
快速排序算法改进:随机快排-荷兰国旗划分详解
随机快速排序-荷兰国旗划分算法详解 一、基础知识回顾1.1 快速排序简介1.2 荷兰国旗问题 二、随机快排 - 荷兰国旗划分原理2.1 随机化枢轴选择2.2 荷兰国旗划分过程2.3 结合随机快排与荷兰国旗划分 三、代码实现3.1 Python实现3.2 Java实现3.3 C实现 四、性能分析4.1 时间复杂度…...
Linux安全加固:从攻防视角构建系统免疫
Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...
《Offer来了:Java面试核心知识点精讲》大纲
文章目录 一、《Offer来了:Java面试核心知识点精讲》的典型大纲框架Java基础并发编程JVM原理数据库与缓存分布式架构系统设计二、《Offer来了:Java面试核心知识点精讲(原理篇)》技术文章大纲核心主题:Java基础原理与面试高频考点Java虚拟机(JVM)原理Java并发编程原理Jav…...
