Skip to content

CanFlyhang/RAGKnowledgeBase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

智能知识库问答系统 (RAG-Based QA System)

这是一个基于检索增强生成 (RAG, Retrieval-Augmented Generation) 技术构建的 Web 问答系统。它允许知识库所有者上传私有文档,并使访问者能够基于这些文档进行智能问答。

1. 项目可行性分析

该方案在技术上是完全可行的。

  • 技术基础:利用大语言模型 (LLM) 的上下文理解能力,配合向量数据库 (Vector Database) 进行语义检索。
  • 核心逻辑
    1. 知识导入:文档 -> 切片 -> 向量化 (Embedding) -> 存储至向量数据库。
    2. 问答流程:用户提问 -> 提问向量化 -> 检索相似知识切片 -> 组合 Prompt -> LLM 生成回答。
    3. 记录保存:问答对及引用的知识点实时保存至关系型数据库,用于历史追溯。

2. 技术栈推荐

  • 前端:React.js / Next.js + Tailwind CSS (构建现代化 UI)
  • 后端:Python (FastAPI / Flask) 或 Node.js (NestJS)
  • 大模型框架:LangChain 或 LlamaIndex (核心 RAG 编排)
  • 向量数据库:ChromaDB / Pinecone / Milvus (存储向量化知识)
  • 关系数据库:PostgreSQL / MySQL (存储用户信息及对话历史)
  • 模型支持:OpenAI (GPT-4o), Claude, 或本地部署的 DeepSeek / Llama 3

3. 系统架构

graph TD
    A[所有者] -->|上传文档| B(后端 API)
    B --> C{切片与向量化}
    C --> D[(向量数据库)]
    
    E[普通用户] -->|发起提问| B
    B --> F{检索相似知识}
    D --> F
    F --> G[组合 Prompt]
    G --> H(大语言模型 LLM)
    H -->|生成回答| B
    B -->|保存对话| I[(关系型数据库)]
    B -->|返回答案| E
Loading

4. 核心功能模块设计

4.1 知识管理 (Owner Only)

  • 文档上传:支持 PDF, Markdown, TXT, Word 等格式。
  • 自动处理:后端自动完成文本提取、分段 (Chunking) 和向量化。
  • 清空/更新:所有者可以管理知识库内容,清空后模型回归通用状态。

4.2 智能问答 (Public/Private)

  • 语义检索:根据用户问题从向量库中匹配最相关的知识。
  • 兜底机制:若知识库为空或检索不到相关内容,调用 LLM 通用能力回答。
  • 引用溯源:回答中会注明参考了哪些文档片段。

4.3 历史记录 (Persistent)

  • 对话存储:保存用户提问、AI 回答、匹配的知识片段及时间戳。
  • 反馈系统:用户可以对回答进行点赞/踩,帮助优化知识库。

5. 数据库设计 (简易版)

knowledge_meta (知识元数据)

字段 类型 说明
id UUID 主键
filename String 文件名
status Enum 处理状态 (Success/Processing/Failed)

chat_history (问答记录)

字段 类型 说明
id UUID 主键
question Text 用户问题
answer Text AI 回答
context_used JSON 使用到的知识切片引用
created_at Timestamp 创建时间

6. 后续开发建议

  1. Prompt 优化:设计严谨的系统提示词,要求模型“若知识库中没有相关信息,请告知用户”。
  2. 流式响应:使用 Server-Sent Events (SSE) 实现打字机效果,提升用户体验。
  3. 多租户支持:未来可以扩展为支持多个所有者拥有各自独立的知识库。

About

这是一个基于检索增强生成 (RAG, Retrieval-Augmented Generation) 技术构建的 Web 问答系统。它允许知识库所有者上传私有文档,并使访问者能够基于这些文档进行智能问答。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors