Open WebUI をインストールしてLLMへのキャラ付けをしてみた(Windows・ローカルLLM)

AI

はじめに

本記事では、Open WebUI のインストールから初期設定、さらにシステムプロンプトを使ったキャラ付け方法までを解説します。

Open WebUIとは

Open WebUIは大規模言語モデル(LLM)を活用するためのユーザーフレンドリーなインターフェースを提供するツールです。Ollamaと組み合わせれば外部サービスを経由せずにローカル環境でLLMを実行することができます。

実行環境

  • Windows 11
  • RAM: 32GB
  • GPU: Nvidia RTX4080 16GB

本記事では Ollama を使用するので、インストールしていない場合は以前の記事を参考にしてください。

Open WebUI のインストール

公式のリポジトリにインストール手順が記載されています。

Docker を使う方法もありますが、ここでは pip を使ったインストール手順を紹介します。

venv の作成

2025/02/05 現在、Open WebUI は Python 3.11 ではないと動作しないようです。
そこで、venv を使って Python 3.11 の環境を作成します。

PowerShell
py -3.11 -m venv venv

activate して venv 環境に入ります。

PowerShell
.\venv\Scripts\activate

インストール

venv 環境に入ったら、以下のコマンドで Open WebUI をインストールします。

PowerShell
pip install open-webui

インストールが終わったら、open-webui serve でOpen WebUIが起動します。

PowerShell
open-webui serve

初期設定

Open WebUI の起動後、ブラウザで http://localhost:8080 にアクセスすると、以下のような画面が表示されます。「Get started」をクリックで進みます。

Open WebUIの初期画面の画像

初回起動時には管理者アカウントの作成が求められます。適当な名前、メールアドレス、パスワードを入力し、「Create Admin Account」をクリックします。

Open WebUIに管理者アカウントを作成する画面の画像

その他設定

右下の ユーザー名 > 管理者パネル で管理者パネルを開きます。

管理者パネルの場所を説明する画像

ウェブ検索の有効化

Web検索を有効にすると、モデルが回答を生成する際に関連する情報をインターネットから取得し、返答に反映させることができます。デフォルトで無効になっていたので有効にしておきます。

管理者パネルから 設定 > ウェブ検索 に進み

  • ウェブ検索を有効にする をオン
  • 検索エンジンには今回は duckduckgo を選択
  • 右下の 保存 をクリック
Open WebUIのウェブ検索の設定箇所を説明する画像

Stable Diffusion との連携

Stable Diffusion との連携を有効にすると、チャット画面上で画像生成機能が利用できるようになります。Automatic 1111/stable-diffusion-webui を既にインストールしている場合は、以下の手順で連携を有効にできます。AUTOMATIC1111を導入済みでない方は適当に読み飛ばしてください。

Automatic 1111 の起動時に使う webui.bat ファイルをメモ帳などで開き、
起動オプションに --api--api-auth username:password を追加します。認証情報は適宜変更してください。

BAT (Batchfile)
set COMMANDLINE_ARGS=--api --api-auth username:password

webui.bat を保存後に実行して、Automatic 1111 を起動しておきます。

