介绍

  • GeekAI 基于AI大语言模型的AI 助手全套开源解决方案,自带运营管理后台,开箱即用。集成了 OpenAI, Claude, 通义千问,Kimi,DeepSeek等多个平台的大语言模型。
  • 基于极客学长大佬的开源项目geekai 二次开发而来。首先感谢大佬的开源,致敬。大佬的项目地址:https://gitee.com/blackfox/geekai
  • 我就是把前台页面修改了下,后端go语言我换成了python语言。
  • 后端go web框架gin 我换成了python web框架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,先安装python3.11

因为python3.11 不能yum安装,所以咱们就编译安装

# 先安装依赖

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都会同时存在 # 新建env环境,这样就可以每一个项目都有自己的环境,不会影响到其他的项目
python3.11 -m venv py311-geekai-django
source /root/flc-code/py-all-env/py311-geekai-django/bin/activate # 如果退出虚拟环境就是 deactivate # 这样python3.11 就安装好了

2,安装一些系统依赖包

# 需要安装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

3,安装项目依赖

# 我直接用的豆瓣源 加速安装,国内比较慢
cd backend/
pip install -r requirements.txt -i https://pypi.doubanio.com/simple

4,修改配置

Django的配置文件在项目的settings.py文件。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", # 支付回调地址
}

5,迁移数据库

python manage.py makemigrations
python manage.py migrate

6,初始化mysql数据

# 初始化数据在backend/init-sql.sql里面
# 连接数据库 执行sql就行
# 后台管理的密码是admin/12345678

7,启动后端程序

# 启动asgi服务
daphne ChatgptServer.asgi:application -b 0.0.0.0 -p 8080 # 启动异步任务
# 这个是为了 dell画图用的,因为画图使用了异步任务。画图时间会比较慢
celery -A CeleryProject worker --loglevel=INFO

这样咱们的后端程序 就启动起来了,正常应该没有啥问题,有问题可以关注我的仓库提交问题。或者关注我的公众号私信我。

安装前端

1,安装node v16.5

咱们使用nvm管理多个版本的node

国内使用github安装nvm比较慢,咱们之间使用gitee大佬的项目:nvm-cn

bash -c "$(curl -fsSL https://gitee.com/RubyMetric/nvm-cn/raw/main/install.sh)"

# 这样就安装好了nvm
# 咱们再安装node
nvm install v16.5.0

2,安装依赖

cd frontend/web

# 咱们在安装nvm-cn的时候,这个项目就直接把国内源给配置好了,安装应该会很快
npm install

3,修改配置

vim frontend/web/.env.development

# api接口
VUE_APP_API_HOST=http://10.8.100.113:8080

# websocket地址
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

4,启动服务

npm run dev

5,访问服务

http://ip:8888

# 后端地址
http://ip:8888/admin # 账号密码
admin/12345678

Docker安装

安装docker

咱们就使用阿里云的centos7安装办法

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils # Step 2: 添加软件源信息
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # Step 3: 安装Docker
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # Step 4: 开启Docker服务
sudo service docker start # 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
# 将[docker-ce-test]下方的enabled=0修改为enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
# Loading mirror speeds from cached hostfile
# Loaded plugins: branch, fastestmirror, langpacks
# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
# Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]

后端

# 后端dockerfile在 backend下面的Dockerfile文件
cd backend

docker build -t geekai-django:v1 .

# 然后就会出现镜像geekai-django:v1
Dockerfile文件内容
FROM python:3.11-slim-bullseye

ARG APT_MIRROR=https://mirrors.aliyun.com
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=core-apt \
--mount=type=cache,target=/var/lib/apt,sharing=locked,id=core-apt \
sed -i "s@http://.*.debian.org@${APT_MIRROR}@g" /etc/apt/sources.list \
&& rm -f /etc/apt/apt.conf.d/docker-clean \
&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& apt-get update \
&& apt-get -y install --no-install-recommends pkg-config \
default-libmysqlclient-dev \
default-mysql-client \
gcc # 设置环境变量
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1 # 创建工作目录
WORKDIR /app # 安装依赖
COPY requirements.txt /app/
RUN pip install --upgrade pip && pip install -r requirements.txt -i https://pypi.doubanio.com/simple # 拷贝项目
COPY . /app/

前端

# 前端的Dockerfile在frontend下面
cd frontend # 然后执行脚本build-images.sh
# 你需要修改脚本里面的镜像名称啥的

dockerfile文件

