RAG7
使用我们新的智能知识库彻底改变您的氛围编码工作流程,该知识库可以无限扩展。
一个全面的知识管理系统,使用户能够通过摄取文档、网络内容和代码库来构建自定义AI助手。具有RAG支持的聊天、文档摘要和用于AI编码助手的MCP服务器集成功能。
______________________________________________________________________
1.技术栈
后端
- 框架:FastAPI(Python 3.12)
- 向量数据库:ChromaDB
- 关系数据库:PostgreSQL
- AI/ML:
- OpenAI API(GPT-4o,用于聊天的GPT-4o-mini) - OpenAI嵌入(文本嵌入3-small)
- Web剪贴:Crawl4AI(与剧作家/Chromium合作)
- MCP服务器:FastMCP(模型上下文协议)
- 容器化:Docker和Docker Compose
- 包管理:uv(超快Python包安装程序)
前端
- 框架:Next.js 14(TypeScript)
- UI组件:根UI+shadcn/UI
- 样式:顺风CSS
- 状态管理:反应挂钩
- 文件上传:React Dropzone
- PDF处理:pdfjs dist
基础设施
- 数据库PostgreSQL 15(通过Supabase或独立)
- 向量存储:ChromaDB(自托管或云)
- 部署:带有Docker compose的Docker容器
- 环境:Python 3.12-slim基础镜像
______________________________________________________________________
2.特点
核心知识库功能
文档管理
- 文件上传:支持PDF、DOCX、TXT、Markdown文件
- 文档分析:自动文本提取和分块
- 矢量嵌入:用于语义搜索的OpenAI嵌入
- 馆藏管理:创建、列出、查询和管理ChromaDB集合
- 文件统计:跟踪每个收藏的文件和记录
RAG供电聊天
- 语义搜索:使用自然语言查询集合
- 上下文感知响应:根据查询检索相关块
- 引用:每个回复都包括源引用
- 会话存储器:具有上下文保留功能的多回合对话
- 可配置RAG:可调节的相似性阈值、结果计数和上下文标记
- 模型选择:支持GPT-4o和GPT-4o-mini
文件摘要
- 分层汇总:高效的批处理(25块→ 摘要→ 最终总结)
- 成本有效:~22-23 LLM需要500个块
- PostgreSQL存储:存储摘要以供快速检索
- 自动摘要:文档上传时可选择自动摘要
- 摘要检索:查询存储的文档摘要
Web抓取功能
智能网络爬行
- 三种爬行策略:
1. 网站地图爬行:解析sitemap.xml并并行抓取所有URL 1. 文本文件爬网:直接检索.txt/markdown文件(例如llms.txt) 1. 递归内部链接:递归跟踪内部链接,直到max_depth
- 自动检测:根据URL自动选择最佳策略
- 智能分块:保留代码块,尊重段落边界
- 批量嵌入:具有重试逻辑的高效嵌入生成
- 内存管理:自适应调度程序可防止内存问题
- 进度记录:用于监控刮擦进度的详细日志记录
GitHub存储库报废
代码库摄取
- 存储库克隆:使用git克隆GitHub存储库
- 文件处理:提取代码和文档文件
- 语言支持:处理多种编程语言(Python、JavaScript、TypeScript、Java、Go、Rust等)
- 智能过滤:包含/排除文件选择模式
- 上下文保护:维护元数据中的文件路径和结构
- 分块:具有语言感知拆分功能的智能代码分块
- 进度跟踪:刮擦过程的逐步记录
MCP服务器集成
AI助手工具(用于光标、克劳德桌面等)
- 收藏工具:
- list_collections:列出所有ChromaDB系列 - get_collection_info:获取集合元数据和统计数据 - query_collection:使用RAG搜索收藏
- 聊天工具:
- rag_chat:与收藏中的RAG上下文聊天 - generate_chat_title:自动生成对话标题
- 配置工具:
- get_rag_config:获取当前RAG设置 - update_rag_config:更新RAG参数
- 文档工具:
- summarize_document:生成分层文档摘要 - get_document_summary:检索存储的摘要
- 报废工具:
- scrape_web_documentation:抓取和摄取web文档 - scrape_github_repo:抓取和摄取GitHub存储库
API终点
集合
GET /collections-列出所有收藏POST /collections-创建新收藏GET /collections/{name}-获取收藏信息GET /collections/{name}/files-获取文件统计信息POST /collections/{name}/upsert-上传和索引文档POST /collections/{name}/upsert-and-summarize-上传并自动摘要POST /collections/{name}/query-使用RAG查询集合DELETE /collections/{name}/delete-按文件名删除记录
聊天
POST /chat-RAG驱动的聊天端点POST /chat/generate-title-生成对话标题
配置
GET /rag/config-获取RAG配置PUT /rag/config-更新RAG配置
健康
GET /health-基本健康检查GET /health/chroma-ChromaDB连接检查GET /health/chroma/env-ChromaDB配置诊断
______________________________________________________________________
3.用例
面向学生和学习者
- 学习顾问:上传课堂讲稿、教科书和研究论文,以创建个性化的学习助手
- 研究伙伴:从多个来源建立知识库,并在所有材料中提问
- 考试准备:查询您上传的材料以测试理解并获得解释
面向开发者
- 代码库文档:废弃GitHub存储库,创建可搜索的代码库文档
- API文档:从网站获取API文档,以便在编码时立即访问
- 项目知识库:将代码、文档和设计决策组合到一个可查询的系统中
- IDE集成:编码时使用带Cursor/Claude Desktop的MCP服务器查询知识库
对于研究人员
- 文献综述:上传多篇研究论文并查询其中的见解
- 数据分析:从研究数据集和文档中创建知识库
- 协作:与团队成员共享知识库以进行协作研究
面向内容创作者
- 内容研究:废弃相关网站和文件,建立参考知识库
- 事实核查:上传源材料并快速验证信息
- 内容规划:查询知识库以查找内容创建的相关信息
对于企业
- 内部文件:从公司维基、文档和培训材料中创建可搜索的知识库
- 客户支持:从支持文档中构建知识库,以加快响应速度
- 入职:新员工可以查询公司知识库以更快地学习
- 合规:维护可搜索的政策、程序和法规档案
技术团队
- 架构文档:废弃技术文档网站并与内部文档合并
- 故障排除:查询知识库以获取常见问题的解决方案
- 最佳实践维护编码标准和最佳实践的可搜索存储库
- 集成指南:Ingest API文件来自多个来源,便于参考
______________________________________________________________________
快速开始
先决条件
- Docker和Docker Compose
- OpenAI API密钥
设置
- 克隆存储库
- 创建
.env使用您的OpenAI API密钥文件 - 跑
docker-compose up在backend目录 - 访问前端
http://localhost:3000 - 开始上传文档或抓取网络内容!
______________________________________________________________________
建筑亮点
- 双接口:用于前端的FastAPI REST API+用于AI助手的MCP服务器
- 可扩展的:基于Docker的部署,具有单独的服务
- 高效:批处理、智能分块和经济高效的摘要
- 可扩展:易于添加新的抓取源和集成
- 生产准备就绪:全面的错误处理、日志记录和健康检查
