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

  • 邮件服务,邮箱登录需要用到,也可不用

  • 短信服务,短信登录需要用到,也可不用

  • 支付宝支付(企业用户),也可不用

  • 微信支付(企业用户),也可不用

我的公众号

项目地址

我的博客圆

我的开源项目

  1. 微信公众号自动发布文章,小绿书,自动发布热搜,利用AI自动发布种草小绿书
    https://gitee.com/ccsang/wxmp

  2. jumpserver二次开发,简易工单管理。node,mysql,redis申请权限
    https://gitee.com/ccsang/jumpserver-ticket

安装教程

后端

  1. 安装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
  1. 安装一些系统依赖包
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
  1. 安装依赖包
shell 复制代码
cd backend/
pip install -r requirements.txt -i https://pypi.doubanio.com/simple
  1. 修改配置
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", # 支付回调地址
}
  1. 迁移数据库
shell 复制代码
python manage.py makemigrations
python manage.py migrate
  1. 初始化数据
shell 复制代码
# 初始化数据在backend/init-sql.sql里面
# 连接数据库 执行sql就行
# 后台管理的密码是admin/12345678
  1. 启动后端程序
shell 复制代码
# 启动asgi服务
daphne ChatgptServer.asgi:application -b 0.0.0.0 -p 8080

# 启动异步任务
celery -A CeleryProject worker --loglevel=INFO

前端

  1. 自行安装node v16.5以上版本
  2. 安装依赖
shell 复制代码
npm install
  1. 修改配置
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
  1. 启动服务
shell 复制代码
npm run dev
  1. 然后你访问ip:8888

后端:ip:8888/admin

admin/12345678

截图