# 前端 Vue 项目构建
# 其实编译完后 就是一个dist目录
# 咱们把目录放到nginx下面就行
FROM registry.cn-beijing.aliyuncs.com/fanlichun/tedu-chat-web:nginx-1.20.2 WORKDIR /var/www/app
COPY ./web/dist /var/www/app/dist EXPOSE 80
EXPOSE 443

启动

# 关于启动的话,可以直接docker一个一个的启动
# 我这里提供docker-compose.yml文件启动
# 文件:backend/deploy/docker-compose.yml
# 你需要去修改yml文件里面的地址 以及新建一些目录

# 然后咱们就可以启动了
docker compose up -d
docker-compose.yml文件
version: '3.11'

services:
api:
image: teduchat-api:v1.0.2
container_name: teduchat-api
restart: always
command: daphne ChatgptServer.asgi:application -b 0.0.0.0 -p 8080
ports:
- "8080:8080"
volumes:
- /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime
- /data/teduchat-api/media:/app/media
- /data/teduchat-api/wechatpay-logs:/app/logs
- /data/teduchat-api/wechatpay-cert:/app/cert task:
image: teduchat-api:v1.0.2
container_name: teduchat-task
restart: always
command: celery -A CeleryProject worker --loglevel=INFO
volumes:
- /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime
- /data/teduchat-api/media:/app/media web:
image: teduchat-web:v1.0.2
container_name: teduchat-web
ports:
- "80:80"
- "443:443"
volumes:
- /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime
- /data/teduchat-web/nginx/conf/conf.d:/etc/nginx/conf.d
- /data/teduchat-web/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
- /data/teduchat-web/nginx/logs:/var/log/nginx
- /data/teduchat-web/nginx/conf/ssl:/etc/nginx/ssl
- /data/teduchat-api/media:/var/www/app/media

Q&A

1,关于OpenAI的模型

这个需要大家去找代理,进行访问。因为国内访问不了api

2,关于国内的模型

国内的模型,只要支持openai 的 SDK就可以在这个平台添加使用。

因为我这里直接用的openai 模块。没有用各大厂商的api。

3,关于一些bug

因为我是本着学习的目的去改写的,所以存在很多bug。

但是大家可以一起交流,学习。

4,关于问题

可以提交仓库的lssues。或者关注我的公众号私信我

我的公众号

项目地址

我的博客圆

我的开源项目

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

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

平台截图展示

首页

重磅开源 基于AI大语言模型的AI 助手全套开源解决方案 AI开源平台的更多相关文章

  1. 保姆级教程:用GPU云主机搭建AI大语言模型并用Flask封装成API,实现用户与模型对话

    导读 在当今的人工智能时代,大型AI模型已成为获得人工智能应用程序的关键.但是,这些巨大的模型需要庞大的计算资源和存储空间,因此搭建这些模型并对它们进行交互需要强大的计算能力,这通常需要使用云计算服务 ...

  2. AI 也开源:50 大开源 AI 项目 (转)

    这些开源AI项目专注于机器学习.深度学习.神经网络及其他应用场合. 自IT界早期以来,研制出能像人类那样“思考”的机器一直是研究人员的一大目标.在过去几年,计算机科学家们在人工智能(AI)领域已取得了 ...

  3. 本地推理,单机运行,MacM1芯片系统基于大语言模型C++版本LLaMA部署“本地版”的ChatGPT

    OpenAI公司基于GPT模型的ChatGPT风光无两,眼看它起朱楼,眼看它宴宾客,FaceBook终于坐不住了,发布了同样基于LLM的人工智能大语言模型LLaMA,号称包含70亿.130亿.330亿 ...

  4. zz独家专访AI大神贾扬清:我为什么选择加入阿里巴巴?

    独家专访AI大神贾扬清:我为什么选择加入阿里巴巴? Natalie.Cai 拥有的都是侥幸,失去的都是人生 ​关注她 5 人赞同了该文章 本文由 「AI前线」原创,原文链接:独家专访AI大神贾扬清:我 ...

  5. H2O是开源基于大数据的机器学习库包

    H2O是开源基于大数据的机器学习库包 H2O能够让Hadoop做数学,H2O是基于大数据的 统计分析 机器学习和数学库包,让用户基于核心的数学积木搭建应用块代码,采取类似R语言 Excel或JSON等 ...

  6. 搭乘“AI大数据”快车,肌肤管家,助力美业数字化发展

    经过疫情的发酵,加速推动各行各业进入数据时代的步伐.美业,一个通过自身技术.产品让用户变美的行业,在AI大数据的加持下表现尤为突出. 对于美妆护肤企业来说,一边是进入存量市场,一边是疫后的复苏期,一边 ...

  7. 百度生成式AI产品文心一言邀你体验AI创作新奇迹:百度CEO李彦宏详细透露三大产业将会带来机遇(文末附文心一言个人用户体验测试邀请码获取方法,亲测有效)

    目录 中国版ChatGPT上线发布 强大中文理解能力 智能文学创作.商业文案创作 图片.视频智能生成 中国生成式AI三大产业机会 新型云计算公司 行业模型精调公司 应用服务提供商 总结 获取文心一言邀 ...

  8. Golang优秀开源项目汇总, 10大流行Go语言开源项目, golang 开源项目全集(golang/go/wiki/Projects), GitHub上优秀的Go开源项目

    Golang优秀开源项目汇总(持续更新...)我把这个汇总放在github上了, 后面更新也会在github上更新. https://github.com/hackstoic/golang-open- ...

  9. 一位AI研究员+区块链创业者的终极展望:AI DAO将统治世界

    一位AI研究员+区块链创业者的终极展望:AI DAO将统治世界 [日期:2017-01-09] 来源:infoq.com  作者:杨赛 [字体:大 中 小] Trent McConaghy是一位资深的 ...

  10. 游戏AI系列内容 咋样才能做个有意思的AI呢

    游戏AI系列内容 咋样才能做个有意思的AI呢 写在前面的话 怪物AI怎么才能做的比较有意思.其实这个命题有点大,我作为一个仅仅进入游戏行业两年接触怪物AI还不到一年的程序员来说,来谈这个话题,我想我是 ...

