はじめに
最近、企業内でAIを活用したいというニーズが高まっています。しかし、セキュリティやコスト管理の観点から、パブリックなAIサービスをそのまま利用するのは難しい場合があります。そこで今回は、MOA(Magic of AWS)プロジェクトを基盤として、open webui、pipeline、そしてlangfuseを組み合わせて、社内向けのAI Web UIを構築する方法をご紹介します。
この組み合わせには以下のような利点があります:
- open webui:使いやすいUIと豊富な機能(アーティファクト機能など)
- pipeline:カスタマイズ可能な処理フロー
- langfuse:詳細なコスト管理と利用状況の分析
open webui + pipeline + langfuseで社内向けAI WEB UIを作ってみた
— Maki@Sunwood AI Labs. (@hAru_mAki_ch) October 9, 2024
✅open webui:アーティファクト機能搭載のUI
✅pipeline + langfuse:ユーザー毎のコスト管理に便利
*後ほど記事とリポジトリ公開していきます! https://t.co/nqh5vpeL1z pic.twitter.com/Z27Zf1AeVl
MOA(Magic of AWS)とは
MOAは、AWSの基盤技術を活用し、Dockerを通じて企業がクラウド環境でLLM(大規模言語モデル)を簡単に利用できるようにするプロジェクトです。AWS CLIがプリインストールされた独立した開発環境を提供することで、高度なセキュリティとプライバシーを保ちつつ、AI技術を効果的に活用できるよう支援します。
セットアップ手順
1. 前提条件
- Dockerがインストールされていること
- docker-composeコマンドが使用可能であること
2. リポジトリのクローン
まず、MOAリポジトリをクローンします。
git clone https://github.com/Sunwood-ai-labs/MOA.git
cd MOA
3. 環境変数の設定
.env
ファイルを作成し、必要な環境変数を設定します。
AWS_ACCESS_KEY_ID=YOUR_AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY=YOUR_AWS_SECRET_ACCESS_KEY
AWS_REGION_NAME=your-preferred-region
AWS_DEFAULT_REGION=your-preferred-region
AWS_DEFAULT_OUTPUT=json
OLLAMA_BASE_URL=http://ollama:11434
WEBUI_SECRET_KEY=sk-1234
LITELLM_PROXY_HOST=0.0.0.0
OPEN_WEBUI_PORT=8080
4. サービスの起動
以下のコマンドを実行して、全てのサービスを起動します。
docker-compose -f docker-compose.ollama.yml -f spellbook/langfuse/docker-compose.yml -f spellbook/docker-compose.pipelines.yml up
このコマンドにより、open webui、ollama、langfuse、pipelineの全てのサービスが起動します。
open webui + pipeline + langfuseで社内向けAI WEB UIを作ってみた:Step①
— Maki@Sunwood AI Labs. (@hAru_mAki_ch) October 9, 2024
✅全部乗せDockerコマンドを実行
docker-compose -f docker-compose.ollama.yml -f spellbook/langfuse/docker-compose.yml -f spellbook/docker-compose.pipelines.yml up
✅これでlocalhost:8181/にアプリが起動します https://t.co/zMzA5GXmBg pic.twitter.com/YMOpOuaokK
5. サービスの設定
pipelinesの設定
- http://pipelines:9099 にアクセス
- デフォルトパスワード: 0p3n-w3bu!
open webui + pipeline + langfuseで社内向けAI WEB UIを作ってみた:Step②
— Maki@Sunwood AI Labs. (@hAru_mAki_ch) October 9, 2024
✅open-webui pipelinesをモデル設定から設定します
・アクセスURL: http://pipelines:9099
・デフォルトのパスワード: 0p3n-w3bu! https://t.co/fjDXhL3NOT pic.twitter.com/DFzllRnsV3
langfuseの設定
- http://localhost:3000/ にアクセス
- 新しいプロジェクトを作成し、public keyとsecret keyを取得
open webui + pipeline + langfuseで社内向けAI WEB UIを作ってみた:Step③
— Maki@Sunwood AI Labs. (@hAru_mAki_ch) October 9, 2024
✅langfuseでキーペアを発行
・http://localhost:3000/にアクセスして、langfuseでpublic_keyとsecret_keyを発行します。
・langfuseの管理画面にアクセスし、新しいプロジェクトを作成してキーを取得します。 https://t.co/ngZujrd7Rz pic.twitter.com/dejdW78On4
パイプラインの設定
-
langfuse_filter_pipeline.py
をインポートし、langfuseのキーを設定 -
conversation_turn_limit_filter.py
をインポートして会話の制限を解除
open webui + pipeline + langfuseで社内向けAI WEB UIを作ってみた:Step④
— Maki@Sunwood AI Labs. (@hAru_mAki_ch) October 9, 2024
✅pipelineとlangfuseの連携
langfuse_filter_pipeline.pyをパイプラインにインポートし、public_keyとsecret_keyを設定します。 https://t.co/2yZUjPqzLo pic.twitter.com/vRt8ewY9nE
使用方法
設定が完了したら、http://localhost:8080 にアクセスしてopen webuiを使用できます。ユーザーはこのインターフェースを通じてAIと対話できます。
コスト管理と分析
langfuseのダッシュボード(http://localhost:3000)で、ユーザーごとの利用状況やコストを詳細に分析できます。これにより、部門別や個人別の利用状況を把握し、必要に応じて利用制限を設けることも可能です。
open webui + pipeline + langfuseで社内向けAI WEB UIを作ってみた:Step⑤完
— Maki@Sunwood AI Labs. (@hAru_mAki_ch) October 9, 2024
✅コストの確認
管理画面でユーザーのメールアドレスに紐づいてコストを見ることができます!!!! https://t.co/ObUagH9Zkx pic.twitter.com/dPzDyEwqWi
まとめ
この構成により、セキュアでカスタマイズ可能な社内向けAI Web UIを構築できます。open webuiの使いやすさ、pipelineの柔軟性、そしてlangfuseの詳細な分析機能を組み合わせることで、企業のニーズに合ったAI活用環境を整えることができます。
今後の展開として、特定の業務プロセスに合わせたカスタムパイプラインの作成や、セキュリティポリシーに基づいた利用制限の実装なども検討できるでしょう。AIの力を社内で安全に活用し、業務効率の向上につなげていきましょう。
リポジトリ