🍀

【MOA】社内向けAI Web UI構築ガイド:open webui + pipeline + langfuse

2024/10/12に公開

はじめに

最近、企業内でAIを活用したいというニーズが高まっています。しかし、セキュリティやコスト管理の観点から、パブリックなAIサービスをそのまま利用するのは難しい場合があります。そこで今回は、MOA(Magic of AWS)プロジェクトを基盤として、open webui、pipeline、そしてlangfuseを組み合わせて、社内向けのAI Web UIを構築する方法をご紹介します。

この組み合わせには以下のような利点があります:

  • open webui:使いやすいUIと豊富な機能(アーティファクト機能など)
  • pipeline:カスタマイズ可能な処理フロー
  • langfuse:詳細なコスト管理と利用状況の分析

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の全てのサービスが起動します。

5. サービスの設定

pipelinesの設定

langfuseの設定

  • http://localhost:3000/ にアクセス
  • 新しいプロジェクトを作成し、public keyとsecret keyを取得

パイプラインの設定

  • langfuse_filter_pipeline.pyをインポートし、langfuseのキーを設定
  • conversation_turn_limit_filter.pyをインポートして会話の制限を解除

使用方法

設定が完了したら、http://localhost:8080 にアクセスしてopen webuiを使用できます。ユーザーはこのインターフェースを通じてAIと対話できます。

コスト管理と分析

langfuseのダッシュボード(http://localhost:3000)で、ユーザーごとの利用状況やコストを詳細に分析できます。これにより、部門別や個人別の利用状況を把握し、必要に応じて利用制限を設けることも可能です。

まとめ

この構成により、セキュアでカスタマイズ可能な社内向けAI Web UIを構築できます。open webuiの使いやすさ、pipelineの柔軟性、そしてlangfuseの詳細な分析機能を組み合わせることで、企業のニーズに合ったAI活用環境を整えることができます。

今後の展開として、特定の業務プロセスに合わせたカスタムパイプラインの作成や、セキュリティポリシーに基づいた利用制限の実装なども検討できるでしょう。AIの力を社内で安全に活用し、業務効率の向上につなげていきましょう。

リポジトリ

https://github.com/Sunwood-ai-labs/moa.git

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

Discussion