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/wxmp -
jumpserver二次开发,简易工单管理。node,mysql,redis申请权限
https://gitee.com/ccsang/jumpserver-ticket
安装教程
后端
- 安装python3.11
shell
# 先安装依赖
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
- 安装一些系统依赖包
shell
# 需要安装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
- 安装依赖包
shell
cd backend/
pip install -r requirements.txt -i https://pypi.doubanio.com/simple
- 修改配置
shell
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://:[email protected]:6379")],
},
},
}
# 阿里云短信服务
ALI_SMS_CONF = {
"AccessKey": "LTAI5t7AkjSECLU6Bidsadehxsn",
"AccessSecret": "fTLDxVwSeydsadsafxjARJM2r53aq",
"SignName": "ai系统",
"TemplateCode": "SMS_471500265"
}
# 异步任务配置 celery
CELERY_BROKER_URL = 'redis://:[email protected]:6379/2' # 使用 Redis 作为消息队列
CELERY_RESULT_BACKEND = 'redis://:[email protected]: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", # 支付回调地址
}
- 迁移数据库
shell
python manage.py makemigrations
python manage.py migrate
- 初始化数据
shell
# 初始化数据在backend/init-sql.sql里面
# 连接数据库 执行sql就行
# 后台管理的密码是admin/12345678
- 启动后端程序
shell
# 启动asgi服务
daphne ChatgptServer.asgi:application -b 0.0.0.0 -p 8080
# 启动异步任务
celery -A CeleryProject worker --loglevel=INFO
前端
- 自行安装node v16.5以上版本
- 安装依赖
shell
npm install
- 修改配置
shell
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
- 启动服务
shell
npm run dev
- 然后你访问ip:8888
后端:ip:8888/admin
admin/12345678
截图















