项目简介
本项目是一个结合了Go和Python技术的聊天机器人系统。使用Go编写后端API,负责处理前端交互,通过HTTP请求实现用户与机器人的聊天功能;利用Python编写工具脚本,实现自动化任务。项目采用SQL数据库存储和管理用户信息、会话内容、模型配置等,同时使用JWT确保数据的安全性和完整性。
项目的主要特性和功能
- 用户认证:借助JWT进行身份验证和授权,保障资源访问安全。
- 会话管理:支持会话的创建、更新、删除和获取操作。
- 消息处理:处理用户发送的消息并生成响应。
- 模型配置:允许用户配置机器人行为,如设置响应质量、调整优先级等。
- 本地化翻译:支持多语言聊天,提供语言本地化的翻译和替换功能。
- 错误处理:使用自定义错误处理库,确保程序健壮运行。
- 工具脚本:提供自动化处理差异文件、合并本地化文件等任务的脚本。
安装使用步骤
前提条件
用户已下载本项目的源码文件,且安装好了Go和Python的开发环境。
后端API运行(Go)
bash
cd chat; cd api
go mod tidy
export PG_HOST=192.168.0.135
export PG_DB=hwu
export PG_USER=hwu
export PG_PASS=pass
export PG_PORT=5432
make serve
前端运行(Node)
bash
cd ..; cd web
npm install
npm run dev
端到端测试(E2E)
bash
cd ..; cd e2e
export PG_HOST=192.168.0.135
export PG_DB=hwu
export PG_USER=hwu
export PG_PASS=pass
export PG_PORT=5432
npm install
npx playwright test # --ui
部署
参考 docker-compose.yaml
文件进行部署,也可通过点击 进行部署。部署后需配置环境变量:
PORT=8080
OPENAI_RATELIMIT=0
如有其他两个 API key 则进行填写。部署完成后,注册用户,首个用户为管理员,之后访问 https://$hostname/static/#/admin/user 设置速率限制,公网部署时仅对信任的邮箱添加速率限制。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】