Open WebUIを使ってみました。
当初は「Ollama WebUI」という名前だったようですが、今はOpen WebUIという名前に変わっています。Ollama専用じゃなくなったということでしょう。OpenAIに対応済みです。
早速使ってみました。もちろんBedrockで。
6/11 続編を書きました。
環境構築
Dockerですんなり構築です。Bedrockに対応はしてないので、「LiteLLM」を使って対応させます。
環境変数でこのあたりを指定
- Ollamaを無効化
- LiteLLMのエンドポイントをOpenAIのエンドポイントとして登録
- APIキーを登録(LiteLLMとの通信には不要ですが、未指定だとOpen WebUIが正しく動作しませんでした)
docker-compose.yaml
services:
open-webui:
image: ghcr.io/open-webui/open-webui
container_name: open-webui
volumes:
- open-webui:/app/backend/data
ports:
- 8080:8080
environment:
- 'WEBUI_SECRET_KEY='
- 'ENABLE_OLLAMA_API=false'
- 'OPENAI_API_BASE_URL=http://litellm:4000'
- 'OPENAI_API_KEY=sk-12345'
litellm:
image: ghcr.io/berriai/litellm:main-stable
volumes:
- ~/.aws:/root/.aws
- ./litellm/config.yaml:/config.yaml
command: [ "--config", "/config.yaml" ]
volumes:
open-webui: {}
LiteLLMの設定ファイルを作成します。
litellm/config.yaml
model_list:
- model_name: claude-3-sonnet
litellm_params:
model: bedrock/anthropic.claude-3-sonnet-20240229-v1:0
aws_region_name: us-east-1
- model_name: claude-3-haiku
litellm_params:
model: bedrock/anthropic.claude-3-haiku-20240307-v1:0
- model_name: command-r-v1:0
litellm_params:
model: bedrock/cohere.command-r-v1:0
- model_name: command-r-plus-v1:0
litellm_params:
model: bedrock/cohere.command-r-plus-v1:0
LiteLLMで対応しているモデルはこちら。Bedrock以外も設定ファイルを用意するだけです。
起動
docker compose up
ブラウザでhttp://localhost:8080
にアクセスします。
セルフサインアップが可能です。サインアップ後の画面はこちらです。
LiteLLMに登録したモデルが選択できます。
当たり前ですがチャットができます。
ドキュメントを添付してチャットができます。
(Claude 3で対応している画像添付はうまくいきませんでした)
目玉機能です。
複数のモデルに対して、同時にチャットができます。
まあ素敵
とりあえずチャットがほしいときはこれでいいですね
6/11 続編を書きました。