Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

RAG检索增强

v1.0.0

当需要RAG检索内容时触发;完整的RAG系统优化方案,涵盖21+种策略(含Self-RAG、命题分块、片段提取、上下文压缩、引用溯源、查询意图、多跳检索、文档预处理);提供诊断工具、实现代码、配置模板与评估框架;帮助构建高准确率生产级RAG应用;当用户需要优化知识库问答、提升检索准确率、评估RAG系统效果、解决检...

0· 84·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for kiwifruit13/rag-optimization.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "RAG检索增强" (kiwifruit13/rag-optimization) from ClawHub.
Skill page: https://clawhub.ai/kiwifruit13/rag-optimization
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install rag-optimization

ClawHub CLI

Package manager switcher

npx clawhub@latest install rag-optimization
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
技能名称与描述(RAG 优化、诊断工具、评估框架、多个实现脚本)与仓内的脚本文件和参考文档高度一致;声明的 Python 依赖(anthropic、sentence-transformers、rank-bm25、networkx)也与实现需求相符。
Instruction Scope
SKILL.md 指示通过库内脚本(scripts/*.py)运行诊断、评估和各类优化流程,这与技能目的匹配。说明中会调用本地文档、评估用例与 LLM-based judge(通过 scripts/evaluate.py)。运行时会读取和处理本地文档、配置与测试用例(assets/test-cases-example.json、assets/config-template.json 等),这是合理的。但说明对需要提供哪些外部凭据和如何安全地提供输入文件缺乏明确提示。
Install Mechanism
这是一个 instruction-only 技能,并且仓内包含实现脚本、参考文档和配置模板;没有 install spec 或远端下载步骤,未见写盘/执行远程二进制的高风险安装动作。
!
Credentials
代码(例如 scripts/evaluate.py)直接创建并使用 anthropic.Anthropic() 客户端并调用模型 'claude-3-5-sonnet-20241022',这要求提供 Anthropic API 凭据(通常为环境变量或配置)。然而技能的 registry metadata / SKILL.md 中声明“Required env vars: none”,没有列出 ANTHROPIC_API_KEY 或等效凭据。这种未声明但实际需要外部凭据的不一致,会使用户在运行时意外暴露凭据或无法运行。除此之外,脚本以可配置方式接受 llm_client,但默认路径会尝试联网使用 Anthropic;在没有声明的情况下,这构成比例性/透明性问题。
Persistence & Privilege
技能没有要求始终驻留(always:false),也未声明修改系统或其他技能配置的行为;脚本只是处理文档和调用模型/本地逻辑,没有请求更高的持久权限。
Scan Findings in Context
[use_of_anthropic_client_in_evaluate_py] expected: 使用 LLM 作为评估器(Anthropic)与技能目标(RAG 评估/幻觉检测/LLM judge)是合理的,但它意味着需要外部 API 凭据;技能元数据中未声明此类凭据。
[llm_model_name_hardcoded_claude] expected: 脚本中硬编码了具体模型名(claude-3-5-sonnet-20241022),这与实现评估功能一致,但应提醒用户:硬编码模型会引导外部网络调用并产生费用/隐私影响,应允许替换或配置。
[no_pre_scan_injection_signals] expected: 前置静态注入信号未检测到(scanner 输出),这降低了直接恶意注入的证据,但并不证明代码无风险或不含不当行为。
What to consider before installing
要点与建议: 1) 关键不一致:仓内脚本会调用 Anthropic(LLM)进行评估/评分,但技能注册信息宣称“无需环境变量”。在安装或运行前,请确认你/平台是否会提供 Anthropic API Key(通常环境变量 ANTHROPIC_API_KEY 或平台凭据),并确认你愿意将评估请求发送到外部模型(会产生网络流量与潜在费用)。 2) 运行前审查:如果你计划在敏感数据上运行,先检查 scripts/*.py 中的哪些文本/文档会被发送到外部 LLM(scripts/evaluate.py、contextual_header.py、context_compression.py 等有 LLM 调用路径)。若不希望对外部模型发送数据,可修改配置以禁用 LLM 调用(许多模块支持传入 llm_client 或关闭 enable_llm_extraction)。 3) 配置与安全实践:在可信环境中运行,使用最小权限的 API key(如可限制用途/配额的密钥),并在运行前将 key 明确登记到技能元数据或文档中。若平台不提供安全的秘钥管理,不要将敏感或受保护的文档传到外部模型。检查 assets/config-template.json 与 references/* 文档,找出可配置项并明确哪些需要凭据或外部访问。 4) 其它风险:该仓库没有恶意或混淆的代码片段,但拥有较多处理/解析本地文档的脚本(文件 I/O、PDF/Word 解析)。在运行时请在隔离环境中测试,避免意外处理不受信任的二进制或格式化内容。若你不信任作者(owner ID 为未知值),在生产环境部署前做充分审计与测试。 如果你希望,我可以: - 列出 scripts 中所有会调用外部网络/LLM 的确切代码位置; - 帮你生成需要设置的环境变量清单与改写建议,使要求与元数据一致; - 或给出如何在本地仅用离线组件运行评估的改动建议(禁用 anthropic 调用)。

Like a lobster shell, security has layers — review code before you run it.

latestvk97ezbfj8vcpenfrxbgn07ek2x83sxyq
84downloads
0stars
1versions
Updated 1mo ago
v1.0.0
MIT-0

RAG检索优化技能

技能概述

本技能提供完整的RAG系统优化方案,涵盖21+种优化策略,帮助构建高准确率、生产级的RAG应用。

核心价值

  • 准确率可从 0.3 提升至 0.85+
  • 提供可落地的实施代码与配置模板
  • 包含完整的评估框架

适用场景:构建知识库问答、优化检索准确率、解决检索噪音、降低幻觉问题

环境准备与配置:详见 全局操作说明


一、问题诊断

痛点自查表

症状可能原因诊断方法
检索不到内容分块策略不当、向量模型不适配检查召回率(Recall@K)
检索到但答案不准检索噪音、重排序缺失检查精确率(Precision@K)
答案不完整上下文窗口不足、分块断裂检查上下文完整性
答案有幻觉检索内容不相关、模型过度推理对比答案与检索内容
简单问题答不对查询理解失败检查查询转换效果
复杂问题答不出缺乏多跳推理能力评估是否需要Graph RAG

基准测试

优化前建立基准指标:recall@10precision@5MRRanswer_accuracy

评估工具:调用 scripts/evaluate.py 进行系统评估


二、策略全景图

RAG优化策略
├── 检索前优化
│   ├── 语义分块 - 基于语义相似度动态分块
│   ├── 命题分块 - 拆解为最小事实单元
│   ├── 上下文头增强 - 添加元数据头部
│   ├── 由小到大检索 - 小块检索、大块返回
│   ├── 文档预处理 - 多格式标准化处理
│   └── 查询转换 - 扩展/分解/HyDE
│
├── 检索中优化
│   ├── 混合检索 - 向量 + BM25
│   ├── HyDE - 假设文档嵌入
│   ├── 多跳检索 - 迭代收集信息
│   ├── 查询意图识别 - 动态策略调整
│   └── 自适应检索 - 根据查询特征调整
│
├── 检索后优化
│   ├── 重排序 - 两阶段检索精排
│   ├── 相关片段提取 - 提取核心内容
│   ├── 上下文压缩 - 减少Token消耗
│   ├── 引用溯源 - 标注答案来源
│   └── 幻觉检测 - 验证答案可靠性
│
├── 生成控制
│   ├── Self-RAG/CRAG - 自我纠错与质量评估
│   └── 反馈循环 - 持续优化
│
└── 架构级优化
    ├── 分层索引 - 多级索引结构
    ├── Graph RAG - 图结构知识
    └── 分层路由 - 智能路由分发

策略选择决策树

你的问题是什么?
│
├─ 检索不到内容?
│   ├─ 文档很长? → 由小到大检索
│   ├─ 查询模糊? → HyDE + 查询扩展
│   ├─ 分块断裂? → 语义分块
│   └─ 召回率低? → 上下文头增强
│
├─ 检索到太多噪音?
│   ├─ 有精确术语? → 混合检索(增加关键词权重)
│   ├─ 排序不准? → 重排序
│   ├─ Token浪费? → 相关片段提取
│   └─ 需要溯源? → 引用溯源
│
├─ 复杂问题答不出?
│   ├─ 需要多步推理? → 多跳检索 / Graph RAG
│   └─ 跨领域查询? → 分层路由
│
├─ 答案有幻觉?
│   ├─ 检索内容太长? → 上下文压缩
│   ├─ 检索质量差? → Self-RAG/CRAG
│   └─ 无法验证? → 引用溯源 + 幻觉检测
│
└─ 需要精确匹配事实?
    └─ 命题分块

三、核心策略详解

策略1:语义分块

问题:固定大小分块会切断语义完整性

方案:基于语义相似度动态分块,相似度低于阈值时切分

效果:准确率 0.30 → 0.85,性价比最高

详细实现:见 高级技术指南


策略2:由小到大检索

问题:小块检索精准但上下文不足,大块完整但检索不准

方案:检索小块(100-200字),返回大块(500-1000字)

三步流程

  1. 文档切分为子块 + 父块
  2. 用子块向量检索
  3. 返回对应的父块

参数建议:技术文档(150/600字)、学术论文(200/800字)、法律条文(100/500字)

详细实现:见 高级技术指南


策略3:查询转换

问题:用户查询表述不清、过于复杂

方案:用LLM转换查询形式

三种模式

  • 查询扩展:生成多个语义变体(适用于查询词少)
  • 查询分解:拆解复杂问题(适用于多条件查询)
  • HyDE:生成假设答案用于检索(适用于短查询)

详细实现:见 高级技术指南


策略4:重排序(Reranking)

问题:向量检索的初步排序不够精准

方案:两阶段检索 - 粗筛(top 50) + 精排(top 5)

流程:查询 → 向量检索 → 重排序模型 → 最终结果

模型推荐

  • 英文:ms-marco-MiniLM-L-6-v2(快速)或 L-12-v2(高精度)
  • 中文:BAAI/bge-reranker-large

效果:准确率 0.50 → 0.70


策略5:混合检索

问题:纯向量检索无法精准匹配关键词

方案:向量检索 + BM25关键词检索

融合公式final_score = α × vector_score + (1-α) × bm25_score

自适应权重:短查询/专有名词 → α=0.5,长查询 → α=0.7

效果:准确率 0.50 → 0.83


策略6:Self-RAG / Corrective RAG

问题:检索结果质量差时仍会生成错误答案

方案:在检索和生成环节增加质量评估,自动纠正错误

两种模式

  • Corrective RAG:检索后评估 + 纠正动作
  • Self-RAG:全流程自检 + 来源标注

脚本调用scripts/self_rag.py,支持 CorrectiveRAGSelfRAG 两种模式

配置参数max_retrieshigh_relevance_thresholdeval_mode

效果:幻觉率降低 30-50%

详细实现:见 高级技术指南


策略7:相关片段提取

问题:检索到的文档块包含大量无关内容

方案:从文档块中提取与问题最相关的句子/段落

三种粒度:句子级(精确问答)、滑动窗口(通用)、语义边界(学术论文)

脚本调用scripts/segment_extractor.py

效果:Token减少 60-80%

详细实现:见 高级技术指南


策略8:命题分块

问题:传统分块粒度粗,无法精准匹配具体事实

方案:将文档拆解为最小的事实单元(命题),每个命题独立可检索

示例

  • 传统分块:"RAG是一种技术。它能降低幻觉。"
  • 命题分块:"RAG是一种技术" + "RAG能降低幻觉"

脚本调用scripts/proposition_chunker.py

最佳实践:与Small-to-Big结合,命题作为子块,原段落作为父块

详细实现:见 高级技术指南


策略9:上下文头增强分块

问题:文档块脱离上下文后语义不完整

方案:为每个文档块添加元数据头部,补充全局背景信息

头部内容:文档标题、章节路径、主题标签、关键实体

效果:召回率提升 10-20%

脚本调用scripts/contextual_header.py

详细实现:见 高级技术指南


策略10:上下文压缩

问题:检索到的上下文包含大量无关内容,浪费Token

方案:对检索结果压缩,保留核心信息

三种模式

  • 提取式:选取关键句子(保真度高)
  • 摘要式:LLM生成精炼摘要(信息密度高)
  • 混合式:先提取再摘要(平衡方案)

脚本调用scripts/context_compression.py

效果:Token减少 50-70%

详细实现:见 高级技术指南


策略11:引用溯源

问题:答案来源不明确,无法判断可信度

方案:为答案标注引用来源,提供可信度评分

四种格式:行内引用[1]、脚注引用¹、详细引用(来源+可信度)、JSON引用

脚本调用scripts/citation_tracker.py

效果:答案可信度显著提升

详细实现:见 高级技术指南


策略12:查询意图识别

问题:用户查询表达模糊,检索策略一刀切

方案:识别查询意图类型,动态调整检索策略

七种意图:事实查询、对比分析、操作指导、概念解释、开放讨论、问题诊断、闲聊问候

脚本调用scripts/query_intent.py

效果:答案质量提升 15-25%

详细实现:见 高级技术指南


策略13:多跳检索

问题:复杂问题需要综合多个信息源

方案:迭代检索,逐步收集信息直到答案完整

适用场景"A公司的CEO在哪所大学毕业?"(先查CEO,再查毕业院校)

脚本调用scripts/multi_hop_retriever.py

效果:复杂问题完整度提高 40%+

详细实现:见 高级技术指南


策略14:文档预处理

问题:多格式文档直接向量化效果差

方案:标准化预处理,提取结构化内容

支持格式:PDF、Word、Excel、HTML、Markdown、图片(OCR)

脚本调用scripts/document_preprocessor.py

详细实现:见 高级技术指南


四、核心技术对比

技术解决的问题效果提升实现难度推荐优先级
Self-RAG/CRAG检索错误导致答案错误幻觉率↓30-50%中高1
相关片段提取Token浪费、噪声多Token↓60-80%2
命题分块无法精准匹配事实精确度↑3
上下文头增强召回率低召回率↑10-20%4
上下文压缩Token浪费、噪声多Token↓50-70%5
引用溯源答案来源不明确可信度↑6
查询意图识别检索策略一刀切质量↑15-25%7
多跳检索复杂问题答不全完整度↑40%中高8
文档预处理文档质量差基础质量↑9

五、操作步骤

步骤1:问题诊断

使用痛点自查表识别问题,调用 scripts/evaluate.py 建立基准指标

步骤2:选择策略

根据策略选择决策树确定优化策略组合

步骤3:配置实现

使用 assets/config-template.json 配置参数,参考 全局操作说明 了解参数调优建议

步骤4:验证效果

使用评估脚本验证优化效果,对比基准指标,持续迭代


六、资源索引

核心脚本

脚本用途
evaluate.pyRAG系统评估
self_rag.pySelf-RAG/CRAG实现
segment_extractor.py相关片段提取
proposition_chunker.py命题分块
contextual_header.py上下文头增强
context_compression.py上下文压缩
citation_tracker.py引用溯源
query_intent.py查询意图识别
multi_hop_retriever.py多跳检索
document_preprocessor.py文档预处理

参考文档

文档说明
global-operations.md全局操作说明(环境准备、配置规范、参数调优)
quickstart.md5分钟快速上手
advanced-techniques.md9项核心技术详细实现
implementation-guide.md全链路落地实践

配置与数据

资源说明
config-template.json完整配置模板(含预设)
test-cases-example.json测试用例示例

注意事项

  • 环境准备:参考 全局操作说明 完成依赖安装和配置
  • 参数调优:根据文档类型和查询特征调整参数,详见 参数调优指南
  • 策略组合:避免过度优化,根据问题诊断选择必要策略
  • 评估迭代:优化前建立基准指标,定期评估效果

版本信息

  • 版本: 2.0.0
  • 更新日期: 2024-12
  • 本次更新: 新增5项核心技术,策略总数21+,覆盖率80%+

Comments

Loading comments...