littlebot
Published on 2025-04-16 / 0 Visits
0

【源码】基于Go和Python的聊天机器人系统

项目简介

本项目是一个结合了Go和Python技术的聊天机器人系统。使用Go编写后端API,负责处理前端交互,通过HTTP请求实现用户与机器人的聊天功能;利用Python编写工具脚本,实现自动化任务。项目采用SQL数据库存储和管理用户信息、会话内容、模型配置等,同时使用JWT确保数据的安全性和完整性。

项目的主要特性和功能

  1. 用户认证:借助JWT进行身份验证和授权,保障资源访问安全。
  2. 会话管理:支持会话的创建、更新、删除和获取操作。
  3. 消息处理:处理用户发送的消息并生成响应。
  4. 模型配置:允许用户配置机器人行为,如设置响应质量、调整优先级等。
  5. 本地化翻译:支持多语言聊天,提供语言本地化的翻译和替换功能。
  6. 错误处理:使用自定义错误处理库,确保程序健壮运行。
  7. 工具脚本:提供自动化处理差异文件、合并本地化文件等任务的脚本。

安装使用步骤

前提条件

用户已下载本项目的源码文件,且安装好了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 文件进行部署,也可通过点击 Deploy on Railway 进行部署。部署后需配置环境变量: PORT=8080 OPENAI_RATELIMIT=0 如有其他两个 API key 则进行填写。部署完成后,注册用户,首个用户为管理员,之后访问 https://$hostname/static/#/admin/user 设置速率限制,公网部署时仅对信任的邮箱添加速率限制。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】