Commit Graph

20 Commits

Author SHA1 Message Date
22fdb625a4 feat: 完成极简 LangGraph 架构迁移,添加 Baosi API 支持
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Failing after 6m36s
主要变更:
- 迁移到极简 LangGraph 标准架构(START → init_state → 记忆 → Agent ⇄ Tools → finalize → END)
- 添加 Baosi API 支持,配置 ops4.7 模型
- 保留本地模型作为默认首选,Baosi 作为备选
- 新架构使用 LangGraph 原生 ToolNode 和 bind_tools
- 移除旧的混合路由、JSON 解析等复杂逻辑
- 把旧代码移到 deprecated/ 目录
- 添加新的 Agent 节点和 Tools 模块
- 添加测试脚本验证新架构
- 所有测试通过 ✓
2026-05-07 00:48:17 +08:00
1dc1ecad62 优化: LLM降级重排一次调用给所有文档打分
All checks were successful
构建并部署 AI Agent 服务 / deploy (push) Successful in 9m56s
2026-05-06 17:25:42 +08:00
1260bef5cb 添加rag置信度判断
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Failing after 6m31s
2026-05-06 01:15:52 +08:00
3ae9daa01a 导入方式修改
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Failing after 6m44s
2026-05-05 23:17:00 +08:00
b5c15ef445 refactor: 单图方案重构 + 动态模型选择 + chat_services优化
All checks were successful
构建并部署 AI Agent 服务 / deploy (push) Successful in 12m9s
## 核心改动

### 1. 单图方案重构
- 删除了多图(self.graphs),改为单图(self.graph)
- 新增 MainGraphState.current_model 字段用于运行时注入模型
- llm_call 节点改为动态选择模型(create_dynamic_llm_call_node)

### 2. chat_services 优化
- 添加 _cached_services 缓存,避免重复初始化
- 新增 get_cached_chat_services() 函数,用于单图注入
- 新增 _check_http_service_available() 统一HTTP探测逻辑
- 减少重复代码,LocalVLLMChatProvider和LocalSmallModelProvider共用探测方法

### 3. AIAgentService 重构
- initialize() 只构建一次图,传入 chat_services 字典
- 新增 _resolve_model() 模型回退逻辑
- 新增 _build_invocation() 统一构建调用参数
- process_message() 和 process_message_stream() 改为注入 current_model
- 流式处理代码拆分,增加可读性

### 4. 新增和删除文件
- 新增:backend/app/main_graph/main_graph_builder.py(图构建)
- 新增:backend/app/main_graph/subgraph_wrapper.py(子图封装)
- 新增:tools/test/test_tavily_search.py(测试)
- 删除:backend/app/main_graph/graph.py(旧图)
- 删除:backend/app/main_graph/utils/main_graph_builder.py(旧构建器)
- 删除:backend/app/main_graph/utils/__init__.py

### 5. 其他更新
- README.md:新增模型服务使用情况详解章节
- backend/app/model_services/__init__.py:新增 get_cached_chat_services 导出

## 方案优势

- 内存优化:N张图 → 1张图
- 灵活性:运行时动态选择模型,支持同会话不同模型
- 性能:模型服务缓存,初始化仅一次
- 可维护性:减少重复代码,统一HTTP探测逻辑
2026-05-05 17:30:55 +08:00
9841f47432 refactor: 重构RAG核心组件,简化代码结构和测试文件
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Failing after 6m53s
2026-05-04 17:58:10 +08:00
44d89acdb5 fix: 修复本地llm服务不可用问题 + 统一模型缓存目录位置
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Has been cancelled
- 修复 config.py 添加 LOCAL_MODEL_NAME 配置项
- 修复 chat_services.py 本地模型检测时API路径重复问题(/v1/models -> /models)
- 更新 .gitignore,移除模型目录跟踪
- 统一模型缓存到 docker/models/fastembed_cache,避免重复
- 更新 Dockerfile,正确复制预下载的BM25模型缓存
2026-05-04 03:26:19 +08:00
60afa86ded feat: 实现 BM25 稀疏 + 稠密向量混合检索功能
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Has been cancelled
2026-05-04 02:01:22 +08:00
b647150814 🗑️ 精简文档结构
All checks were successful
构建并部署 AI Agent 服务 / deploy (push) Successful in 5m42s
- 删除冗余文档:backend/app/README.md、backend/app/model_services/README.md
- 保留重要深度文档:backend/app/rag/README.md(RAG 模块详细说明)
- 更新 REACT_MODE_SUMMARY.md:加入模型服务层的关键内容
2026-05-03 17:01:15 +08:00
53fbfb4741 📚 整理并更新文档
All checks were successful
构建并部署 AI Agent 服务 / deploy (push) Successful in 6m41s
- 删除过时文档:REACT_PLAN.md、backend/docs/HYBRID_ROUTER.md
- 更新 REACT_MODE_SUMMARY.md:加入新的混合路由架构
- 更新 README.md:加入混合路由、双模型服务等新特性
- 更新 backend/app/README.md:加入 hybrid_router.py
- 更新 backend/app/model_services/README.md:加入 get_chat_service/get_small_llm_service
- 更新 .gitignore:允许 REACT_MODE_SUMMARY.md 上传
- 新增 backend/test/test_hybrid_router.py:测试脚本
2026-05-03 16:53:34 +08:00
a5fc9cd5d8 完整的混合路由优化系统
All checks were successful
构建并部署 AI Agent 服务 / deploy (push) Successful in 6m8s
1. 双模型服务 (llm + smallLLM)
   - 增加 get_small_llm_service() 函数
   - 支持智谱/DeepSeek 小模型作为轻量级选项

