chunking-strategy
RAGシステム向けのチャンキング戦略を提供します。チャンクサイズの推奨値(256〜1024トークン)、オーバーラップ率(10〜20%)、セマンティック境界の検出手法を生成し、意味的な一貫性の検証や検索精度・再現率の評価も行います。RAGシステムやベクターデータベースの構築、大規模ドキュメントの処理を行う際に活用してください。
description の原文を見る
Provides chunking strategies for RAG systems. Generates chunk size recommendations (256-1024 tokens), overlap percentages (10-20%), and semantic boundary detection methods. Validates semantic coherence and evaluates retrieval precision/recall metrics. Use when building retrieval-augmented generation systems, vector databases, or processing large documents.
SKILL.md 本文
RAGシステムのチャンキング戦略
概要
RAGシステム、ベクトルデータベース、ドキュメント処理のためのチャンキング戦略を提供します。チャンクサイズ、オーバーラップパーセンテージ、境界検出方法を推奨し、セマンティックコヒーレンスを検証し、検索メトリクスを評価します。
使用場面
RAGシステムの構築または最適化、ベクトル検索パイプライン、ドキュメントチャンキングワークフロー、検索品質が低い既存システムのパフォーマンスチューニング時に使用します。
手順
チャンキング戦略の選択
ドキュメントタイプとユースケースに基づいて選択してください:
-
固定サイズチャンキング (レベル1)
- 明確な構造がないシンプルなドキュメント向け
- 512トークン、10-20%のオーバーラップから開始
- 調整:ファクト質問は256トークン、分析質問は1024トークン
-
再帰的文字チャンキング (レベル2)
- 構造的境界があるドキュメント向け
- 階層的セパレータ:段落→文→単語
- ドキュメントタイプに合わせてカスタマイズ (HTML、Markdown、JSON)
-
構造認識チャンキング (レベル3)
- 構造化コンテンツ (Markdown、コード、表、PDF) 向け
- セマンティックユニットの保持:関数、セクション、テーブルブロック
- 分割後の構造保持を検証
-
セマンティックチャンキング (レベル4)
- テーマシフトを含む複雑なドキュメント向け
- 埋め込みベースの境界検出、0.8の類似度閾値
- バッファサイズ:3-5文
-
高度な方法 (レベル5)
- 長文脈モデル向けのレイトチャンキング
- 高精度要件向けのコンテキスト検索
- 計算コストと検索改善を監視
参照:references/strategies.md
チャンキングパイプラインの実装
-
ドキュメントの前処理
- 構造、コンテンツタイプ、情報密度を分析
- マルチモーダルコンテンツ (表、画像、コード) を特定
-
パラメータの選択
- チャンクサイズ:埋め込みモデルのコンテキストウィンドウ / 4
- オーバーラップ:ほとんどの場合10-20%
- 戦略固有の設定
-
処理と検証
- チャンキング戦略を適用
- コヒーレンス検証:
evaluate_chunks.py --coherenceを実行(以下参照) - 代表的なドキュメントでテスト
-
評価と反復
- 精度と再現率を測定
- 精度 < 0.7 の場合:chunk_size を25%削減して再評価
- 再現率 < 0.6 の場合:オーバーラップを10%増加させて再評価
- レイテンシとメモリ使用量を監視
参照:references/implementation.md
チャンク品質の検証
チャンク品質を評価するために検証コマンドを実行してください:
# セマンティックコヒーレンスをチェック (sentence-transformers が必要)
python -c "
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('all-MiniLM-L6-v2')
chunks = [...] # your chunks
embeddings = model.encode(chunks)
similarity = (embeddings @ embeddings.T).mean()
print(f'Cohesion: {similarity:.3f}') # target: 0.3-0.7
"
# 検索精度を測定
python -c "
relevant = sum(1 for c in retrieved if c in relevant_chunks)
precision = relevant / len(retrieved)
print(f'Precision: {precision:.2f}') # target: >= 0.7
"
# チャンクサイズの分布をチェック
python -c "
import numpy as np
sizes = [len(c.split()) for c in chunks]
print(f'Mean: {np.mean(sizes):.0f}, Std: {np.std(sizes):.0f}')
print(f'Min: {min(sizes)}, Max: {max(sizes)}')
"
参照:references/evaluation.md
例
固定サイズチャンキング
from langchain.text_splitter import RecursiveCharacterTextSplitter
splitter = RecursiveCharacterTextSplitter(
chunk_size=256,
chunk_overlap=25,
length_function=len
)
chunks = splitter.split_documents(documents)
構造認識コードチャンキング
import ast
def chunk_python_code(code):
tree = ast.parse(code)
chunks = []
for node in ast.walk(tree):
if isinstance(node, (ast.FunctionDef, ast.ClassDef)):
chunks.append(ast.get_source_segment(code, node))
return chunks
セマンティックチャンキング
def semantic_chunk(text, similarity_threshold=0.8):
sentences = split_into_sentences(text)
embeddings = generate_embeddings(sentences)
chunks, current = [], [sentences[0]]
for i in range(1, len(sentences)):
sim = cosine_similarity(embeddings[i-1], embeddings[i])
if sim < similarity_threshold:
chunks.append(" ".join(current))
current = [sentences[i]]
else:
current.append(sentences[i])
chunks.append(" ".join(current))
return chunks
ベストプラクティス
コア原則
- コンテキスト保持と検索精度のバランス
- チャンク内のセマンティックコヒーレンスの維持
- 埋め込みモデルのコンテキストウィンドウ制約への最適化
実装
- 固定サイズから開始 (512トークン、15%オーバーラップ)
- ドキュメント特性に基づいて反復
- デプロイ前にドメイン固有のドキュメントでテスト
回避すべき落とし穴
- 過度なチャンキング:文脈の乏しい小さなチャンク
- 過少チャンキング:大きなチャンクで情報を見落とし
- セマンティック境界とドキュメント構造の無視
- 多様なコンテンツタイプに対する一律アプローチ
制約と警告
リソース考慮事項
- セマンティック方法は大きな計算リソースが必要
- レイトチャンキングは長文脈埋め込みモデルが必要
- 複雑な戦略は処理レイテンシを増加させる
- 大量のドキュメントバッチに対してメモリを監視
品質要件
- 処理後のセマンティックコヒーレンスを検証
- デプロイ前に代表的なドキュメントでテスト
- チャンクが独立した意味を保持することを確認
- 不正なコンテンツのエラーハンドリングを実装
参考資料
strategies.md- 詳細な戦略implementation.md- 実装ガイドラインevaluation.md- パフォーマンスメトリクスtools.md- ライブラリとフレームワークresearch.md- 研究論文advanced-strategies.md- 11の高度な方法semantic-methods.md- セマンティックアプローチvisualization-tools.md- ビジュアライゼーションツール
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- giuseppe-trisciuoglio
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/giuseppe-trisciuoglio/developer-kit / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。