思渡AI Logo
技术架构文档知识库模块设计

知识库模块设计

企业级 AI 知识库 (Knowledge Base) 建设方案

1. 产品功能清单 (Feature List)

本模块旨在为数字员工提供“长期记忆”和“专业知识”,使其在内容创作、营销问答中具备企业私有领域的上下文。

1.1 知识库管理 (Knowledge Repo Management)

  • 知识库列表: 展示所有已创建的知识库(如“产品手册”、“营销话术”、“竞品资料”)。
  • 新建/编辑/删除: 支持自定义知识库名称、描述和图标。
  • 状态概览: 首页直接显示每个库包含的文档数量、文档总大小。

1.2 文档资产管理 (Document Asset)

  • 多格式上传: 支持 .pdf, .docx, .txt, .md 文件拖拽上传(单文件最大限制 50MB)。
  • 网页数据摄入 (Web Crawler): [进阶] 输入 URL(如官网产品页),系统自动抓取并解析内容入库。
  • 解析状态监控:
    • 排队中解析中索引完成失败(需展示失败原因)。
  • 文档切片管理: [后台隐式] 查看文档被切分成了多少个片段 (Chunks)。

1.3 智能索引与检索 (Indexing & Retrieval)

  • 自动清洗 (ETL): 去除文档中的乱码、多余空行。
  • 语义向量化: 使用 Embedding 模型将文本转为向量存储。
  • 混合检索: 结合关键词匹配与语义相似度(Cosine Similarity)。

1.4 知识库调试工作台 (Playground)

  • 库内对话测试: 在详情页右侧提供聊天窗口,仅基于当前知识库回答问题。
  • 引用溯源: AI 回答问题时,必须高亮显示参考了哪个文档的哪一段(Source verification)。
  • 置信度阈值: 显示召回片段的相似度分数(如:相似度 0.85)。

2. 技术架构与解决方案 (Technical Architecture)

2.1 核心架构图

graph LR
    User[用户 (Web Console)] -- 上传/提问 --> API[后端 API (FastAPI)]
    API -- 读取/写入 --> DB[(PostgreSQL)]
    
    subgraph "RAG 处理链路 (Digital Brain)"
        API -- 1.上传文件 --> Parser[文档解析器 (LangChain)]
        Parser -- 2.文本切片 --> Splitter[切片器]
        Splitter -- 3.文本 --> EmbedModel[Embedding 模型]
        EmbedModel -- 4.向量向量 --> VectorStore[PGVector (in PostgreSQL)]
    end
    
    subgraph "检索链路"
        User -- 提问 --> EmbedModel
        EmbedModel -- Query向量 --> VectorStore
        VectorStore -- Top K 片段 --> LLM[大模型 (生成回答)]
        LLM -- 回答+引用 --> User
    end

2.2 数据库设计 (PostgreSQL + pgvector)

利用 pgvector 扩展,直接在 PG 中存储向量。

实体关系模型 (ERD):

  1. knowledge_bases (知识库表)

    • id: PK
    • name: 名称
    • description: 描述
    • created_by: 关联用户 ID
  2. knowledge_docs (原始文档表)

    • id: PK
    • kb_id: FK -> knowledge_bases.id
    • filename: 文件名
    • file_path: 物理存储路径
    • status: (pending/parsing/indexed/failed)
    • meta_info: JSON (页数, 作者等)
  3. knowledge_chunks (向量切片表) -> 核心 RAG 表

    • id: PK
    • doc_id: FK -> knowledge_docs.id
    • content: 切分后的文本内容 (Text)
    • embedding: 向量字段 (vector(1536) - 对应 OpenAI Ada-002)
    • chunk_index: 序号

2.3 关键技术栈

  • 前端: Next.js 14 (App Router)
  • 后端: FastAPI (现有)
  • ORM: SQLAlchemy + AsyncPG
  • RAG 框架: LangChain Community (用于 Loaders) + LangChain Core
  • 向量扩展: PostgreSQL pgvector (无需额外部署 ChromaDB/Milvus,大大降低运维成本)