コンテンツにスキップ
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-awsAmazonS3Vectors クラス)に差し替える実装例。boto3を直接触らずに LangChain retriever インターフェースに統合。

詳細

  • 背景: S3 Vectors を直接使う場合、埋め込み生成→put→queryのループを毎回自前で書く必要があり、LangChain/LangGraphに統合しにくい
  • 解決策: langchain-awsAmazonS3VectorsBedrockEmbeddingsamazon.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エージェントを構成