私的AI研究会 > OpenWebUI

ローカル PC で LLM を利用する(運用編)

StableDiffusion_g735_m.jpg
ollama_m.jpg

 ローカル PC で AI チャットを動かす

▲ 目 次
※ 最終更新:2025/06/19 

Open WebUI で Gemma 3 を使う

Open WebUI の起動

  1. Open WebUI を起動する
     Windows  「Anaconda PowerShell」から起動
    (base) PS C:\anaconda_win> .\open-webui.ps1
     Linux  「Anaconda ターミナル」から起動
    (base) $ source open-webui.sh
  2. Waiting for application startup. の表示を確認して次に進む
  3. Web サイト http://localhost:8080 を開く
  4. 左上のドロップダウンリストの「gemma3」モデルの選択を確認する

テキストでの対話

  1. 画面下部のテキスト入力欄に質問や指示を入力する 質問入力例:「あなたの知識の概要を教えてください
  2. 「↑」ボタンを押して送信する
  3. しばらくすると画面上に応答結果が表示される
    ▼「テキストでの対話」プレーン・テキスト

画像を使った対話(マルチモーダル機能)

  1. 入力欄の左下にある「+」ボタンをクリックして追加するか、入力欄にドラッグ&ドロップするか、クリップボードの画像をペーストする
    質問入力例:「この画像は何ですか?
  2. 画像が添付された状態で「↑」ボタンを押して送信する
  3. しばらくすると画面上に応答結果が表示される
    ▼「画像を使った対話」プレーン・テキスト

対話による画像生成(「Stable Diffusion」との連携機能)

  1. 「Stable Diffusion WebUI」を API機能を有効にして起動しておく
    起動オプション →「--api --api-auth アカウント名:パスワード」
    ・「reForge」「Automatic1111」どちらでも動作する

  2. ① open webui 画面右上のマークを押し「設定画面」から ②「管理者設定」を選択
  3. ③ 管理者設定画面から「画像」を押し ④「画像生成」を有効にする
  4. 画面下部のテキスト入力欄に画像の指示を入力する 質問入力例:「美しい日本女性を StableDiffusion で生成してください
  5. 「↑」ボタンを押して送信する
  6. しばらくすると画面上に応答結果が表示される
  7. 画面下部の「Generate Image」アイコンを押すと画像が生成される
    ※ アイコンがない場合は、上記の管理者設定画面の「画像」から「画像生成」を有効にする
    ▼「画像を使った対話」プレーン・テキスト

RAG(検索拡張生成)を試す

ドキュメントや知識ベースをアップロードして参照させることができる
Open WebUI ドキュメントを参照して使い方を回答させてみる
  1. Open WebUI ドキュメントを公式リポジトリからダウンロードする
    https://github.com/open-webui/docs/archive/refs/heads/main.zip
    ・ダウンロードした main.zip ファイルを解凍し docs フォルダを open-webui_docs として保存しておく

  2. ナレッジベースを作成する
    ・画面左側メニューの「ワークスペース」から「ナレッジベース」タブを開く
    ・画面右の「+」をクリック
    ・① 名前に「Open WebUI ドキュメント」と入力し、② 目的に「公式ドキュメントで回答を補佐する」と入力する
    ・③「ナレッジベース作成」をクリック

  3. 「Open WebUI ドキュメント」ナレッジベースで右端の「+」を押し「アップロードディレクトリ」を選択
    ・上記で保存した「open-webui_docs」を指定する
    ※ ファイルをナレッジベースにドラッグ&ドロップしてアップロードすることもできる

  4. ファイルがアップロードされ、画面右にファイルリストが表示される

  5. 「ワークスペース」から ⑤「モデル」タブを選択し、⑥ 画面右の「+」をクリックする

  6. モデルを設定する
    ・⑦ 名前に「Open WebUI」と入力
    ・⑧ 基本モデルは「gemma3:latest」を選択
    ・⑨「ナレッジベース」で先ほど作成した「Open WebUI ドキュメント」を選択
    ・⑩ 画面最下部の「保存して作成」をクリック

  7. ⑪ 新しいチャットを開き、⑫ 先ほど追加したモデルを選択

  8. Open WebUI について質問してみる
    ・⑬ 画面下部のテキスト入力欄に質問する 質問入力例:「conda で OpenWebUI をアップデートするにはどうしたらいいですか?
    ・⑭ 「↑」ボタンを押して送信する

  9. しばらくすると画面上に応答結果が表示される
    ・ナレッジベース内を検索したあと、参照元を示して回答している
    ▼「RAG(検索拡張生成)」プレーン・テキスト

応答結果の精度を上げる1:ウェブ情報を活用

  そのまま質問してみる 

  1. 学習内容にないであろう質問を入力する 質問入力例:「雑誌インターフェースの最新号について教えてください
  2. しばらくすると間違った応答結果が表示される

  ウェブ情報を利用する 

  1. 先頭に '#'をつけて URL を入力する
  2. 続いて上記と同じ質問を入力する 質問入力例:「雑誌インターフェースの最新号について教えてください
  3. しばらくすると Web ページを反映した結果が表示される

  ウェブ検索を利用する 

  1. ウェブ検索を利用できる設定をする
    (1)「メニュー」→「管理者パネル」→「設定」→「ウェブ検索」を選択
    (2)「ウェブ検索を有効にする」を ON にする
    (3)「ウェブ検索エンジン」の「DuckDuckGo」を選ぶ
    (4)「保存」を押し設定を保存する

  2. 「ウェブ検索」を有効にして上記と同じ質問を入力する 質問入力例:「雑誌インターフェースの最新号について教えてください
  3. しばらくすると Web 検索を反映した結果が表示される

応答結果の精度を上げる2:任意の Python コードを実行

  そのまま質問してみる 

  1. 学習内容にないであろう質問を入力する 質問入力例:「今の時刻は?
  2. しばらくすると間違った応答結果が表示される(正解:2025/6/4)

  Python コードを実行する 

  1. Python関数が利用できる設定をする
    ①「ワークスペース」メニューを選択
    ②「ツール」タブを選ぶ
    ③「+」ボタンを押す
    ④「New Tool」を選択
    サンプルコードが表示される
    ⑤「タイトル」を入力
    ⑥「ID」を入力(アルファベット・数字・アンダースコアのみ)
    ⑦「説明文」を入力
    ⑧「保存」を押してツールとして登録する(警告ダイアログが表示されるので「確認」を押す)

  2. 現在時刻を聞いてみる
    ⑨「+」ボタンを押す
    ⑩ 登録した「sample-tool」を ON にする
    ⑪「今の時刻は?」と聞いてみる
    ・サンプルコードの「get_current_time()」を使用して正確な現在時刻を応答する
    ・天気情報は oepnweather サイトの API キーが必要のようで回答には反映されていない
 

更新履歴

参考資料