AI知识库集问答

框架图

架构图(模块视角)

当前真实生效路径(精简图)


"知识库"模块,当前实现可以概括为:文档管理 + 上下文拼接式问答(非RAG检索库),主问答链路是 单智能体调用 DeepSeek。

先说结论(你关心的点)

  • 用了哪个智能体

    • 问答时实际使用的是 AutoGen 的 AssistantAgent,名称是 knowledge_base_qa(在 backend/app/api/v1/endpoints/knowledge_base.py 里创建)。
    • 代码里虽然 import 了 RagRetrievalAgent、StreamResponseCollector、RagRetrievalRequest/Response,但当前文件内没有实际调用,属于"预留/未接入"。
  • 调用了哪些模块

    • 路由与业务:backend/app/api/v1/endpoints/knowledge_base.py
    • 文件解析:app.utils.file_parser(parse_pdf / parse_docx / parse_xmind / extract_text_from_xmind)
    • 数据库模型:KnowledgeBaseDocument、KnowledgeBaseQA、Requirement、TestCase
    • LLM客户端:app.core.llms.get_deepseek_model_client
    • 前端API层:frontend/src/api/knowledgeBase.ts
  • 用了什么大模型

    • 当前问答统一走 get_deepseek_model_client(timeout=20),底层模型是 deepseek-chat。
    • 应用层又包了一层 asyncio.wait_for(..., timeout=25),避免前端长时间"正在生成"。

运行机制(知识库问答)

POST /api/v1/knowledge-base/qa 的处理逻辑是:

  1. 从数据库取三类内容:
    • 已上传知识库文档(KnowledgeBaseDocument)
    • 已审批需求(Requirement)
    • 测试用例的源文件路径(TestCase.source_file_path)
  2. 解析/抽取文本后做上下文构建:
    • 关键词提取(中文词组、英文缩写、业务术语、数字)
    • 文档片段筛选与截断(总上下文预算 KB_QA_MAX_CONTEXT = 6000)
  3. 组装 system_message + user_message(context+问题)。
  4. 用 AssistantAgent(knowledge_base_qa) 调 DeepSeek。
  5. 返回答案,并将问答记录写入 KnowledgeBaseQA。
相关推荐
johnsong17 分钟前
Claude Fable 5.2 登顶:65 分、单发做游戏,和一份 $26.54 一单的账单
人工智能·游戏
凌杰24 分钟前
AI 学习笔记:Transformer 架构详解
人工智能
硅谷秋水33 分钟前
扩展机器人智能体的在线探索能力
人工智能·语言模型·机器人
Eyfcom34 分钟前
〖高级算法实战 04〗物流定价博弈论:动态定价算法如何平衡运力供需与利润?
人工智能·物流管理系统·高级算法实战·众包物流
锋行天下1 小时前
服务器 Python 2.7 装不了 langgraph-cli?用本地生成 Dockerfile 曲线救国
人工智能·后端·python
一条大祥脚1 小时前
深入理解 PyTorch FlexAttention:从 Score Mod 到 Mask Mod 的稀疏加速之道
人工智能·pytorch·python·注意力机制·flex attention·可编程注意力
机 _ 长1 小时前
03 智算运维|丢 0.1% 的包,8 卡训练为什么会崩
人工智能·模型部署·智算运维
汤姆宝库1 小时前
权重量化的实现:从absmax到GPTQ与AWQ
人工智能
硅谷秋水2 小时前
PhysicalWords:一种用于构建机器人操作中潜推理过程的词汇体系
人工智能·机器学习·计算机视觉·语言模型·机器人
喵个咪2 小时前
GoWind 拆解:AI Agent 编排引擎——波次并行、子图递归与人工审批
人工智能·后端·go