広告

Open WebUI でローカルLLMを作ってみよう①

AI

事前準備

Open webUI の github:https://github.com/open-webui/open-webui

今回はコンテナを利用するので、仮想化が有効になっていることを確認してください。
※ Windows Server なら特に気にすることないですが、Windows クライアントの場合、確認しといたほうがいい。

以下のものをインストールしてください。

Open WebUI をデプロイ

  1. powershell を管理者権限で起動します。
  2. 今回は Nvidia GPU (16GB) 付きのパソコンで実施するため、以下のコマンドで Open WebUI のコンテナを起動します。
    docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda
    # CPU を使う場合、ghcr.io/open-webui/open-webui:main イメージを使ってください。

起動完了したら、以下の URL でアクセスしてみてください。
http://localhost:3000

Windows 上でデプロイする場合

もしコンテナではなく、そのまま Windows 上で動かす場合、下記のコマンドでもデプロイ可能

# python で open-webui ダウンロード
pip install open-webui

# サービス起動
open-webui serve

アクセス URL:http://localhost:8080

モデルのダウンロード

Open WebUI の検索画面の左上の矢印をクリックし、モデル検索ができます。
ここは利用したいモデルを検索して、そのままダウンロードできます。(ollama の役割で実現している)
※ 自分の環境は 16 GB メモリのGPU を使っているので、「qwen2.5:14b-instruct-q4_K_M」モデルをダウンロードしてます。

休憩

現時点では、モデルを選択して、チャット欄でAIと会話できます。
ただ、モデルが現時点持っている情報のみ提供できるので、最新のネット上の情報は取得できません。
これからは検索してから回答してもらえるようにするためのパーツを組み込みます。

要するに、下記のような動作にしていきたいと思います。

ユーザー質問
   ↓
LLM
   ↓
検索クエリ生成(例:「Azure firewall latency」)
   ↓
SearXNG Query URL にHTTPリクエスト
   ↓
SearXNG が Google / Bing 等を代理検索
   ↓
検索結果(JSON 形式で返却)
   ↓
OpenWebUI が RAG 注入
   ↓
LLM 回答

コメント

タイトルとURLをコピーしました