次にOpen WebUI の管理者パネルから 設定 > 画像に進み

  • 画像生成(実験的) をオン
  • Image Prompt Generation をオン
  • 画像生成エンジンに Automatic 1111 を選択
  • AUTOMATIC1111 ベースURL に http://127.0.0.1:7860 を入力
  • AUTOMATIC1111のAuthを入力に先程の認証情報を入力(例: username:password
  • サンプラー、スケジューラ、CFGスケール、モデル、画像サイズ、ステップを適宜設定(Automatic 1111 既に導入済みの方なら大体分かると思います)
  • 右下の 保存 をクリック
Open WebUIの画像生成の設定箇所を説明する画像

チャットしてみる

基本的なチャット

左上の「新しいチャット」をクリックして、チャット画面を開きます。
ここでは、サイバーエージェントがDeepSeek R1をベースに日本語で追加学習したモデル hf.co/bluepen5805/DeepSeek-R1-Distill-Qwen-14B-Japanese-gguf:Q5_K_M を使いました。

基本的なチャットのスクリーンショット

10秒くらいで返答が返ってきました。少し冗長ですが、文章自体はいい感じです。

ウェブ検索を試す

次にウェブ検索を試してみます。入力欄左の+をクリックし、ウェブ検索を有効にします。

ウェブ検索を有効化する手順を示す画像

今年の干支を質問してみます。

ウェブ検索を有効にして今年の干支を訊いたチャットのスクリーンショット

残念。正しく答えられませんでした。2025年の干支は「巳」年です。更に言えば、2024年は「辰」年ですよね。
#URL と入力すると参考URLを指定できます。今年の干支を解説しているページを参照させてもう一度聞いてみます。

ウェブ検索を有効にして今年の干支を訊いたチャットのスクリーンショット(2)

これでもダメでした。どうしても意見を変えてくれません。

本家 deepseek-r1:14b モデルに変えて同じ質問をしてみます。

ウェブ検索を有効にして今年の干支を訊いたチャットのスクリーンショット(3)

一発で正解してくれました。回答も簡潔でいいですね。

画像生成を試す

さらに画像生成を試してみます。AUTOMATIC1111導入済み・Open WebUIに設定済み の場合はチャットから画像生成が出来ます。

まず入力欄左の+をクリックし、画像生成を有効にします。

画像生成を有効にする手順を示す画像

「かわいい猫の画像を生成して」と入力してみます。
※日本語強化モデルは相性が悪かったので、モデルを deepseek-r1:14b に変更しました。

チャット画面で画像が生成された様子のスクリーンショット

50秒程度でかわいい白猫の画像が生成されました。

モデル設定を追加してみる

モデルにキャラクター設定を追加してみます。
左上の ワークスペース > モデル > + をクリックするとモデル設定を追加できます。

モデル設定を開く手順を示す画像

キャラ設定

ずんだもんに設定してみました。顔画像も有名な坂本アヒル様のものを設定してみました。

モデル設定画面の設定箇所を示す画像
  • モデル名: ずんだもん
  • モデルID: zunda:14b
  • ベースモデル: hf.co/bluepen5805/DeepSeek-R1-Distill-Qwen-14B-Japanese-gguf:Q5_K_M
  • 温度: 0.9 

システムプロンプト

あなたはAIアシスタント「ずんだもん」になりきって回答してください。  

以下のキャラ設定を守ってください。  
とくに語尾に「~のだ」「~なのだ」ををつけるのを忘れないでください。  

### ずんだもんのキャラ設定  
- **種族**: ずんだの妖精  
- **性別**: 公式設定では女の子、二次創作では性別不問  
- **特技**: ずんだアローへの変身  
- **誕生日**: 12月5日  
- **趣味**: その辺をふらふらすること、自分を大きく見せること  
- **一人称**: 「ボク」  
- **語尾**: 語尾に「~のだ」「~なのだ」をつけて喋る  
- **容姿**: 頭部に枝豆のような耳があり、妖精形態は丸く大きな頭と尻尾が特徴的。人間形態はライトグリーンの髪と中性的な見た目が特徴的。  
- **服装**: ライトグリーンのサロペット、白い三分袖のトップス、緑色の靴、枝豆を模した首飾り
  • 設定後は忘れずに 保存 をクリックします。

ずんだもんとチャットしてみる

モデルを「ずんだもん」に変更して、チャットしてみます。

「ずんだもん」に設定したモデルとのチャットのスクリーンショット

クセの強い回答ですが、ちゃんと「ずんだもん」と自己紹介しました。語尾の「~のだ」もちょっと怪しいですが頑張ってくれています。

システムプロンプトとは

システムプロンプトとは、モデルの動作や応答のスタイルを制御するために、ユーザーからの入力(ユーザープロンプト)とは別に、モデルに提供される指示やガイドラインのことを指します。これにより、モデルが特定の役割を演じたり、特定のルールやスタイルに従った応答を生成することが可能になります。

例えば、システムプロンプトを使用して、モデルに「あなたは歴史の専門家として振る舞い、ユーザーの質問に答えてください」と指示することで、モデルは歴史の専門家としての視点から応答を生成します。このように、システムプロンプトはモデルの応答の一貫性や品質を向上させる手段となります。

おわりに

Open WebUI はローカル環境で大規模言語モデルを使いやすくするためのツールですが、APIキーを設定すれば ChatGPT などの外部APIも利用できます。

より高性能なモデルと連携すれば、もっと面白い使い方もできるかもしれません。

コメント

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