geekai开源项目二次开发 AI大模型 AI 助手全套开源解决方案
geekai-django
基于极客学长大佬的开源项目geekai 二次开发而来。
GeekAI 是基于 AI 大语言模型 API 实现的 AI 助手全套开源解决方案,自带运营管理后台,开箱即用。
介绍
感谢大佬的开源,致敬。大佬后端是用:gin框架写的。大佬的项目:https://gitee.com/blackfox/geekai
我就是把前端页面改了下,后端从go换成了python,后端框架是django。本着学习的目的去写的这个项目。
然后我只暂时写了一部分的功能,其他很多功能都没写
我这个是基于geekai v4.0.5版本二次开发的
哈哈 bug比较多,本着学习的目的。欢迎大家可以一起交流,学习。
软件架构
前端:Vue3 + element-plus
后端:python3.11 + django
mysql: 8.0
redis: 6
daphne: 4.1.2
channels: 4.1.0
celery: 5.4.0
邮件服务,邮箱登录需要用到,也可不用
短信服务,短信登录需要用到,也可不用
支付宝支付(企业用户),也可不用
微信支付(企业用户),也可不用
我的公众号
项目地址
我的博客圆
我的开源项目
微信公众号自动发布文章,小绿书,自动发布热搜,利用AI自动发布种草小绿书
https://gitee.com/ccsang/wxmpjumpserver二次开发,简易工单管理。node,mysql,redis申请权限
https://gitee.com/ccsang/jumpserver-ticket
安装教程
后端
- 安装python3.11
# 先安装依赖
yum groupinstall "Development Tools"
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
wget https://mirrors.aliyun.com/python-release/source/Python-3.11.0.tgz
tar xf Python-3.11.0.tgz
cd Python-3.11.0
# 编译安装
./configure
make
make altinstall
# altinstall 为了不影响系统python,这样两个python都会同时存在
python3.11 -m venv py311-geekai-django
source /root/flc-code/py-all-env/py311-geekai-django/bin/activate
- 安装一些系统依赖包
# 需要安装mysql-devel,因为mysqlclient需要用到
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql
yum install mysql-devel --nogpgcheck -y
- 安装依赖包
cd backend/
pip install -r requirements.txt -i https://pypi.doubanio.com/simple
- 修改配置
vim backend/ChatgptServer/settings.py
# mysql 配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'chat_gpt_test',
'USER': 'root',
'PASSWORD': '12345678',
'HOST': '10.8.100.113',
'PORT': '3306',
'OPTIONS': {
# 'init_command': "SET sql_mode='STRICT_TRANS_TABLES', time_zone = '+08:00'",
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
},
}
}
# websock 配置
ASGI_APPLICATION = "ChatgptServer.asgi.application"
CHANNEL_LAYERS = {
"default": {
"BACKEND": "channels_redis.core.RedisChannelLayer",
"CONFIG": {
"hosts": [("redis://:Tedur3Ed6iOsPCLk@192.168.191.125:6379")],
},
},
}
# 阿里云短信服务
ALI_SMS_CONF = {
"AccessKey": "LTAI5t7AkjSECLU6Bidsadehxsn",
"AccessSecret": "fTLDxVwSeydsadsafxjARJM2r53aq",
"SignName": "ai系统",
"TemplateCode": "SMS_471500265"
}
# 异步任务配置 celery
CELERY_BROKER_URL = 'redis://:Tedur3Ed6iOsPCLk@192.168.191.125:6379/2' # 使用 Redis 作为消息队列
CELERY_RESULT_BACKEND = 'redis://:Tedur3Ed6iOsPCLk@192.168.191.125:6379/2'
CELERY_TIMEZONE = 'Asia/Shanghai'
# 微信支付
WECHAT_PAY_CONFIG = {
"Enabled": True,
"AppId": "wx3614dsadfq399975", # AppId
"MchId": "15512441", # 商户ID
"SerialNo": "1D1061712edeasd2410D8E6DE8D1446644", # API 证书序列号
"PrivateKey": "cert/apiclient_key.pem", # 将私钥拷贝到对应的目录
"ApiV3Key": "kXnZPHg2Z213fdscsdcKeFbjG", # APIv3密钥
"NotifyURL": "https://cs.dnzx.com/api/payment/wechat/notify", # 支付回调地址
# "NotifyURL": "https://dev.dnzx.com/api/payment/wechat/notify", # 支付回调地址
"ReturnURL": ""
}
# 支付宝配置
ALI_PAY_CONFIG = {
"Enabled" : True, # 启用支付宝支付通道,
"UserId" : "208872102132481", # 商户ID
"AppId" : "202143141238058", # App Id2021004198638058
"PrivateKey" : "cert/alipay/app_private_key_test.pem",
"PublicKey" : "cert/alipay/alipay_public_key_test.pem",
"NotifyURL": "https://cs.dnzx.com/api/payment/wechat/notify", # 支付回调地址
# "NotifyURL": "https://dev.dnzx.com/api/payment/alipay/notify", # 支付回调地址
}
- 迁移数据库
python manage.py makemigrations
python manage.py migrate
- 初始化数据
# 初始化数据在backend/init-sql.sql里面
# 连接数据库 执行sql就行
# 后台管理的密码是admin/12345678
- 启动后端程序
# 启动asgi服务
daphne ChatgptServer.asgi:application -b 0.0.0.0 -p 8080
# 启动异步任务
celery -A CeleryProject worker --loglevel=INFO
前端
- 自行安装node v16.5以上版本
- 安装依赖
npm install
- 修改配置
vim frontend/web/.env.development
VUE_APP_API_HOST=http://10.8.100.113:8080
VUE_APP_WS_HOST=ws://10.8.100.113:8080
VUE_APP_KEY_PREFIX=ChatPLUS_DEV_
VUE_APP_TITLE="Chatgpt"
VUE_APP_VERSION=v1.0.0
- 启动服务
npm run dev
- 然后你访问ip:8888
后端:ip:8888/admin
admin/12345678
截图
geekai开源项目二次开发 AI大模型 AI 助手全套开源解决方案的更多相关文章
- Github Python计算器开源项目 二次开发--增加函数图形
先上原项目链接:https://github.com/xhf79/Calculator_pyqt python+Qt 开发的计算器 原项目界面和功能如图所示: 科学计算的内容基本都有,但按照项目的提示 ...
- 开源项目|Go 开发的一款分布式唯一 ID 生成系统
原文连接: 开源项目|Go 开发的一款分布式唯一 ID 生成系统 今天跟大家介绍一个开源项目:id-maker,主要功能是用来在分布式环境下生成唯一 ID.上周停更了一周,也是用来开发和测试这个项目的 ...
- Android开源项目(二)
第二部分 工具库 主要包括那些不错的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多媒体相关及其他. 一.依赖注入DI 通过 ...
- ERP开源框架 + 二次开发平台 介绍
经历了多年软件开发,深受网络大侠们的资源共享才得以有所成绩, 本人主要是做企业ERP软件,一直有个感受,开发具体某个功能不难,但随着需求的增加,管理庞大的代码却成了最大的问题 而为企业管理所做的开发, ...
- 【新晋开源项目】内网穿透神器[中微子代理] 加入 Dromara 开源社区
1.关于作者 dromara开源组织成员,dromara/neutrino-proxy项目作者 名称:傲世孤尘.雨韵诗泽 名言: 扎根土壤,心向太阳.积蓄能量,绽放微光. 拘浊酒邀明月,借赤日暖苍穹. ...
- AI大模型学习了解
# 百度文心 上线时间:2019年3月 官方介绍:https://wenxin.baidu.com/ 发布地点: 参考资料: 2600亿!全球最大中文单体模型鹏城-百度·文心发布 # 华为盘古 上线时 ...
- Android开源项目发现--- 效率开发工具篇(持续更新)
1.Json2Java 根据JSon数据自动生成对应的Java实体类,还支持Parcel.Gson Annotations对应代码自动生成.期待后续的提取父类以及多url构建整个工程的功能 项目地址: ...
- 转:Android开源项目推荐之「网络请求哪家强」 Android开源项目推荐之「网络请求哪家强」
转载自https://zhuanlan.zhihu.com/p/21879931 1. 原则 本篇说的网络请求专指 http 请求,在选择一个框架之前,我个人有个习惯,就是我喜欢选择专注的库,其实在软 ...
- V9 二次开发技术篇之 模型数据库
应V9粉丝的建议,本人今天讲一下 MVC中的M 数据库模型 首先 在 phpcms\model 建一个模型文件test_model.class.php <?phpdefined('IN_PHP ...
- PHPCMS V9二次开发]自定义字段模型-文本组
phpcms v9,我们在做类似于酒店房型等类型的时候,需要用到文本组字段模型,但phpcms并未提供该模型.如下图所示效果: 展示效果如下: 步骤/方法 打开phpcms\modules\conte ...
随机推荐
- Flink学习(三) 批流版本的wordcount JAVA版本
Flink 开发环境通常来讲,任何一门大数据框架在实际生产环境中都是以集群的形式运行,而我们调试代码大多数会在本地搭建一个模板工程,Flink 也不例外. Flink 一个以 Java 及 Scala ...
- swoole(5)信号监听、热重启
一:信号监听 信号:由用户.系统或者进程发给目标进程的信息,以通知目标进程某个状态的改变或系统异常 信号查看:kill -l SIGHUP 终止进程 终端线路挂断 SIGINT ...
- go语言实现终端里的倒计时
最近在更新系统的时候发现pacman的命令行界面变了,我有很久没更新过设备上的Linux系统了,所以啥时候变的不好说.但这一变化成功勾起了我的好奇心.新版的更新进度界面如下: 新的更新进度界面能同时显 ...
- 【由技及道】量子跃迁部署术:docker+jenkins+Harbor+SSH的十一维交付矩阵【人工智障AI2077的开发日志011】
摘要: SSH密钥对构建的十一维安全通道 × Harbor镜像星门 × 错误吞噬者语法糖 = 在CI/CD的量子观测中实现熵减永动机,使容器在部署前保持开发与生产维度的叠加态 量子纠缠现状(技术背景) ...
- [Qt 基础内容-05] QDialogButtonBox
QDialogButtonBox 本文主要根据QT官方帮助文档以及日常使用,简单的介绍一下QDialogButtonBox的功能以及使用 文章目录 QDialogButtonBox 简介 信号和槽 基 ...
- go 组合函数 Collection
我们经常需要程序在数据集上执行操作,比如选择满足给定条件的所有项,或者将所有的项通过一个自定义函数映射到一个新的集合上. 在某些语言中,会习惯使用泛型. Go 不支持泛型,在 Go 中,当你的程序或者 ...
- 基础命令:dd、tar、ln、find、逻辑符号、alisa别名、md5sun校验、lrzsz文件上传下载、wget
目录 3.0 dd读取.转换并输出数据 3.1 压缩 (tar.zip).解压缩(tar xf.unzip) 3.2 ln软硬链接 3.2.1 软链接: 3.2.2 硬链接: 3.3 find文件查找 ...
- UNIX 系统
UNIX 系统的历史,UNIX 是操作系统的开山鼻祖,是操作系统的发源地,后来的 Windows 和 Linux 都参考了 UNIX. 有人说,这个世界上只有两种操作系统: UNIX 和类 UNIX ...
- Oracle配置和性能优化方法
性能是衡量软件系统的一个重要部分,可能引起性能低下的原因很多,如CPU/内存/网络资源不足,硬盘读写速度慢,数据库配置不合理,数据库对象规划或存储方式不合理,模块设计对性能考虑不足等. 1 ...
- 『Plotly实战指南』--饼图绘制基础篇
在数据可视化的世界里,饼图是一种直观且广泛使用的图表类型. 它能够将数据各个部分占整体的比例关系清晰地展现出来,适用于诸如市场占有率分析.调查结果分布.预算分配等多个领域. 饼图以扇形面积比例直观展示 ...