返回顶部
r

rag-accuracy-optimizerRAG精度优化器

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.3.0
安全检测
已通过
119
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

rag-accuracy-optimizer

RAG 精度优化器

用于优化 RAG 系统端到端精度的技能。

工作流程概览

数据设计 → 分块 → 索引 → 检索 → 生成 → 测试 → 监控

每个步骤都会影响精度。按顺序优化每个步骤。



1. 结构化数据设计

SQL 与向量数据库 — 何时使用哪种?

标准SQL (PostgreSQL, MySQL)向量数据库 (Pinecone, Qdrant, Weaviate)
精确事实 (价格、日期、产品代码)✅ 最佳❌ 不适合
语义搜索 (查询含义)
❌ 不支持 | ✅ 最佳 | | 聚合 (SUM, COUNT, AVG) | ✅ 原生支持 | ❌ 不支持 | | 模糊匹配 (类似于...) | ⚠️ 有限 | ✅ 最佳 | | 混合 (推荐) | 使用 pgvector 实现两者 | 向量数据库 + SQL 元数据存储 |

原则: 结构清晰的数据 → SQL。需要语义理解的非结构化数据 → 向量数据库。大多数生产系统需要两者

按领域的模式设计

保险:

policies(policyid, producttype, effective_date)
clauses(clauseid, policyid, clause_number, title, content)
exclusions(exclusionid, clauseid, description)
-- 向量:clause.content + exclusion.description 的嵌入

金融:

securities(ticker, name, sector, exchange)
reports(reportid, ticker, period, reporttype)
sections(sectionid, reportid, heading, content)
-- 向量:section.content 的嵌入,元数据:ticker + period

医疗:

drugs(drugid, genericname, brand_name, category)
guidelines(guidelineid, condition, recommendation, evidencelevel)
interactions(drugaid, drugbid, severity, description)
-- 向量:guidelines.recommendation 的嵌入

电商:

products(product_id, name, category, brand, price)
reviews(reviewid, productid, rating, content)
specs(product_id, attribute, value)
-- 向量:review.content + product description 的嵌入

元数据标记策略

每个块/文档至少需要:

python
metadata = {
source: policydocv2.pdf, # 来源
source_type: pdf, # 文件类型
domain: insurance, # 领域
category: life_insurance, # 分类
entity_id: POL-2024-001, # 相关实体 ID
section: exclusions, # 文档中的章节
chunk_index: 3, # 块位置
total_chunks: 12, # 文档总块数
created_at: 2024-01-15, # 创建日期
version: 2.0, # 版本
language: en # 语言
}

元数据原则:

  • - 始终包含 source 以实现可追溯性和引用
  • entityid 支持在搜索前进行预过滤 → 减少噪音
  • chunkindex + totalchunks 支持获取周围上下文
  • 领域特定字段 (clausenumber, ticker, drug_id) 因用例而异

规范化与反规范化

规范化反规范化
优点更少重复,易于更新查询更快,更少 JOIN
缺点
需要 JOIN,速度较慢 | 重复,更难同步 | | 使用场景 | 数据源 (SQL) | 向量存储块 |

建议: SQL 源使用规范化 → 为向量数据库创建块时使用反规范化。每个块应包含足够的上下文,检索时无需 JOIN。



2. 分块策略

详细代码示例:阅读 references/chunking-patterns.md

选择正确的策略

数据有清晰的结构(条款、章节)?
→ 语义分块(按标题/章节)

长连续数据(文章、转录稿)?
→ 固定大小 + 重叠(512 tokens,10-20% 重叠)

需要概览 + 细节?
→ 分层分块(父子结构)

具有自身逻辑单元的领域特定数据?
→ 领域特定分块

块大小指南

大小用例权衡
128-256 tokens常见问题、简短定义高精度,上下文较少
256-512 tokens
推荐默认值 | 良好平衡 | | 512-1024 tokens | 复杂文本、法律文档 | 更多上下文,潜在噪音 | | >1024 tokens | 很少使用 | 噪音过多 |

语义分块

按含义(章节、主题)而非固定大小进行分割:

python

按 Markdown 标题分割


按段落分隔符 (\n\n) 分割


按主题变化分割(使用 NLP 或 LLM 检测)

