Skip to Content
Docsサンプルコードrag-basics — 依存最小の RAG(Python)

rag-basics — 依存最小の RAG(Python)

RAG外部の知識ソースを検索し、結果を LLM の入力に加えて回答の根拠にする手法。検索の判断を Agent に任せる構成は Agentic RAG と呼ばれる。 の骨格「取り込み → 検索 → 根拠付き生成」を、ベクトル DB も重いフレームワークも使わず、純 Python で示すサンプルです。次のドキュメントの内容を実装しています。

このサンプルの要点

前提

  • Python 3.11 以降(--mock と検索は追加依存なし・標準ライブラリのみで動きます)
  • 実 API 実行時のみ: Anthropic API キー(環境変数 ANTHROPIC_API_KEY)と pip install -r requirements.txt

実行

# モック実行(API キー不要・依存インストール不要) python rag.py --mock "経費の申請締切はいつですか?" # 実 API 実行(要 ANTHROPIC_API_KEY) pip install -r requirements.txt python rag.py "経費の申請締切はいつですか?"

検索結果(どの文書が上位に来たか・スコア)が表示され、その資料を根拠に回答されます。

動作確認日

以下は過去の確認記録です。

  • モック実行(--mock)+ 検索: 2026-09-10 に確認(Python 3.11.3、追加依存なし)
  • SDK 回帰テスト: 2026-09-10 に確認(anthropic 1.4.0、httpx2 2.12.0 の HTTP モック)。打ち切り・拒否応答を通常の完成出力として返さないことを確認(実行手順)
  • 実 API 実行(生成): 未確認(各自の環境で確認し、この欄に日付を追記してください)

TODO・未確認事項

モデルの選択

既定モデルは claude-opus-5-5 です(モデル仕様確認: 2026-10-03)。環境変数 ANTHROPIC_MODEL で上書きできます。PowerShell では $env:ANTHROPIC_MODEL = "claude-sonnet-5-5"、POSIX シェルでは export ANTHROPIC_MODEL=claude-sonnet-5-5 を実行してから起動します。--mock は API を呼びません。モデル移行時は強制ツール指定・思考履歴・出力上限の互換性を確認してください。実 API の動作確認日は従来の記録を維持し、今回のモック回帰結果は作業記録に分けます。