ローソンデジタルイノベーション テックブログ

ローソンデジタルイノベーション(LDI)の技術ブログです

LiteLLMを利用したAI活用基盤を紹介します

はじめに

記事を開いていただきありがとうございます。サーバサイドエンジニアのオーです。

今回は「LiteLLMを利用したAI活用基盤」をテーマに「システム構築例」と「運用面のメリット」を簡単に紹介します。

LDIでは、業務生産性の向上の一環としてAIの導入活動を積極的に進めている段階であり、2025年度の取組拡大領域として、「ローソンアプリ領域開発におけるAIエージェント導入」を進めております。そのスタートの一環として、「AIエージェント向けのLLM利用を統合管理する基盤」の構築を試みました。

AIエージェントにおけるLLM、ユーザー、予算などの運用管理にご興味のある方の一助になれば幸いです。

LiteLLMのご紹介

www.litellm.ai

github.com

LiteLLMは、複数ベンダのLLMを統合管理し、OpenAI互換APIの形式で横断利用を可能にする“LLM向けプロキシサーバ”と言えます。

複数のLLMサービスを単一のエンドポイントに統一しつつ、リトライ/フォールバックやロードバランシングで可用性を高め、利用状況やコストの可視化・制御を可能にします。

さらにDockerを用いたオンプレミスデプロイにも対応しており、ネットワーク制約のある環境でも導入が容易です。

代表的な機能としては、次のようなものがあります。

機能 説明
LLMエンドポイント統合 100以上のモデルに対して、OpenAI互換の統一APIインターフェースでアクセス
ルーティング・負荷分散・フォールバック 複数LLMに対する負荷分散・障害時に自動切替などの機能を提供
仮想キーとロールベースアクセス制御 ユーザー・チーム単位の権限制御とキー発行・失効、SSO対応の管理UI
コスト・利用状況の追跡 キー・ユーザー・チーム単位でコスト・利用状況の管理が可能
予算・レート制御 チームごとの月次・日次予算上限やレートリミットの設定

LiteLLMを使ったAI活用基盤の構成例

LDIで今回取り組んだAI活用基盤の構成は以下のとおりです。

LiteLLMを利用したAI活用基盤のシステム構成イメージ

補足説明
※1 LiteLLMはDocker環境で構築しています。以下のガイドから構築例を参照できます。
https://docs.litellm.ai/docs/proxy/deploy
※2 AIコーディングエージェントをクライアントとして、LiteLLMと連携しています。
多数のユーザーに対して個別のアカウントとAPIキーを発行した上で、ユーザーごとの利用量上限管理を行っています。
※Cline for LDIは、AIコーディングエージェントのClineを、LDI専用にカスタマイズしたものです
※3 AIエージェントサーバ(Dify, n8n)をクライアントとして、LiteLLMと連携しています。
Difyとn8nはノーコードAIアプリ制作・自動化が可能なAIエージェントとして、今後活用を予定しています。
※4 AWS BedrockをLLM提供元として、LiteLLMと連携しています。
AWS STS(Security Token Service: 一時的な認証情報)を利用して連携する構成になっています。
※5 OllamaをLLM提供元として、LiteLLMと連携しています。
OllamaはオープンソースのLLMをオンプレミスで構築できるプラットフォームです。
現在はホストマシンのスペックの都合上、小規模モデルのみ入れている状態ですが、モデルの多様性やサービス費用が発生しないなどメリットを踏まえ、並行活用の検討も、今後考えていきたいと思っています。
※6 業務用個人PCのアプリ側とLiteLLMとの通信は、VPN環境からのみアクセス可能とし、ネットワーク面でのセキュリティを確保しています。

LiteLLMを実際使って得られた運用面のメリット

LiteLLMは前述のとおり多くの機能が用意されており、そこから得られるメリットは多くあると思いますが、今回実際に使ってみて肌で感じたメリットを3つに絞って紹介します。

1) ユーザー管理・予算管理

LiteLLMは、ユーザー・チーム・仮想キー単位でのロール管理機能を提供しており、それぞれに利用可能なモデルや利用量上限などを設定することができます。利用量上限は日・週・月単位で設定できます。

今回の環境では、LLMを利用する複数ユーザーに対して、LiteLLMのエンドポイントにアクセス権限を付与する仮想キーを発行し、仮想キーごとに利用料金の制限を設定することで、LLM利用により発生する費用が全体予算をオーバーしないように制御しています。

LiteLLM画面 - 仮想キーと予算設定・利用状況

このメリットは、LiteLLMを検討した主なきっかけでもあります。 LDIではLLMサービスとしてAWS Bedrockを主に利用していますが、現状では、AWS上でLLM利用量を制御するには、少し複雑な仕組みや構成が必要な印象があります。特に複数ユーザーが利用する想定のAIエージェントとAWS Bedrockを組み合わせるユースケースにおいてはより著しくなります。

その課題に対して、LiteLLMによるユーザー・チーム単位の管理は実用的なソリューションになり得ると感じています。

2) 複数LLMエンドポイントを単一エンドポイントに集約・統合管理

今回の例では、AWS BedrockとOllamaのLLMエンドポイントを単一エンドポイントに集約しています。

これにより、アプリ側の接続先や認証方式のばらつきの心配がなくなり、 今後AzureやGCPなど他のLLMサービスを連携しても、拡張と切り替えが容易であることが期待できます。

LiteLLM画面 - 利用可能LLMをDashboardで確認

また、LiteLLMによる単一エンドポイントは、OpenAI互換APIであり、API仕様のOpenAPI(Swagger UI)が提供されるため、アプリ側は統一されたエンドポイントとAPI規約で連携できるメリットがあります。

LiteLLM画面 - OpenAPI(Swagger UI)

API仕様のOpenAPI(Swagger UI)は、設定で有効化している場合、LiteLLMサーバを立ち上げるとホストされますが、以下のURLにて例を参照することも可能です。

litellm-api.up.railway.app

3) プライベートネットワーク環境での運用

前述した「LiteLLMを使ったAI活用基盤の構成例」でもあるように、LLMを利用するアプリ側とLiteLLMはVPN環境が前提として構成しています。

LiteLLMはオンプレミスで構成ができ、VPNのようなプライベートネットワーク環境での構築・運用が容易な面があります。そこから得られるネットワーク面でのセキュリティ性の確保は、大きなメリットと思います。

おわりに

これから定期的に技術ブログを更新していくので、興味がある方は是非「読者になる」で応援していただけますと幸いです。今後ともローソンデジタルイノベーションをよろしくお願いいたします!