重叠策略

  • - 相邻块之间 10-20% 重叠
  • 确保边界处的信息不会丢失
  • 块 N 以块 N+1 的 1-2 个开头句子结束

分层分块(父子结构)

文档(摘要)
└── 章节(标题 + 关键点)
└── 段落(详细信息)

  • - 在段落级别搜索(最详细)
  • 匹配时,拉取父章节以获取额外上下文
  • 在元数据中保留 parent_id

领域特定分块

  • - 保险: 1 个块 = 1 个条款
  • 金融: 1 个块 = 1 个报告章节,元数据 = ticker + period
  • 医疗: 1 个块 = 1 个指南/建议
  • 电商: 1 个块 = 1 条评论或 1 个产品描述
  • 法律: 1 个块 = 1 条/款/节

每个块的元数据丰富化

每个块应丰富以下内容:

  • - 摘要: 1-2 句内容摘要(LLM 生成)
  • 关键词: 关键术语(支持 BM25)
  • 问题: 该块可以回答的 2-3 个问题(假设性问题)
  • 实体: 命名实体(产品名称、代码、日期)



3. 检索优化

详细代码示例:阅读 references/retrieval-patterns.md

推荐的检索流程

用户查询
→ 查询重写(扩展/改写)
→ 多查询生成(3-5 个变体)
→ 元数据过滤(缩小范围)
→ 混合搜索(向量 + BM25)
→ 合并与去重
→ 重排序(前 20 → 前 5)
→ 上下文压缩
→ LLM 生成(带引用)

混合搜索(向量 + BM25)

  • - 向量搜索: 按含义查找(语义相似度)
  • BM25(关键词): 按精确关键词查找(产品名称、代码)
  • 组合: 加权融合或倒数排名融合(RRF)

finalscore = α × vectorscore + (1-α) × bm25_score

α = 0.7 是一个好的起点,按领域调整

查询重写

使用 LLM 改写用户问题以提高清晰度:

用户:保险赔吗?
→ 重写:人寿保险在什么情况下支付赔偿金?

多查询

从 1 个问题生成 3-5 个变体 → 搜索每个变体 → 合并结果:

原始:哪家银行储蓄利率最高?
查询 1:比较 2024 年各银行储蓄利率
查询 2:目前存款利率最高的银行
查询 3:最佳存款利率的顶级银行

重排序

检索后,使用重排序模型按相关性重新排序:

  • - Cohere Rerank: 简单 API,非常有效
  • 交叉编码器: 比双编码器更准确,但速度较慢
  • GPT 重排序: 使用 LLM 评估相关性(昂贵但灵活)

检索前 20 个 → 重排序 → 取前 3-5 个用于生成。

上下文压缩

重排序后,压缩每个块:仅保留与问题相关的部分。

原始块(500 tokens) → 压缩后(150 tokens,仅相关部分)

减少噪音,节省上下文窗口,提高精度。

元数据过滤

在向量搜索之前缩小搜索空间:

python

而不是搜索所有 100 万个块:


filter = {domain: insurance, product_type: life}
#

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 rag-accuracy-optimizer-1776052821 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 rag-accuracy-optimizer-1776052821 技能

通过命令行安装

skillhub install rag-accuracy-optimizer-1776052821

下载

⬇ 下载 rag-accuracy-optimizer v1.3.0(免费)

文件大小: 67.52 KB | 发布时间: 2026-4-14 10:10

v1.3.0 最新 2026-4-14 10:10
**v1.3.0 summary: Major update with expanded references, enriched retrieval/testing scripts, and English documentation.**

- Updated documentation in English for broader accessibility (SKILL.md and references).
- Expanded and clarified advanced RAG, chunking, embedding, retrieval, and orchestrator pattern guides.
- Added or improved accuracy testing, chunk optimization, and embedding benchmarking scripts.
- Enhanced coverage for metadata schemas and domain-specific patterns.
- Improved evaluation and testing framework reference files.
- Broader vector DB and Vietnam NLP guidance.

Archiver·手机版·闲社网·闲社论坛·智能体自动化市场· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2026 闲社网·AI智能体论坛·AI自动化解决方案·http://xianshe.com

p2p_official_large
返回顶部