LangChain を用いた Google Cloud における AI Agent 実装例
株式会社Belong / ttyfky
CTO・VPoE / CTO / 従業員規模: 51名〜100名 / エンジニア組織: 11名〜50名
ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|
10名以下 | 2024年4月 | B to B B to C |
ツールの利用規模 | 10名以下 |
---|---|
ツールの利用開始時期 | 2024年4月 |
事業形態 | B to B B to C |
アーキテクチャ
アーキテクチャの意図・工夫
社内特有の知識を Google Drive や Notion からエクスポートし、非エンジニアでも RAG に用いる知識を登録しやすい形にした。 具体的には、 Cloud Storage に PDF などのドキュメントを配置し、Vertex AI Agent Builder を用いてデータのベクトル化とセマンティック検索を可能にすることで新規データの登録を簡単にした。
これにより、社内規程やカスタマーサポートの模範解答などをユーザードリブンで利用可能にし、LangChainを用いるアプリケーション側で文脈毎に利用可能な情報を選択可能にすることで問い合わせ毎に利用するデータソースの選択を行い文脈に沿った情報の検索と返答を行いやすくした。
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
社内の生成 AI 利用にあたり、方法論の標準化ができていないことが課題だった。
どのような状態を目指していたか
生成 AI を用いて発展的なソリューションを提供するために一定の方法論が確立されていること。
比較検討したサービス
- 自前実装
- Semantic Kernel
- LlamaIndex
比較した軸
既存サービスのプラットフォームとの相性の良さ、継続性
選定理由
Google Cloud Next'24 の参加時に、LangChain 社 CEO の Harrison Chase 氏が複数セッションで登壇していたことや、GitHub で Google Cloud とのインテグレーション用の repo が作られ一定の投資がされており、Belong で広く利用する Google Cloud が LangChain との連携を重視している状況だったため。
反対に、Semantic Kernel は Microsoft の提供のため Azure 連携が重視されたため避けたが、Azure のサンプル提供の GitHub repo が Semantic Kernel に書き換えられる前は LangChain で実装されており LangChain の一定のレピュテーションを感じた点も後押しした。
導入の成果
どのような成果が得られたか
生成 AI を用いたサービスやエージェントの構築・利用が期待通り行なわれるようになった。
導入時の苦労・悩み
LCEL 記法が特殊であり、Runnable の理解が甘いと chain の中で次のタスクに与えたい値をどう与えるのかが分かりづらい
導入に向けた社内への説明
上長・チームへの説明
ライブラリの導入判断は自身で決められたが、生成 AI の利用に関しては、入力内容が学習に使われないなどのプライバリーポリシーを経営陣の中でも念押しし、外部のチャットサービスで個々人が自由に入力を行うより自社で設けたプラットフォームで情報のやり取りが行われた方がセキュアかつ統制が可能な点を説明した。
活用方法
よく使う機能
- RAG や Agent の構築
ツールの良い点
- 共通のユースケースに対する事前定義 chain やテンプレートが用意されている
- 生成 AI モデル提供ベンダーとの連携が用意されている
ツールの課題点
- 学習コストが高い
- 生成 AI モデル提供者の SDK では簡単に使える機能を、LangChain を通すと使いづらくなる
- 発展途上のライブラリであるため、以前利用した仕組み・class などが後バージョンで deprecated になり書き直しが必要になった
ツールを検討されている方へ
LangChain は定番処理へのインターフェイスを提供し抽象化を可能にするため、複数人で一定の合意形成を行い AI アプリを作成するのに有効な場面があります。
一方で、thoughtworks の Technology Radar [1] ではその複雑度や進化の過程での不安定さから HOLD レベルで止まってしまっており、手放しで選択するのは避けた方が良いと思います。この点には私も同意し、学習コストの高さや依存する機能の不安定さは特に 2024 年時点では感じました。 いざとなったらライブラリ側の内部実装を読み込む気持ちで使うのであれば問題ないと思います。
[1] https://www.thoughtworks.com/radar/languages-and-frameworks/langchain
株式会社Belong / ttyfky
CTO・VPoE / CTO / 従業員規模: 51名〜100名 / エンジニア組織: 11名〜50名
よく見られているレビュー
株式会社Belong / ttyfky
CTO・VPoE / CTO / 従業員規模: 51名〜100名 / エンジニア組織: 11名〜50名
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法