随机推荐

  1. 全网最强 DeepSeek 插件上线!支持多家云服务,一键解锁满血版 AI

    前言 自 DeepSeek 推出以来,其回答质量备受好评.然而,许多用户在连续提问时经常遇到"服务器繁忙,请稍后再试"的提示.随着各大云服务商陆续部署 DeepSeek 的完整模型 ...

  2. Trae 开发工具与使用技巧

    大家好,我是 V 哥. 前不久,字节重磅推出 AI 原生 IDE Trae,有了这款工具,程序员的开发效率得到了大大的提升,如何你是程序员,还没有使用起来,那 V 哥建议你即刻起马上安装上,谁用谁知道 ...

  3. VulnHub2018_DeRPnStiNK靶机渗透练习

    据说该靶机有四个flag 扫描 扫描附近主机arp-scan -l 扫主目录 扫端口 nmap -sS -sV -n -T4 -p- 192.168.xx.xx 结果如下 Starting Nmap ...

  4. 分布式一致性算法-Paxos、Raft、ZAB、Gossip

      为什么需要一致性 数据不能存在单个节点(主机)上,否则可能出现单点故障. 多个节点(主机)需要保证具有相同的数据. 一致性算法就是为了解决上面两个问题. 一致性算法的定义 一致性就是数据保持一致, ...

  5. leetcode3208. 交替组 II

    循环数组问题,指针问题 代码 比较好实现的,只需要对右端点维护,如果达到了>=k便可以被计数,循环数组可以两边循环做到 点击查看代码 class Solution { public int nu ...

  6. 国产化-内存数据库tendis-单机安装(完美替代redis)

    挺好的产品腾讯能开源还是体现了大厂的担当和格局,赞一个.阿里也开源了一些不错的产品后面讲. Tendis 介绍 Tendis 是腾讯公司开源的一款高性能分布式存储系统,基于 Redis 协议开发,具有 ...

  7. Math类、System类--java进阶day05

    1.Math类 Math类里所有方法都被static修饰,说明它是一个工具类,不需要创建对象,直接类名调用 2.Math方法展示 . 3.System类 SYstem方法展示 1.currentTim ...

  8. gitee 删库跑路的正确打开方式

    前言 又是一个周一, 阳光一点都不明媚... 码云 gitee.com 五群 (QQ群号: 515965326) 又发生了一起删库跑路事件(手动滑稽). 手动部分截图 看图说话 为了更好的复现完整的流 ...

  9. DEF4Delphi-master的安装

    保姆教程 d2007的TWEBbrowser因为用的太老的IE内核.现在的浏览器上的功能呈现就卡住了. 那么DEF4Delphi效果非常好. 如何安装后成功运行.很简单.直接去:https://git ...

  10. 搭建Trae+Vue3的AI开发环境

    从2024年2025年,不断的有各种AI工具会在自媒体中火起来,号称各种效率王炸,而在AI是否会替代打工人的话题中,程序员又首当其冲. 作为一个后端开发,这篇文章基于Trae工具,来创建和运行一个简单 ...