spRAG开源项目:5分钟快速安装与使用终极指南
【免费下载链接】spRAGRAG framework for challenging queries over dense unstructured data项目地址: https://gitcode.com/gh_mirrors/sp/spRAG
spRAG开源项目是一个专为处理复杂非结构化数据设计的检索增强生成框架,特别擅长处理金融报告、法律文档和学术论文等密集文本的挑战性查询。相比于传统的RAG系统,spRAG在复杂开放书本问答任务中实现了显著更高的准确性,在FinanceBench基准测试中准确率高达96.6%,远超传统RAG的32%表现。
🔧 环境准备与基础安装
系统要求
在开始安装spRAG开源项目之前,请确保您的系统满足以下要求:
- Python 3.8 或更高版本
- 可用的网络连接(用于下载依赖包)
- 至少2GB可用磁盘空间
快速安装步骤
安装spRAG非常简单,只需一条命令:
pip install dsrag如果您需要使用VLM文件解析功能,还需要安装poppler依赖:
brew install poppler # MacOS用户API密钥配置
为了充分发挥spRAG的强大功能,您需要配置以下第三方API密钥作为环境变量:
OPENAI_API_KEY:用于嵌入、AutoContext和语义分段CO_API_KEY:用于重新排序GEMINI_API_KEY:用于VLM文件解析
🚀 快速上手教程
创建知识库
使用spRAG的第一步是创建知识库。您可以直接从文件创建知识库:
from dsrag.create_kb import create_kb_from_file file_path = "tests/data/levels_of_agi.pdf" kb_id = "levels_of_agi" kb = create_kb_from_file(kb_id, file_path)查询知识库
创建知识库后,您可以轻松进行查询:
from dsrag.knowledge_base import KnowledgeBase kb = KnowledgeBase("levels_of_agi") search_queries = ["What are the levels of AGI?", "What is the highest level of AGI?"] results = kb.query(search_queries) for segment in results: print(segment)⚙️ 基础配置与自定义
自定义模型配置
您可以根据需要自定义spRAG的配置。例如,如果您只想使用OpenAI:
from dsrag.llm import OpenAIChatAPI from dsrag.reranker import NoReranker llm = OpenAIChatAPI(model='gpt-4o-mini') reranker = NoReranker() kb = KnowledgeBase(kb_id="levels_of_agi", reranker=reranker, auto_context_model=llm)向量数据库支持
spRAG支持多种向量数据库,您可以根据需要安装特定的支持:
# 安装Faiss支持 pip install dsrag[faiss] # 安装Chroma支持 pip install dsrag[chroma] # 安装Weaviate支持 pip install dsrag[weaviate] # 安装所有向量数据库支持 pip install dsrag[all-vector-dbs]🏗️ 核心架构解析
六大核心组件
spRAG的架构围绕六个关键组件构建,每个组件都支持自定义配置:
- VectorDB:存储嵌入向量和少量元数据
- ChunkDB:存储文本块内容的嵌套字典格式
- Embedding:定义嵌入模型
- Reranker:在向量数据库搜索后提供更准确的块排名
- LLM:用于文档标题生成、文档摘要和AutoContext中的章节摘要
- FileSystem:用于保存VLM文件解析的PDF图像
性能优化技术
spRAG通过三种关键技术提升性能:
语义分段:使用LLM将文档划分为语义连贯的章节,每个章节从几个段落到几页不等。
AutoContext:创建包含文档级和章节级上下文的上下文块头,在嵌入之前将这些块头添加到块中,显著提高检索质量。
相关段提取(RSE):查询时后处理步骤,将相关块集群智能组合成更长的文本段。
📊 性能表现评估
FinanceBench基准测试
在FinanceBench基准测试中,spRAG取得了令人瞩目的成绩:
- 传统RAG基线:32%准确率
- spRAG配置:96.6%准确率
KITE基准测试
在自建的KITE基准测试中,spRAG展示了卓越的性能提升:
- 基线检索:4.72分
- CCH+RSE组合:8.42分
- 性能提升:78%
🔍 高级功能配置
VLM客户端配置
spRAG支持视觉语言模型的类抽象模式:
from dsrag.knowledge_base import KnowledgeBase from dsrag.dsparse.file_parsing.vlm_clients import GeminiVLM kb = KnowledgeBase( kb_id="my_kb", vlm_client=GeminiVLM(model="gemini-2.0-flash")元数据查询过滤
某些向量数据库支持查询时的元数据过滤,这使您能够更好地控制搜索哪些文档。
💡 最佳实践建议
文档处理流程
- 文档 → VLM文件解析 → 语义分段 → 分块 → AutoContext → 嵌入 → 块和向量数据库更新
查询处理流程
- 查询 → 向量数据库搜索 → 重新排序 → RSE → 结果
spRAG开源项目为处理复杂非结构化数据提供了完整的解决方案,从简单的安装配置到高级的自定义功能,都能够满足不同用户的需求。通过本指南,您应该能够在5分钟内完成spRAG的安装和基础配置,开始构建高效的检索增强生成应用。
【免费下载链接】spRAGRAG framework for challenging queries over dense unstructured data项目地址: https://gitcode.com/gh_mirrors/sp/spRAG
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考