
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
# 先安装依赖 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
截图