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 ...
随机推荐
- Vulnhub-sundown
总结:该靶机是一个wordpress管理系统,需要信息收集得到插件信息,然后搜索插件漏洞,得到一个文件包含exp,利用其得到一个普通用户,利用hydra爆破密码然后ssh连接,信息收集得到一个数据库配 ...
- linux中如何判断一个rpm是手动安装还是通过yum安装的
现状 对于一个不熟悉的服务器或者是虽然是自己的服务器,但历史比较久远,对于上面安装了的一些软件包,我们记忆都慢慢模糊了. 我今天遇到一个情况,在安装一个工具x2openEuler时,安装失败,提示依赖 ...
- 微信小程序反编译~2022年
小程序反编译 前言 微信小程序反编译可以通过对小程序包进行反编来获取小程序源码,在一次信息收集的过程中对某公司的APP.微信公众号.小程序进行抓包数据分析寻找接口等有用的信息时,在抓包过程中由于微信的 ...
- Detected non-NVML platform: could not load NVML: libnvidia-ml.so.1: cannot open shared object
前言 在 kubernetes 中配置 https://github.com/NVIDIA/k8s-device-plugin 时, 报错:Detected non-NVML platform: co ...
- Win10下子系统Unbuntu18.04安装nginx
1.Nginx的软件包在Ubuntu默认软件仓库中可用. 安装非常简单,只需键入以下命令: sudo apt update sudo apt install nginx 2.安装完成后,检查Nginx ...
- Django项目如何配置日志文件信息
1.以dict的方式配置在settings.py中 # 日志文件简单配置 ''' LOGGING = { "version": 1, "disable_existing_ ...
- 『Plotly实战指南』--折线图绘制进阶篇
上一篇介绍了Plotly绘制折线图的基础知识和数据预处理的技巧, 本文将重点探讨如何利用Plotly实现多线折线图的布局设计以及动态折线图的实现, 让我们一起掌握进阶的折线图绘制技巧. 1. 多折线图 ...
- 插入排序(LOW)
博客地址:https://www.cnblogs.com/zylyehuo/ # _*_coding:utf-8_*_ def insert_sort(li): for i in range(1, l ...
- CSS那些事读书笔记-1
背景 作为一个后端开发,曾经尝试过学习前端,但是总觉不得要领,照猫画虎,而公司里又有专业的前端开发,工作中几乎接触不到实际的前端任务,所以前端的技能田野一直是一片荒芜.但是笔者深知前端的技能对找工作和 ...
- PostgreSQL 密码忘了
许久不登, 倒是把默认的 postgres 用户的密码给忘了... 首先关闭 PostgreSQL. 我这是 Windows 上安装的, 所以到服务 (services.msc) 里关闭. 然后修改配 ...