来源:互联网 更新时间:2026-08-04 14:18
RAG(检索增强生成)模型在NLP和信息检索领域确实是个好东西,但一碰到复杂的PDF文档、密集的非结构化文本数据,问题就来了——传统方法常常力不从心。SuperpoweredAI开源的spRAG,正是冲着这个痛点来的。它专门处理金融报告、法律文件、学术论文这类“高密度”文本,在复杂查询上的表现相当亮眼。

传统RAG模型有个通病:只盯着零散的文本块,完全不管整篇文档在说什么。AutoContext技术就是来破这个局的。它的思路很直接——在把文本切块嵌入之前,先自动把文档级别的上下文信息“塞进”每个块里,让嵌入的表示更准确、更完整。
# auto_context.py
from sprag.llm import LLM
import tiktoken
# ... (PROMPT, TRUNCATION_MESSAGE 等常量定义)
def truncate_content(content: str, max_tokens: int):
# ... (使用 tiktoken 库进行文本截断)
def get_document_context(auto_context_model: LLM, text: str, document_title: str, auto_context_guidance: str = ""):
# ... (截断文本,构建 prompt,调用 LLM 生成文档摘要)
def get_chunk_header(file_name, document_context):
# ... (将文件名和文档摘要拼接成 chunk header)
代码里的get_document_context函数负责干活:用LLM模型和预设的提示模板,生成1-2句话的文档摘要,把主题和关键信息提炼出来。它还会根据内容长度做截断,确保塞进模板后调用LLM生成摘要。然后get_chunk_header把文件名和摘要拼成“块头”,加到每个文本块的开头。这样一来,每个块都知道自己来自哪份文档、整体在讲什么,嵌入质量自然就上去了。
这种做法的好处很明显:检索结果更准、更相关;下游任务(问答、摘要等)因为有了更完整的上下文,模型误解的概率也大大降低。
RSE是spRAG的另一个杀手锏。传统RAG固定块长,经常把相关的内容割裂开。RSE的思路是:先智能识别和组合相关文本块,给语言模型提供更丰富的上下文。
# rse.py
import numpy as np
# ... (convert_rank_to_value 函数定义)
def get_best_segments(all_relevance_values: list[list], document_splits: list[int], max_length: int, overall_max_length: int, minimum_value: float) -> list[tuple]:
# ... (利用优化算法寻找最佳文本段组合)
def get_meta_document(all_ranked_results: list[list], top_k_for_document_selection: int = 7):
# ... (获取所有相关文档的信息,包括文档分割点和每个文档在元文档中的起始位置)
def get_relevance_values(all_ranked_results: list[list], meta_document_length: int, document_start_points: dict[str, int], unique_document_ids: list[str], irrelevant_chunk_penalty: float, decay_rate: int = 20):
# ... (计算每个文本块的 relevance value)
工作原理分三步走:
RSE的优势在于灵活性和准确性——可以根据问题动态组合上下文,而不是死板地切块。核心函数里,convert_rank_to_value把排序结果转成相关度分数,get_best_segments用优化算法找最佳组合,get_meta_document和get_relevance_values负责计算和定位。
spRAG的组件设计得很灵活,可以按需替换。
哪里需要处理密集文本,哪里就有它的用武之地:
在FinanceBench基准测试中,spRAG的准确率高达83%,远超传统RAG模型。这成绩背后,AutoContext和RSE功不可没,当然也离不开灵活的技术架构和可定制的组件。可以说,spRAG在处理各类非结构化文本数据时,确实能提供更准确、更全面的信息检索服务。
Ondo将于今日上线股票永续合约
Intel喜讯连连:18A工艺良率提升到85%、CPU将涨价15%
晶核艾尔莎角色盘点 晶核艾尔莎强度分析与实战表现
区块链OTC交易所有哪几家比较正规?
黄金价格不断创新高!黄金稳定币XAU、PAXG市值达11亿美元
AMD英特尔集体失眠!英伟达Rosa CPU搭载Rigel核:单核性能碾压x86
遗忘之海密室通关教程 遗忘之海密室全关卡解谜思路与难点解析
CC币价格预测(2026-2035):Canton币今日价格走势+长期价格预测
新浪机器学习热点小时报丨2026年07月25日18时_今日实时机器学习热点速递
异环伊洛伊阵容怎么搭配
新破天一剑太极刀任务攻略 破天一剑怎么取太极刀
潜水员戴夫丛林DLC接吻的鱼任务攻略
五千元以下的笔记本几乎消失!经销商:至少一年看不到涨价尽头
Windows环境下Claude Code从C盘迁移至D盘的完整操作教程
华为Mate 70系列首发的红枫镜头下放至千元档:全员普及原色影像
币安投票上币与下币机制解析:买票争议与规则边界
合集38个项目筹集5.406亿美元 Figure融资2亿
微软Copilot AI漏洞可致敏感数据泄露,企业用户需及时更新
《探索流放之路物品等级的奥秘》 揭秘物品等级的效果和怎么查看
逆战未来s3出什么新角色 逆战未来S3赛季新角色爆料
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc