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。
相关推荐
m0_641889291 分钟前
GEO监测工具准确性怎么检验?两周POC实测清单与验收标准
人工智能·geo·智能营销·geo优化·geo平台
德林恩宝4 分钟前
搜索 Agent 的两条路——训练一个,还是工程搭一个
人工智能·大模型·llm·agent
在所不辞兄5 分钟前
【零基础学智能仿真-58】Foam-Agent协作与知识检索
人工智能·深度学习·神经网络·机器学习·有限元·仿真计算
cc_瀚海知行5 分钟前
工具调用 6|助手什么时候该停下来?
java·服务器·前端·人工智能·python·ai
Martina_03216 分钟前
AI生成3D模型UV岛太碎,重绘贴图全是接缝?用6步重整UV并保留原材质
图像处理·人工智能·3d·自然语言处理·贴图·uv·游戏策划
youdexiang19 分钟前
Android录音APP微信语音导入机制详解
人工智能·语音识别
悟天特斯23 分钟前
楼宇自控的“协同优化“:从设备控制到系统级节能与舒适平衡
人工智能·物联网
叫我啊腻32 分钟前
Nano Banana 2.1 深度测评:升级了哪些,和 GPT Image 2.5 怎么选?
人工智能
johnsong32 分钟前
AI前沿日报 2026-10-21:开源AI全面反击
人工智能·开源
漫步人生走在路上34 分钟前
外贸SEO中的品牌词与产品词策略:大卖家和小卖家的不同打法
大数据·javascript·网络·数据库·人工智能·搜索引擎