RAG框架思路
一、核心功能模块:
1. 文档加载 (LoadFile)
-
支持多种文档加载方式:PyMuPDF、PyPDF、Unstructured
-
文件上传和处理功能
-
文档预览和管理功能
2. 文档分块 (ChunkFile)
-
支持多种分块策略
-
块内容预览功能
-
分块文档管理功能
3. 文档解析 (ParseFile)
-
多种解析选项:全文、分页、按标题等
-
解析结果预览功能
-
支持表格和文本混合解析
4. 向量嵌入 (EmbeddingFile)
-
支持多个嵌入提供商:OpenAI、Bedrock、HuggingFace
-
嵌入结果管理功能
-
嵌入可视化功能
5. 向量索引 (Indexing)
-
支持多种向量数据库:Milvus、Pinecone等
-
索引管理功能
-
集合操作接口
6. 相似度搜索 (Search)
-
语义搜索功能
-
结果过滤和排序功能
-
搜索结果保存功能
7. 文本生成 (Generation)
-
支持多个生成模型
-
上下文感知生成功能
-
结果保存功能
二、前端框架设计与用户界面设计
1. 前端技术栈和项目结构
-
基础框架: React + Vite
-
样式管理: TailwindCSS
-
路由管理: React Router
2. 用户界面设计
导航系统
-
左侧固定导航栏,提供清晰的功能模块分类
-
功能模块选择后,右侧显示对应的功能页面
组件化设计
-
页面布局:
-
主功能模块采用统一布局:左侧控制面板 + 右侧内容显示
-
使用Grid系统实现响应式布局
-
-
状态管理:
-
使用React Hooks进行状态管理
-
统一的错误处理和状态提示机制
-
-
API交互:
-
采用统一的后端接口调用模式
-
包含错误处理和加载状态管理功能
-
三、后端技术栈设计
核心框架
-
使用 FastAPI 作为后端框架
AI模型集成
-
支持两种AI模型提供商:
-
OpenAI API
-
HuggingFace
-
模块化设计
-
每个功能模块对应独立的service文件:
-
loading_service.py
- 文档加载模块 -
embedding_service.py
- 向量嵌入模块 -
parsing_service.py
- 文档解析模块 -
indexing_service.py
- 向量索引模块 -
search_service.py
- 相似度搜索模块 -
generation_service.py
- 文本生成模块
-
数据处理流程
-
每个功能模块的处理结果以JSON格式保存,文件名就是文档名_时间戳
-
采用链式调用模式,前一步的输出作为下一步的输入
基于以上内容创建一个项目框架,完成上述功能的实现