Skip to content

[Proposal] 本地 RAG 课程知识库与可信检索 #7

Open

Description

@gdemoni

背景

课程教学场景要求回答基于教材、课件和讲义,而不是只依赖大模型参数记忆。EduAvatar 已采用 BGE 嵌入模型和 FAISS 构建本地课程知识库,并在本地未命中时使用网络搜索兜底。

目标

完善本地 RAG 知识库的导入、更新、检索和来源追踪能力,使课程资料能够持续维护,回答结果可验证、可追溯。

当前能力

  • 支持从 TXT、PDF、Word、PPT 等课程资料加载文本。
  • 使用文本分块和 BGE 中文嵌入模型生成向量。
  • 使用 FAISS 在本地保存和检索知识片段。
  • 提供命令行方式构建知识库和执行查询测试。
  • Agent 优先检索本地知识库,本地未命中时可降级到网络搜索。
  • 知识库管理服务已提供上传、目录构建、知识列表和检索接口。

Proposal(后续完善)

  • 支持增量导入,避免新增资料时全量重建索引。
  • 根据文件哈希和内容指纹识别重复文档与重复分块。
  • 支持按来源删除文档,并安全重建或压缩 FAISS 索引。
  • 在检索结果和最终回答中保留文件名、页码或分块来源。
  • 增加索引版本、嵌入模型版本和构建时间等元数据。
  • 为损坏文件、空文档、编码错误和模型加载失败提供明确提示。

验收标准

  • PDF、Word、TXT 和 PPT 资料均可成功导入并检索。
  • 重复上传同一文档不会产生重复知识分块。
  • 新增单个文档时可以增量更新知识库。
  • 可以按来源查看和删除已导入的课程资料。
  • 检索结果包含来源文件及可用的定位信息。
  • 本地未命中时 Agent 能自动降级,并在回答中说明来源。
  • 索引或嵌入模型异常时返回可理解的错误信息。

涉及模块

  • rag/rag_faiss_build.py
  • rag/rag_faiss_query.py
  • backend/agent/src/react_agent/tools.py
  • faiss_frontend/app.py
  • faiss_store/

Activity

  1. github-actions commented on Aug 31, 2026

    @github-actions

    你好!虽然你是主人,但我还是检测到你发了新 Issue!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions