rag-retrieval
RAGパイプラインの構築やLLMの回答精度向上に活用できる検索拡張生成(RAG)のパターン集です。ドキュメントのエンベディング、ハイブリッド検索、HyDE、エージェント型RAG、マルチモーダルRAG、クエリ分解、リランキング、pgvectorを使った検索など、RAG関連の実装全般で使用してください。
description の原文を見る
Retrieval-Augmented Generation patterns for grounded LLM responses. Use when building RAG pipelines, embedding documents, implementing hybrid search, contextual retrieval, HyDE, agentic RAG, multimodal RAG, query decomposition, reranking, or pgvector search.
SKILL.md 本文
RAG Retrieval
本番環境対応の RAG システム構築のための包括的なパターン集です。各カテゴリーのルールファイルは rules/ ディレクトリに個別に配置されており、オンデマンドで読み込まれます。
クイックリファレンス
| カテゴリ | ルール数 | 重要度 | 使用場面 |
|---|---|---|---|
| Core RAG | 4 | CRITICAL | 基本的な RAG、引用、ハイブリッド検索、コンテキスト管理 |
| Embeddings | 3 | HIGH | モデル選択、チャンキング、バッチ/キャッシュ最適化 |
| Contextual Retrieval | 3 | HIGH | コンテキスト前置き、ハイブリッド BM25+ベクトル、パイプライン |
| HyDE | 3 | HIGH | 語彙不一致、仮説的文書生成 |
| Agentic RAG | 4 | HIGH | Self-RAG、CRAG、ナレッジグラフ、適応的ルーティング |
| Multimodal RAG | 3 | MEDIUM | 画像+テキスト検索、PDF チャンキング、クロスモーダル検索 |
| Query Decomposition | 3 | MEDIUM | マルチコンセプト クエリ、並列検索、RRF フュージョン |
| Reranking | 3 | MEDIUM | クロスエンコーダー、LLM スコアリング、複合シグナル |
| PGVector | 4 | HIGH | PostgreSQL ハイブリッド検索、HNSW インデックス、スキーマ設計 |
合計: 9 カテゴリー30 ルール
Core RAG
検索、生成、パイプライン構成の基本的なパターンです。
| ルール | ファイル | キーパターン |
|---|---|---|
| Basic RAG | rules/core-basic-rag.md | 検索 + コンテキスト + 引用付き生成 |
| Hybrid Search | rules/core-hybrid-search.md | RRF フュージョン (k=60) でセマンティック + キーワード結合 |
| Context Management | rules/core-context-management.md | トークン予算管理 + 十分性チェック |
| Pipeline Composition | rules/core-pipeline-composition.md | 構成可能な Decompose → HyDE → 検索 → 再ランク |
Embeddings
埋め込みモデル、チャンキング戦略、本番環境最適化です。
| ルール | ファイル | キーパターン |
|---|---|---|
| Models & API | rules/embeddings-models.md | モデル選択、バッチ API、類似度 |
| Chunking | rules/embeddings-chunking.md | セマンティック境界分割、512 トークン最適値 |
| Advanced | rules/embeddings-advanced.md | Redis キャッシュ、Matryoshka 次元削減、バッチ処理 |
Contextual Retrieval
Anthropic のコンテキスト前置き技術 — 検索失敗を 67% 削減します。
| ルール | ファイル | キーパターン |
|---|---|---|
| Context Prepending | rules/contextual-prepend.md | LLM 生成コンテキスト + プロンプトキャッシング |
| Hybrid Search | rules/contextual-hybrid.md | BM25 40% / ベクトル 60% の重み配分 |
| Complete Pipeline | rules/contextual-pipeline.md | エンドツーエンドのインデックス構築 + ハイブリッド検索 |
HyDE
語彙ギャップをブリッジするための仮説的文書埋め込みです。
| ルール | ファイル | キーパターン |
|---|---|---|
| Generation | rules/hyde-generation.md | クエリではなく仮説的文書を埋め込む |
| Per-Concept | rules/hyde-per-concept.md | マルチトピック クエリ向けの並列 HyDE |
| Fallback | rules/hyde-fallback.md | 2-3 秒タイムアウト → 直接埋め込みにフォールバック |
Agentic RAG
LLM 駆動の意思決定による自己修正検索です。
| ルール | ファイル | キーパターン |
|---|---|---|
| Self-RAG | rules/agentic-self-rag.md | 関連性に関する二項文書評価 |
| Corrective RAG | rules/agentic-corrective-rag.md | Web フォールバック付き CRAG ワークフロー |
| Knowledge Graph | rules/agentic-knowledge-graph.md | エンティティ豊富なドメイン向け KG + ベクトルハイブリッド |
| Adaptive Retrieval | rules/agentic-adaptive-retrieval.md | 最適な戦略へのクエリ ルーティング |
Multimodal RAG
クロスモーダル検索を備えた画像+テキスト検索です。
| ルール | ファイル | キーパターン |
|---|---|---|
| Embeddings | rules/multimodal-embeddings.md | CLIP、SigLIP 2、Voyage multimodal-3 |
| Chunking | rules/multimodal-chunking.md | 画像を保持した PDF 抽出 |
| Pipeline | rules/multimodal-pipeline.md | 重複排除 + ハイブリッド検索 + 生成 |
Query Decomposition
複雑なクエリを概念に分解して並列検索を実施します。
| ルール | ファイル | キーパターン |
|---|---|---|
| Detection | rules/query-detection.md | ヒューリスティック指標 (<1ms 高速パス) |
| Decompose + RRF | rules/query-decompose.md | LLM 概念抽出 + 並列検索 |
| HyDE Combo | rules/query-hyde-combo.md | 最大カバレッジのための Decompose + HyDE |
Reranking
検索後のスコアリングで精度を向上させます。
| ルール | ファイル | キーパターン |
|---|---|---|
| Cross-Encoder | rules/reranking-cross-encoder.md | ms-marco-MiniLM (~50ms、無料) |
| LLM Reranking | rules/reranking-llm.md | バッチ スコアリング + Cohere API |
| Combined | rules/reranking-combined.md | マルチシグナル重み付けスコアリング |
PGVector
PostgreSQL を使用した本番環境対応ハイブリッド検索です。
| ルール | ファイル | キーパターン |
|---|---|---|
| Schema | rules/pgvector-schema.md | HNSW インデックス + 事前計算済み tsvector |
| Hybrid Search | rules/pgvector-hybrid-search.md | SQLAlchemy RRF with FULL OUTER JOIN |
| Indexing | rules/pgvector-indexing.md | HNSW (17 倍高速) vs IVFFlat |
| Metadata | rules/pgvector-metadata.md | フィルタリング、ブースティング、Redis 8 比較 |
クイックスタート例
from openai import OpenAI
client = OpenAI()
async def rag_query(question: str, top_k: int = 5) -> dict:
"""引用付き基本 RAG。"""
docs = await vector_db.search(question, limit=top_k)
context = "\n\n".join([f"[{i+1}] {doc.text}" for i, doc in enumerate(docs)])
response = await llm.chat([
{"role": "system", "content": "インライン引用 [1]、[2] 付きで答えてください。提供されたコンテキストのみを使用してください。"},
{"role": "user", "content": f"コンテキスト:\n{context}\n\n質問: {question}"}
])
return {"answer": response.content, "sources": [d.metadata['source'] for d in docs]}
重要な決定事項
| 決定事項 | 推奨値 |
|---|---|
| 埋め込みモデル | text-embedding-3-small (汎用)、voyage-3 (本番環境) |
| チャンクサイズ | 256-1024 トークン (典型値: 512) |
| ハイブリッド重み | BM25 40% / ベクトル 60% |
| Top-k | 3-10 文書 |
| 温度 | 0.1-0.3 (事実的) |
| コンテキスト予算 | 4K-8K トークン |
| 再ランク | 50 件検索、10 件に再ランク |
| ベクトルインデックス | HNSW (本番環境)、IVFFlat (大規模) |
| HyDE タイムアウト | 2-3 秒 (フォールバック付き) |
| クエリ分解 | 最初はヒューリスティック、マルチコンセプト時のみ LLM |
よくある間違い
- 引用追跡なし (検証不可能な答え)
- コンテキストが大きすぎる (関連性が低下)
- 単一検索方法 (キーワードマッチを見落とし)
- 長文書のチャンキングなし (コンテキスト損失)
- クエリと文書を異なる方法で埋め込む
- Agentic RAG にフォールバックパスなし (ワークフロー停止)
- 無限書き換えループ (再試行制限なし)
- 不適切な類似度メトリックを使用 (コサイン vs ユークリッド)
- 埋め込みキャッシングなし (不変コンテンツを再計算)
- Multimodal RAG で画像キャプションなし (テキスト検索が制限される)
評価
全カテゴリー対応の 30 テストケースについては test-cases.json を参照してください。
関連スキル
ork:langgraph- LangGraph ワークフロー パターン (Agentic RAG ワークフロー向け)caching- 繰り返しクエリの RAG レスポンス キャッシングork:golden-dataset- 検索品質の評価ork:llm-integration- nomic-embed-text を使用したローカル埋め込みvision-language-models- Multimodal RAG の画像分析ork:database-patterns- ベクトル検索のスキーマ設計
機能詳細
retrieval-patterns
キーワード: retrieval、context、chunks、relevance、rag 解決する問題:
- LLM 用の関連コンテキストを検索
- 引用付き RAG パイプラインを実装
- 検索品質を最適化
hybrid-search
キーワード: hybrid、bm25、vector、fusion、rrf 解決する問題:
- キーワード検索とセマンティック検索を組み合わせる
- Reciprocal Rank Fusion を実装
- 精度と再現率のバランスを取る
embeddings
キーワード: embedding、text to vector、vectorize、chunk、similarity 解決する問題:
- テキストをベクトル埋め込みに変換
- 埋め込みモデルと次元を選択
- チャンキング戦略を実装
contextual-retrieval
キーワード: contextual、anthropic、context-prepend、bm25 解決する問題:
- チャンクにコンテキストを前置きしてより良い検索を実現
- 検索失敗を 67% 削減
- ハイブリッド BM25+ベクトル検索を実装
hyde
キーワード: hyde、hypothetical、vocabulary mismatch 解決する問題:
- セマンティック検索の語彙ギャップをブリッジ
- 埋め込み用の仮説的文書を生成
- 抽象的または概念的なクエリを処理
agentic-rag
キーワード: self-rag、crag、corrective、adaptive、grading 解決する問題:
- 自己修正 RAG ワークフローを構築
- 文書の関連性を評価
- Web 検索フォールバックを実装
multimodal-rag
キーワード: multimodal、image、clip、vision、pdf 解決する問題:
- 画像とテキストを含む RAG を構築
- クロスモーダル検索 (テキスト → 画像)
- 混合コンテンツを含む PDF を処理
query-decomposition
キーワード: decompose、multi-concept、complex query 解決する問題:
- 複雑なクエリを概念に分解
- 概念ごとの並列検索
- 複合質問の対応範囲を改善
reranking
キーワード: rerank、cross-encoder、precision、scoring 解決する問題:
- 検索後の精度を向上させる
- クロスエンコーダーまたは LLM で関連性をスコアリング
- 複数のスコアリング シグナルを組み合わせる
pgvector-search
キーワード: pgvector、postgresql、hnsw、tsvector、hybrid 解決する問題:
- PostgreSQL を使用した本番環境対応ハイブリッド検索
- HNSW vs IVFFlat インデックス選択
- SQL ベースの RRF フュージョン
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- yonatangross
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/yonatangross/orchestkit / ライセンス: MIT
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。