0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LiteLLM+Open WebUIでローカルAIチャット環境をDockerで構築

0
Posted at

はじめに

社内向けにLiteLLM環境があるので、Open WebUIを構築して社内でチャット画面を用意しようと思い試してみました。

Open WebUIとは?

Open WebUI公式サイト は、ChatGPTのようなUIを自分のサーバー上で利用できるオープンソースのAIプラットフォームです。

元々はOllama向けのWeb UIとして有名になりましたが、現在は以下のような様々なLLMに接続できます。

  • Ollama
  • OpenAI
  • Anthropic
  • Gemini
  • Azure OpenAI
  • OpenRouter
  • LiteLLM
  • vLLM
  • LM Studio
  • OpenAI互換API全般

Open WebUIの特徴として、Dockerで簡単に構築できることから社内サーバーでの運用に利用できます。
見た目に関しては、ほぼChatGPTです

Docker Compose構成

環境変数部分は.envで用意する前提で以下の通りです。

compose.yaml
services:

  # PostgreSQL
  postgres:
    image: postgres:17.10
    restart: unless-stopped
    environment:
      POSTGRES_DB: openwebui
      POSTGRES_USER: openwebui
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
    volumes:
      - ./data/postgres:/var/lib/postgresql/data

  # OpenWebUI
  open-webui:
    image: ghcr.io/open-webui/open-webui:v0.9.6
    ports:
      - "3000:8080"
    environment:
      # 社内 LiteLLM Proxy
      OPENAI_API_BASE_URL: "${LITELLM_URL}"
      OPENAI_API_KEY: "${LITELLM_API_KEY}"

      # DB
      DATABASE_URL: "postgresql://openwebui:${POSTGRES_PASSWORD}@postgres:5432/openwebui"

      # Ollama を使わないので無効化
      ENABLE_OLLAMA_API: "false"

      # 初回管理者登録後の追加ユーザー登録を止める
      ENABLE_SIGNUP: "false"

      # JWT/暗号化キー。更新のたびにログアウトされないように固定しておく
      # 参考: https://docs.openwebui.com/getting-started/updating/#before-you-update
      WEBUI_SECRET_KEY: "${WEBUI_SECRET_KEY}"

      # 社内利用のため外部コミュニティ共有UIは無効化
      ENABLE_COMMUNITY_SHARING: "false"

      # runtime pip install 無効化
      ENABLE_PIP_INSTALL_FRONTMATTER_REQUIREMENTS: "false"

      # DB書き込み軽減
      DATABASE_USER_ACTIVE_STATUS_UPDATE_INTERVAL: "300"
    volumes:
      - ./data/open-webui-data:/app/backend/data
    restart: unless-stopped
    depends_on:
      - postgres

注意事項
利用するバージョンは記事執筆時点のバージョンになるため、このまま使う際は注意してください。

起動と停止の方法

コマンドで以下の通りです。

# 起動
docker compose up -d

# 停止
docker compose down

起動後はブラウザアクセス

今回はポート3000で起動したので、以下でアクセスして管理者アカウントを作って利用できました。

http://localhost:3000

この後は・・・

機能が色々あるみたいなので、少し遊んでみたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?