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,分别指向数组的起始位置和末尾位…...
多处理器一致协议(MSI)协议详细介绍
多处理器一致协议 MSI 协议详细介绍 #mermaid-svg-2lc6AxM2mRiND4C0 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-2lc6AxM2mRiND4C0 .error-icon{fill:#552222;}#mermaid-svg-2lc6AxM2mRiND4C0 .error-text{fill:…...
SSH实验5密钥登录Linuxroot用户(免密登录)
当用户尝试通过SSH连接到远程服务器时,客户端会生成一对密钥:公钥和私钥。公钥被发送到远程服务器,并存储在服务器的~/.ssh/authorized_keys文件中。而私钥则由客户端保管,不会传输给服务器。 在连接过程中,客户端使用…...
2024 网鼎杯 - 青龙组 Web WP
2024 网鼎杯 - 青龙组 WEB - 02 打开容器一个登录界面,随便输入账号密码可以进到漏洞界面 这里有一个发送给boss的功能,一眼xss 有三个接口:/flag 、/update 、/submit /flag :要求boss才能访问,/update …...
ORACLE 闪回技术简介
闪回技术是若干技术的集合 包含对数据库整体的闪回 对表的闪回 对事务的闪回 经典面试题面试题:简述Oracle数据库闪回技术? 1.闪回Oracle数据库 2.闪回表 3.闪回事务 数据库闪回 要想实现数据库闪回 1.必须配置数据库的恢复区 SQL> show parameter …...
【笔记】LLC电路工作频点选择 2-2 开关管与滤波压力
LLC谐振变换器稳态工作波形分析 - 知乎,上面这篇文的结论相较MPS那篇文章的结论更严格。我们分析一下它的频点选择为什么会更窄: 1. LLC电路模型 电流滞后的特性就是电路呈感性注意这里也是开关管ZVS开通。 2.工作循环的波形 iLm的波形,最终…...
【CUDA】认识CUDA
目录 一、CUDA编程 二、第一个CUDA程序 三、CUDA关键字 四、device管理 4.1 初始化 4.2 Runtime API查询GPU信息 4.3 决定最佳GPU CUDA C 编程指南CUDA C在线文档:CUDA C 编程指南 CUDA是并行计算的平台和类C编程模型,能很容易的实现并行算法。只…...
Linux(CentOS)yum update -y 事故
CentOS版本:CentOS 7 事情经过: 1、安装好CentOS 7,系统自带JDK8,版本为:1.8.0_181 2、安装好JDK17,版本为:17.0.13 3、为了安装MySQL执行了 yum update -y(这个时候不知道该命令的…...
AI绘画赚钱秘籍!掌握ai绘画赚钱技巧,开启副业新篇章,ai绘画赚钱实战指南!
AI绘画赚钱:方法与策略 一、引言 随着人工智能技术的日益发展,AI绘画作为新兴领域,正逐渐成为赚钱的新途径。本文将从多个角度探讨AI绘画赚钱的完整策略,帮助读者深入了解并把握这一领域的商机。 二、AI绘画赚钱的主要方式…...
HCIP-HarmonyOS Application Developer V1.0 笔记(四)
平板/折叠屏设计 自适应动态布局:相对拉伸、相对缩放、延伸布局 响应式动态布局:挪移布局、重复布局、瀑布布局 Sketch 插件 设计系统:提供了 HarmonyOS 设计语言中定义的视觉参数和设计资源文件。 控件库:按类别组织控件&…...
【前端】Svelte:组件封装与使用
在 Svelte 中,组件化是开发的核心理念。将页面的不同部分封装成独立组件,不仅可以提升代码的复用性,还能让项目的结构更加清晰。在本文中,我们将介绍如何创建、封装、引入和使用 Svelte 组件,帮助你快速上手 Svelte 的…...
兰州网站订制/徐州百度推广公司
要想解决ie6背景不透明的方法有很多有简单有复杂的,所以在这里分享一个屡试不爽的方法,该方法只需要调用一个叫 iepng.js 的脚本即可让你彻底远离ie6 png背景不透明。 step1: 将iepng.js脚本放到js文件夹内 step2: 在<head></head>头部标签内…...
怎么做解析视频网站/重庆seo小潘大神
java中一个对象的完整生命周期涉及java平台的很多技术。在创建一个java对象之前,需要先由虚拟机加载该类,然后对该java类进行链接和初始化。初始化完成之后,才创建出该类的对象实例。java对象也有自己的初始化过程,主要通过构造方…...
游戏网站建设方案书/全网整合营销
declare ff int ,delayTime datetimeset ff round(rand()*9901,0) --随机1-991的整数set delayTime00:00:00:cast(ff as varchar)--延时的时间waitfor delay delayTime exec sp_PayOnlineResult Orderid..............................
小程序开发定制开发/网站优化排名哪家好
题目链接 注解在代码中 // ConsoleApplication1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 #pragma warning(disable:4996); #include <iostream> #include<stdio.h> #include<algorithm> #include<string.h> #include&…...
政府网站集约化建设完成情况/站长工具查询seo
Java面试题之:基于 Redis 分布式锁一二三一 获取锁的时候,使用 setnx(SETNX key val:当且仅当 key 不存在时,set 一个 key为 val 的字符串,返回 1;若 key 存在,则什么都不做…...
网站怎么添加横幅/军事新闻头条最新消息
好几天没更图片爬虫了,今天就简单的趴一下美桌网: 运行效果如下: 其中,每位明星单独一个文件夹,写真的册也是单独一个文件夹,非常的银杏 源码: #!/usr/bin/env python # -*- coding: utf-8 -*…...