Google Cloud データベースと LangChain のインテグレーションが Go、Java、JavaScript に対応
Hamsa Buvaraghan
Product Manager, Google Cloud Databases
Averi Kitsch
Staff Software Engineer, AI for Databases
※この投稿は米国時間 2025 年 4 月 23 日に、Google Cloud blog に投稿されたものの抄訳です。
昨年、Google Cloud と LangChain のインテグレーションが発表され、生成 AI デベロッパーが LangChain Python パッケージ スイートにアクセスできるようになりました。これにより、生成 AI アプリケーションのデベロッパーは、Google Cloud のデータベース ポートフォリオを活用して、自社の非公開データから最大限の価値を引き出すことが可能となりました。
本日は、このインテグレーションの対応言語が Go、Java、JavaScript に拡大されたことをお知らせいたします。
各パッケージには、最大 3 つの LangChain インテグレーションがあります。
-
Google のデータベースでセマンティック検索を可能にするベクトルストア
-
チェーンによって以前の会話を確認できるチャット メッセージの履歴
-
エンタープライズ データからドキュメントを読み込むドキュメント ローダ
デベロッパーは、ユースケースに応じて複雑なワークフローを作成し、基礎コンポーネント(ベクトル データベースなど)を簡単に置き換える柔軟性を得られます。これにより、パーソナライズされたおすすめ商品情報や、質問応答、ドキュメントの検索および統合、カスタマー サービスの自動化など、テクノロジーの応用の幅が広がります。
この投稿では、インテグレーションについて詳しく説明し、基本的なコード スニペットを紹介します。
サポート対象言語の追加
LangChain は、よく利用されている Python パッケージで知られています。しかし、組織によっては Python によるサービスを提供しておらず、専門知識を持ち合わせていないかもしれません。Java と Go は、エンタープライズ規模の本番環境向けアプリケーションでよく使用されるプログラミング言語です。また、非同期プログラミングのサポートや、React や Vue などのフロントエンド フレームワークとの互換性のために、JavaScript や TypeScript が採用される場合もあります。
LangChain デベロッパー コミュニティには、Python デベロッパーだけでなく、Java、JavaScript、Go に精通したデベロッパーも参加しています。このコミュニティは、LangChain フレームワークを巡る活発なやりとりや協力の場として、大規模言語モデル(LLM)を活用したアプリケーションの開発を促進しています。
Google Cloud は、生成 AI アプリケーション向けに、安全で使いやすいデータベース インテグレーションを提供することに注力しています。このインテグレーションには Google Cloud コネクタが組み込まれ、安全な接続の作成、SSL 証明書の処理、IAM 認可と認証に対応しています。また、PostgreSQL データベース(AlloyDB for PostgreSQL、AlloyDB Omni、Cloud SQL for PostgreSQL)向けに最適化されており、適切な接続管理、柔軟なテーブル スキーマ、フィルタリングの改善のために役立っています。
JavaScript のサポート
JavaScript で LLM を活用したアプリケーションを開発するにあたって、LangChain.js に含まれるツールや構成要素を使用できます。LangChain は、LLM を外部データソースに接続するプロセスを簡素化し、アプリケーションに推論機能を組み込めるようにします。LangChain.js では、Gemini モデルなどの他の Google Cloud インテグレーションも利用可能で、Google Cloud リソースとシームレスにやり取りできます。
以下に、インテグレーションと基本的なコード スニペットを示します。
以下のように依存関係をインストールします。
Engine
AlloyDB for PostgreSQL や AlloyDB Omni でこのパッケージを使用するには、目的のインスタンスに接続するようにお使いのエンジンをカスタマイズします。AlloyDB インスタンスに対して認証済みの暗号化された接続を確立するには、AlloyDB Auth Proxy が必要です。
ベクトルストア
チャット メッセージの履歴
ローダ
Java のサポート
Java デベロッパーは、LangChain の Java 実装である LangChain4j を使用できます。これにより、使い慣れたエコシステムで、LLM を活用したアプリケーションを構築することが可能となります。また、LangChain4j では、すべての Vertex AI Gemini モデルにアクセスできます。
* 注: Cloud SQL インテグレーションは近日中にリリース予定です。
以下に、インテグレーションと基本的なコード スニペットを示します。
Maven の場合(pom.xml):
エンジン
エンベディング ストア
ドキュメント ローダ
Go のサポート
LangChainGo は、LangChain の Go プログラミング言語ポートです。
LangChain フレームワークの目的は、言語モデルをデータソースに接続し、独自環境でのインタラクションに対応する高度なアプリケーションの開発をサポートすることです。他と一線を画す強力なアプリケーションは、API を介して言語モデルを使用するだけでなく、データを理解して活用し、エージェントとして自律的に動作する必要があります。
昨年、Google の SDK が LangChainGo のプロバイダとして追加されました。これにより、Google の Gemini モデルを LLM プロバイダとして使用し、LangChain フレームワークの機能を利用することが可能となりました。
そしてこのたび、LangChainGo で AlloyDB と Cloud SQL for PostgreSQL のサポートが開始されました。
以下に、インテグレーションと基本的なコード スニペットを示します。
依存関係をインストールします。
エンジン
ベクトルストア
チャット メッセージの履歴
* AlloyDB のコードを示しています。Cloud SQL for Postgres の例のリンクを参照してください。
使ってみる
LangChain ベクトルストアのインテグレーションは、AlloyDB、Cloud SQL for PostgreSQL、Firestore、Memorystore for Redis、Spanner など、ベクトルに対応した Google Cloud データベースで利用できます。
ドキュメント ローダとメモリのインテグレーションは、AlloyDB、Cloud SQL for MySQL、PostgreSQL、SQL Server、Firestore、Datastore、Bigtable、Memorystore for Redis、Oracle データベース向け El Carro、Spanner など、すべての Google Cloud データベースで利用できます。以下に、役立つリソースをいくつかご紹介します。
リソース:
-Google Cloud データベース、AI プロダクト マネージャー、Hamsa Buvaraghan
-シニア ソフトウェア エンジニア、Averi Kitsch


