Dev Classmethod Jp Articles Litellm Langgraph S3vectors
langchain-awsのAmazonS3VectorsでLangGraphのRAGのベクトルストアをマネージドに差し替えてみる
- URL: https://dev.classmethod.jp/articles/litellm-langgraph-s3vectors/
- 日付: 2026-06-05
- Tier: Tier 3
- 要旨: LangGraph RAG のベクトルストアをローカル ChromaDB からマネージドな Amazon S3 Vectors(
langchain-awsのAmazonS3Vectorsクラス)に差し替える実装例。boto3を直接触らずに LangChain retriever インターフェースに統合。
詳細
- 背景: S3 Vectors を直接使う場合、埋め込み生成→put→queryのループを毎回自前で書く必要があり、LangChain/LangGraphに統合しにくい
- 解決策:
langchain-awsのAmazonS3VectorsにBedrockEmbeddings(amazon.titan-embed-text-v2:0)を渡すと自動でベクトル化→S3 Vectors へ保存 - 統合方法:
as_retriever()で LangChain 標準 retriever に変換し、LCELパイプライン・StateGraph・@toolに直接組み込める - 依存関係: Python 3.13, litellm 1.83.14, langgraph 1.1.10, langchain-aws 1.4.6
- 前提: S3ベクトルバケット作成済み、Bedrock
amazon.titan-embed-text-v2:0有効化済み - インデックス: コード側で自動作成される(バケットのみ事前作成が必要)
- LLM: ChatLiteLLM(Anthropic SDK経由)を使用。S3 Vectors 側と組み合わせてRAGエージェントを構成