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 ...
随机推荐
- ARC165F题解
前言 \(2024.10.19\) 日校测 \(T4\),思维太庙,被薄纱了,遂哭弱,写题解以记之. 简要题意 给你一个长度为 \(2n\) 的序列满足 \(\forall a_i\in[1,n]\) ...
- OpenOffice已停更六年 文档基金会呼吁用户迁移LibreOffice
OpenOffice 源代码发布至今已经有 20 年了.文档基金会近日发布公开信,表示说:"LibreOffice 是 OpenOffice 的未来.我们将会全力以赴".以此呼吁那 ...
- ITIL4 变更管理核心流程笔记
- github520cli解决无法github访问问题
github并没有被GFW直接墙掉,而是因为DNS污染导致经常无法访问 访问的时候经常出现push或者pull代码的时间很长,出现无法访问仓库,请检查是否有权限的报错,这可能就是被DNS污染了 如何解 ...
- 入口函数与包初始化:Go程序的执行次序
前言 我们可能经常会遇到这样一个问题:一个 Go 项目中有数十个 Go 包,每个包中又有若干常量.变量.各种函数和方法,那 Go 代码究竟是从哪里开始执行的呢?后续的执行顺序又是什么样的呢? 事实上, ...
- Swarm集群部署、集群架构、集群管理 、服务管理
一.部署swarm集群 #docker swarm简介 Docker Swarm 和 Docker Compose 一样,都是 Docker 官方容器编排项目,但不同的是,Docker Compose ...
- Java 8的新特性还不了解?快进来!
能坚持别人不能坚持的,才能拥有你想拥有的.关注 编程大道,让我们一起成长
- 学习unigui【18】unidbgrid的GridsGroupingSorting
折腾二天,你不按照demo里的代码来,就是没有效果.功力不够导致的.学习学习再学习!努力努力再努力! procedure TUniGridsGroupingSorting.UniDBGrid1Mult ...
- Sublime Text 3汉化教程
一.初始化插件仓库 ctrl+`(esc键下方那一个)打开控制台输入以下代码回车 import urllib.request,os,hashlib; h = '6f4c264a24d933ce70df ...
- 使用benchmarksql测试数据库处理能力
我们所处行业的核心应用业务,当前还是传统的OLTP业务,应用系统使用 java 开发,并且不建议使用存储过程,使用 benchmarksql 压测数据库最公平,既可以测试数据库性能,也可以测试JDBC ...