- 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响应
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 黑名单。