Files
QuestionProject/ai_knowledge_base_v2/apps/backend
Nelson 61db0aa9b8 feat: 对话摘要+段落按需读取+think标签解析修复
- chat.py: ChatSession 新增 summary/summary_up_to_message_id 字段
- rag_service.py: Prompt 支持历史摘要+最近5轮原文拼接
- model_service.py: 新增 summarize() 方法,复用已启用模型生成摘要
- chat_service.py: 集成对话历史传递,8轮后触发摘要生成
- feishu_service.py: 段落级按需读取,按标题匹配+关键词打分+top5文档

摘要策略:
- 保留最近5轮原文保证追问连续性
- 更早历史由模型压缩成摘要(<=300字)
- 摘要失败不阻断主流程

飞书读取优化:
- 每个知识库最多读5个相关文档
- 每文档提取top10相关段落
- 按原文顺序拼接,不截断

Fix: _extract_openai_answer 重命名为 _extract_gemini_answer
避免同名函数覆盖导致MiniMax模型被错误解析为Gemini响应
2026-07-08 17:49:52 +08:00
..
2026-07-07 12:58:26 +08:00
2026-07-06 17:45:24 +08:00
2026-07-06 17:25:06 +08:00
2026-07-06 17:25:06 +08:00
2026-07-06 17:45:24 +08:00
2026-07-08 17:36:20 +08:00

AI 知识库系统 V2 后端

这是 V2 的后端服务目录当前处于阶段二第一批建设后端基础工程、核心数据模型、mock 登录能力。

技术栈

  • FastAPI
  • SQLAlchemy
  • Alembic
  • MySQL 8.x
  • Pydantic Settings
  • PyJWT

当前已包含

  • 应用入口和健康检查
  • 统一 JSON 响应结构
  • 配置读取和 .env 示例
  • SQLAlchemy 数据库连接
  • Alembic 迁移骨架
  • 核心 sys_* 数据模型
  • mock 短信验证码
  • 用户手机号验证码登录
  • 用户 Token 鉴权
  • 当前用户信息接口

本地启动

方式一:使用 V2 统一编排。

cd ai_knowledge_base_v2
docker compose -f docker-compose.dev.yml up --build

方式二:本地 Python 直接启动。

cd ai_knowledge_base_v2/apps/backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
uvicorn app.main:app --reload --host 127.0.0.1 --port 8100

默认短信验证码为 .env 中的 MOCK_SMS_CODE,默认值是 123456

下一步

  • 补管理员登录接口。
  • 接入 Redis 替换内存短信验证码和 Token 黑名单。