[开源]基于 AI 大语言模型 API 实现的 AI 助手全套开源解决方案

原文:[开源]基于 AI 大语言模型 API 实现的 AI 助手全套开源解决方案

一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

ChatGPT-Plus

这一套完整的系统,包括前端聊天应用和一个后台管理系统。系统有用户鉴权,你可以自己使用,也可以部署直接给 C 端用户提供 ChatGPT 的服务。

ChatGPT-PLUS 基于 AI 大语言模型 API 实现的 AI 助手全套开源解决方案,自带运营管理后台,开箱即用。集成了 OpenAI, Azure, ChatGLM,讯飞星火,文心一言等多个平台的大语言模型。集成了 MidJourney 和 Stable Diffusion AI绘画功能。主要有如下特性:

  • 完整的开源系统,前端应用和后台管理系统皆可开箱即用。

  • 基于 Websocket 实现,完美的打字机体验。

  • 内置了各种预训练好的角色应用,比如小红书写手,英语翻译大师,苏格拉底,孔子,乔布斯,周报助手等。轻松满足你的各种聊天和应用需求。

  • 支持 OPenAI,Azure,文心一言,讯飞星火,清华 ChatGLM等多个大语言模型。

  • 支持 MidJourney / Stable Diffusion AI 绘画集成,开箱即用。

  • 支持使用个人微信二维码作为充值收费的支付渠道,无需企业支付通道。

  • 已集成支付宝支付功能,支持多种会员套餐和点卡购买功能。

  • 集成插件 API 功能,可结合大语言模型的 function 功能开发各种强大的插件,已内置实现了微博热搜,今日头条,今日早报和 AI 绘画函数插件。

二、开源协议

使用MIT开源协议

使用须知

  1. 本项目基于 MIT 协议,免费开放全部源代码,可以作为个人学习使用或者商用。

  2. 如需商用必须保留版权信息,请自觉遵守。确保合法合规使用,在运营过程中产生的一切任何后果自负,与作者无关。

三、界面展示

功能截图

PC 端聊天界面

图片

AI 对话界面

图片

MidJourney 专业绘画界面

图片

Stable-Diffusion 专业绘画页面

图片

图片

绘图作品展

图片

AI应用列表

图片

会员充值

图片

自动调用函数插件

图片

图片

管理后台

图片

图片

图片

图片

移动端 Web 页面

图片

图片

图片

图片

四、功能概述

新版本已经实现的功能如下:

  1. 引入用户体系,新增用户注册和登录功能。

  2. 聊天页面改版,实现了跟 ChatGPT 官方版本一致的聊天体验。

  3. 创建会话的时候可以选择聊天角色和模型。

  4. 新增聊天设置功能,用户可以导入自己的 API KEY

  5. 保存聊天记录,支持聊天上下文。

  6. 重构后台管理模块,更友好,扩展性更好的后台管理系统。

  7. 引入 ip2region 组件,记录用户的登录IP和地址。

  8. 支持会话搜索过滤。

  9. 支持微信支付充值

TODOLIST

  • 整合 Midjourney AI 绘画 API

  • 开发移动端聊天页面

  • 接入微信收款功能

  • 支持 ChatGPT 函数功能,通过函数实现插件

  • 开发桌面版应用

  • 开发手机 App 客户端

  • 支付宝支付功能

  • 支持基于知识库的 AI 问答

  • 会员推广功能

  • 微信支付功能

五、技术选型

项目的技术架构

新版的系统前后端都进行大改动的重构,后端还是用的 Gin Web 框架,但是作者整合了 fx 自动注入框架,整个后端应用结构非常简洁,特别适合二次开发。另外,数据存储用 MySQL 替换了 leveldb, 因为要对 C 端,后期会涉及到很多业务数据查询统计,leveldb 已经完全不够用了。

Gin + fx + MySQL

3.0 版本之后会陆续添加其他语言的 API 实现,比如 PHP,Java 等。考虑到作者精力有限,api 目录已经添加了,有兴趣的同学自主去认领各自擅长的语言去实现。

前端的框架还是:

Vue3 + Element-Plus

前后台的页面风格已经全部变了,几乎所有页面样式代码都重写了。逻辑代码还是沿用之前的,毕竟功能没有太大的变化。

此次重构改版主要是为了后面功能的扩展准备了。

详细内容请查看 README.md 文档

六、源码地址

源码下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/189769.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图数据库Neo4J 中文分词查询及全文检索(建立全文索引)