2. 前置混合路由
   - 规则快速分流(无 LLM,超快速)
   - 轻量级意图分类(smallLLM)
   - 快速路径:fast_chitchat, fast_rag, fast_tool

3. 自动升级机制
   - 快速路径失败 → 自动回到 React 循环
   - SSE 事件增强:intent_classified, path_decision, fast_path_*, escalation

4. 向后兼容
   - build_react_main_graph(use_hybrid_router=True/False)
   - 可选择启用或禁用混合路由

5. 更新 intent.py
   - 支持 use_small_llm 参数
   - 保留原有完整功能供 React 循环使用
2026-05-03 16:45:46 +08:00
c4c86a5476 update: 升级模型版本 - 智谱 glm-4.7-flash -> glm-5.1, DeepSeek deepseek-reasoner -> deepseek-v4-pro
All checks were successful
构建并部署 AI Agent 服务 / deploy (push) Successful in 5m43s
2026-05-01 02:56:09 +08:00
3b16f7dd38 fix: 改进服务可用性检测 - 本地VLLM实际测试连接,智谱rerank降级到LLM方案
All checks were successful
构建并部署 AI Agent 服务 / deploy (push) Successful in 5m52s
2026-05-01 02:15:02 +08:00
3bf0446ef8 feat: 修复数据库持久化,完善服务降级机制
All checks were successful
构建并部署 AI Agent 服务 / deploy (push) Successful in 5m37s
- 恢复使用 AsyncPostgresSaver 持久化短期记忆
- 添加 LLM 作为 Rerank 服务的最后降级方案
- 完善降级链:Local llama.cpp → Zhipu Rerank → LLM Fallback
2026-04-30 17:45:06 +08:00
aad7cb9829 修复嵌入服务,使用自定义 ZhipuAI 嵌入实现
All checks were successful
构建并部署 AI Agent 服务 / deploy (push) Successful in 13m44s
2026-04-29 22:08:47 +08:00
d6805d1db8 修复重构后的导入错误和缺失模块
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Failing after 6m26s
2026-04-29 17:23:20 +08:00
17c1fab41c fix: 修复导入错误 BaseReranker -> BaseRerankService
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Failing after 6m20s
2026-04-26 21:35:31 +08:00
534ee129c0 refactor: 将生成式大模型提取为服务层架构,移除 llm_factory
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Failing after 6m0s
2026-04-26 12:00:57 +08:00
f63c394fcd refactor: 重构 rerank 架构,分离服务层和业务逻辑
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Has been cancelled
- rerank_services.py:纯服务层,只负责调用 rerank server
- rag/rerank.py:业务逻辑层,负责文档处理、排序、top_n
- 更新 pipeline.py 使用新架构
- 架构与 embedding_services.py 保持一致
2026-04-26 11:57:42 +08:00
8db63e7a8d 重构:添加模型服务模块,支持嵌入和重排服务的自动降级
新增功能:
- 创建 app/model_services 模块,提供统一的模型服务获取接口
- 实现 BaseServiceProvider 基类和 FallbackServiceChain 降级链
- 实现 get_embedding_service():优先本地 llama.cpp,降级到智谱 API
- 实现 get_rerank_service():优先本地 llama.cpp,降级到智谱 API
- 支持单例管理,确保全局只有一个服务实例

修改内容:
- 更新 app/config.py,添加智谱 API 相关配置
- 修改 rag_core/vector_store.py:支持接受外部传入的 embeddings
- 修改 rag_core/retriever_factory.py:支持接受外部传入的 embeddings
- 修改 app/agent/rag_initializer.py:使用 get_embedding_service()
- 修改 app/rag/pipeline.py:使用 get_rerank_service()
- 修改 app/memory/mem0_client.py:智能判断可用服务配置 mem0
- 修改 rag_indexer/index_builder.py:支持使用新服务,保持向后兼容
- 修改 rag_indexer/config.py:添加智谱配置

环境变量:
- ZHIPUAI_API_KEY:智谱 API 密钥(必选)
- ZHIPU_EMBEDDING_MODEL:可选,默认 embedding-3
- ZHIPU_RERANK_MODEL:可选,默认 rerank-2
- ZHIPU_API_BASE:可选,默认 https://open.bigmodel.cn/api/paas/v4
2026-04-24 22:52:36 +08:00