MicrosoftはAzure Cosmos DB for NoSQLをLangChain/LangGraphの単一永続化レイヤーとして活用できるPythonパッケージ「langchain-azure-cosmosdb」をリリースした。ベクターストア・セマンティックキャッシュ・チャット履歴・LangGraphチェックポインターを1つのデータベースで完結させ、RAGとエージェントAIアプリの構築を大幅に簡素化する。
AIエージェント開発者が抱える「スタック分散」問題
LangChainやLangGraphでAIエージェント・RAGアプリを構築する際、多くの開発者は次のような「スタック分散」に悩まされている。
- ベクター検索:PineconeやQdrantなど専用のベクターデータベース
- チャット履歴:別のストレージバックエンド
- エージェント状態のチェックポイント:さらに別のシステム
- セマンティックキャッシュ:追加のインフラ
- 長期メモリ:もうひとつのボルトオン
この「分散スタック」はコストだけでなく、セキュリティ境界の拡大・グローバル展開の困難さ・運用負荷の増大を招く。langchain-azure-cosmosdbはこの問題を一気に解消することを狙いとしている。
パッケージが提供する6つのインテグレーション
新パッケージは以下の6つのインテグレーションをすべてAzure Cosmos DB for NoSQL上で提供する。すべて同期・非同期の両バリアントが揃っている。
インテグレーション 主要クラス 機能概要
ベクターストア
AzureCosmosDBNoSqlVectorSearch
ベクター・全文・ハイブリッド検索
セマンティックキャッシュ
AzureCosmosDBNoSqlSemanticCache
LLMレスポンスのキャッシュによるコスト削減
チャット履歴
CosmosDBChatMessageHistory
TTL付き会話履歴の永続化
LangGraphチェックポインター
CosmosDBSaver
マルチターンエージェントの状態保存
LangGraphキャッシュ
CosmosDBCache
グラフワークフローのノードレベルキャッシュ
LangGraphストア
CosmosDBStore
名前空間管理付き長期メモリ
認証はアクセスキーとMicrosoft Entra ID(Managed Identity)の両方をネイティブサポートする。
インストールはシンプルだ:
出典: この記事は Introducing langchain-azure-cosmosdb: Build Agentic Apps and RAG with One Database の内容をもとに、筆者の見解を加えて独自に執筆したものです。