Neo4j的全文索引是基于Lucene实现的,但是Lucene默认情况下只提供了基于英文的分词器,下篇文章我们在讨论中文分词器(IK)的引用,本篇默认基于英文分词来做。我们前边文章就举例说明过,比如我要搜索苹果公司&…

Python学习笔记--自定义元类

四、自定义元类 到现在,我们已经知道元类是什么鬼东西了。 那么,从始至终我们还不知道元类到底有啥用。 只是了解了一下元类。 在了解它有啥用的时候,我们先来了解下怎么自定义元类。 因为只有了解了怎么自定义才能更好的理解它的作用。…

简单线性回归函数

简单线性回归函数 定义术语理解简单线性回归例子 定义 线性回归:利用线性回归方程中最小平方函数对一个或多个自变量和因变量之间关系进行建模的一个回归分析。该建模的目标为找到各个系数的最佳值让预测误差最小 简单线性回归:只有一个自变量的线性回…

6.2 List和Set接口

1. List接口 List接口继承自Collection接口,List接口实例中允许存储重复的元素,所有的元素以线性方式进行存储。在程序中可以通过索引访问List接口实例中存储的元素。另外,List接口实例中存储的元素是有序的,即元素的存入顺序和取…

vue3+vite+ts 发布自定义组件到npm

vue3vite 发布自定义组件到npm 初始化项目编写组件配置打包组件上传到npm测试组件库 初始化项目 // 创建项目 pnpm create vite vue-test-app --template vue-ts// 运行项目 cd vite vue-test-app pnpm install pnpm run dev编写组件 1、根目录下创建packages目录作为组件的开…

Leetcode—2656.K个元素的最大和【简单】

2023每日刷题&#xff08;三十&#xff09; Leetcode—2656.K个元素的最大和 实现代码 int maximizeSum(int* nums, int numsSize, int k){int max nums[0];for(int i 1; i < numsSize; i) {if(max < nums[i]) {max nums[i];}}int sum 0;for(int i 0; i < k; i…

Windows Server2012 R2修复SSL/TLS漏洞(CVE-2016-2183)

漏洞描述 CVE-2016-2183 是一个TLS加密套件缺陷&#xff0c;存在于OpenSSL库中。该缺陷在于使用了弱随机数生成器&#xff0c;攻击者可以利用此缺陷预测随机数的值&#xff0c;从而成功绕过SSL/TLS连接的加密措施&#xff0c;实现中间人攻击。这个漏洞影响了OpenSSL 1.0.2版本…

【新闻稿】Solv 与 zCloak 联合开发跨境贸易场景下可编程数字凭证项目,获得新加坡、加纳两国央行支持...

关于昨天 Solv 携手 zCloak 与新加坡和加纳两个央行合作的 Project DESFT&#xff0c;很多朋友都发来恭喜和祝福&#xff0c;并希望了解详情。这个事我们秘密努力了半年多&#xff0c;终于有一个阶段性的成果。这里我转载中文版官宣新闻稿&#xff0c;欢迎大家关注。等我忙过这…

使用Open3D库处理3D模型数据的实践指南

目录 引言 一、安装Open3D库 二、加载3D模型数据 三、处理3D模型数据 1、去除模型中的无效面 2、提取模型特征 四、存储处理后的3D模型数据 五、可视化处理后的3D模型数据 六、注意事项 结论 引言 在处理3D模型数据时&#xff0c;Open3D库是一个功能强大且易于使用的…

湖科大计网:网络层

一、网络层概述 一、基本概念 网络层的主要任务是实现网络互连&#xff0c;进而实现数据包在各网络之间传输。 若只有单个网络&#xff0c;只需要物理层和数据链路层即可。 不同的异构网络需要路由器将其互连&#xff0c;路由器的每一个接口代表一个不同的网络&#xff0c;也区…

mac苹果电脑需要安装杀毒软件吗?

随着数字时代的发展&#xff0c;计算机安全问题变得越来越重要。而在计算机安全领域中&#xff0c;杀毒软件是一个被广泛讨论的话题。苹果电脑需要安装杀毒软件吗&#xff1f;对于苹果电脑用户来说&#xff0c;他们常常会疑惑自己是否需要安装杀毒软件来保护自己的电脑。本文将…

GEM5 Garnet DVFS / NoC DVFS教程:ruby.clk_domain ruby.voltage_domain

简介 gem5中的 NoC部分是Garnet实现的&#xff0c;但是Garnet并没有单独的时钟域&#xff0c;而是保持ruby一致&#xff0c;要做noc的DVFS&#xff0c;便是要改ruby的 改电压 #这里只是生成一个随便变量名&#xff0c;存一下值。改是和频率一起的 userssaved_voltage_domain…