お知らせ

現在サイトのリニューアル作業中のため、全体的にページの表示が乱れています。
投稿日:
技術::AIソフトウェア::Open WebUI

Open WebUIを使ってローカルLLMとチャットしてみたのでその記録。

確認環境

実行環境はWindows 11。

Env Ver
ollama 0.9.0
Open WebUI 0.6.6

やり方

Open WebUIをセットアップ済みという前提で進める。

  1. Ollamaをインストールする
  2. 使いたいモデルを探す
  3. ollama pull <モデル名>でモデルを取得する
    • 物次第だが数~数十GB程度ある
  4. Open WebUIを起動する
  5. 管理者設定の接続を開きOllamaをONにする(デフォルトはONのはず)
    paste-image-2025-58-4_0-57-43-743.png
  6. 管理者設定のモデルを開き、pullしてきたモデルを有効化する

Ollamaサーバーの起動方法

Ollamaをインストールした直後はOllamaサーバーが勝手に起動するが、それ以降は手動で起動する必要がある。

paste-image-2025-53-4_0-52-30-334.png

Windowsの場合スタートメニューから起動できる。Ollamaサーバーが起動していない場合、LLMとして使えないので注意。

所感

Intel Core i7 13700 + GeForce RTX 4070 Ti程度の環境では生成速度の遅さゆえに到底実用に耐えるものではなかった。質問への回答品質もあまりよくなく、実用性は疑問だ。チューニングすれば使えるのかもしれないが、よくわかっていない。

今回試した結果ではRPはGemini以上に破綻するので微妙だった。文章をある程度整理する力はある様に見えるので、用途次第では活路があるのかもしれない。

以下に実行した結果を記録している。

gemma3:27b

恐らくGoogle AI Studioにもいる子。

出力内容

gemma.png

真贋のほどはさておき、中々力の入った文章を出してくる。流石にローカルLLMの中でも注目されているモデルだけある。

しかし出力に3分半程度もかかっており、まったく実用性がない。無料の選択肢という意味ではGeminiやCopilotを使ったほうが遥かによいだろう。

マシン負荷

gemma1.png

GPU負荷はないもののCPU負荷が強い。VRAMが足りないとCPUで処理するみたいな情報をチラッと見たのでグラボの性能不足の可能性もある。

lucas2024/mistral-nemo-japanese-instruct-2408:q8_0

CyberAgentが作ったとされているモデルのOllama版?

出力内容

mistral.png

こちらも真贋のほどはさておき、中々いい感じの文章を出してくれる。

生成速度はgemma3:27bよりは早いものの、それでも1分ほどかかっていた。

マシン負荷

mistral1.png

CPU負荷はgemma3:27bよりやや低く、GPU負荷が少し上がる傾向があった。

マシン負荷

20250604_014915707.JPG
20250604_014918911.JPG

うちのマシンは200mmファンを四基、CPUにはNoctuaのヒートシンクに120mmファン、リアには140mmファンを装備しているが、gemma3:27bだとこれらがフル回転するので凄まじかった。

StableDiffusionやFF14ベンチ程度ではフル回転することはない。

関連記事

投稿日:
技術::AIソフトウェア::Open WebUI

適当にググって見つかる記事が軒並み古くアテにならなかったのでやれるようにした記録として残す。

AI StudioのUIだと再生成時に前の内容が上書きされてツリーが作れないとか、モデレーションが厳しいとかあるのでOpen WebUIから扱えると何かと便利だ。

確認環境

Env Ver
Open WebUI v0.6.6

手順

  1. Open WebUIを起動する
  2. 管理者設定→FunctuonsからFunctionの追加画面を開く
  3. gemini_manifold.pyのコードを貼り付けて保存する
    • 本家と比較した場合、Function IDの文字列が作者の予期しない内容の時にError: Invalid model name formatが出ないように調整している
  4. 追加したFunctionの設定(歯車アイコン、Valves)にAPIキーを入れて保存
  5. モデル一覧にGeminiが出ていればOK
    paste-image-2025-21-16_9-20-34-425.png

GeminiのAPIキーの作り方

Get API key | Google AI Studioを開きAPIキーを作成する。

画像も生成したい場合

このFunctionでは画像が生成できないので画像を生成したい場合はgemini_manifold_google_genaiを使うといい。ただこっちだとLLMが使えなかった。

またsafety_settingsを外すための設定がないため、モデレーションを回避するためには恐らくコードを書き換える必要があるが確認できていない。

おすすめの設定

paste-image-2025-54-16_9-53-20-540.png

モデルの数が多すぎるので管理者設定にあるモデルを開き、使わないのはOFFにしておくとよい。

レートリミット緩和

そのままだとすぐレートリミットに引っかかるが、請求情報を紐づけると緩和できる。参考までに20k Tokens叩いた程度だと課金されなかった。

ClaudeやChatGPTと異なり従量課金に見えるため、Cloud Billingで予算アラートをしておくのが無難だ。

備考

条件はよくわかっていないが上記の手順で書いたFunctionを利用してNSFWコンテンツを生成するとGemini API側が応答の途中で何も返さなくなることがあることを確認している。この場合、続きを生成すると書いてくれることがあるが、書いてくれないこともある。また続きを書こうとしたときに現在の文章が破壊されることがあるのでバックアップを取って後で整理しなおすなど注意が必要。

LLMのやつに画像生成のやつをマージしてやれば全体的にいい感じになりそうだが、個人的にはStableDiffusionで事足りてるのでモチベーションは薄い。ついでに暇な人は画像生成のやつのsafety_settingsもいじればモデレーションを超えられるかもしれない。機能するかは確認していないが、この辺りが参考になりそうだ

投稿日:
技術::AIソフトウェア::Open WebUI

paste-image-2025-10-31_22-9-28-325.png

これまでLLMをしばくときはPoeを使っていたが、ぶっちゃけClaude 3.7 Sonnet以外ほとんど使わないので、節約の意味を込めて本家Claudeに移ってきた。しかし本家Claudeではアレゲな発言を繰り返しているとハードウェアモデレーションが発動してしまう。しかもこれが中々解除されない。一体いつ解除されるんだ…。

アレゲなことをするならやはりPoeだろうか…いやでもPoeもキャラクター設定に対してはハードウェアモデレーションがある。ナレッジベースならモデレーションを回避できるが、ここに入れたプロンプトは入れている間は出現頻度が極端に上がり、外すとちっとも出てこなくなる困りモノで、自然な流れにするためには手動で書いたり消したりする手間がかかり厄介だ。

そこで何かいいことはないか…と思いたどり着いたのがClaude 3.7 SonnetをAPIコールすることだ。LLMモデル本体にはソフトウェアモデレーションしか掛かっておらず、ローカルでプロンプトを組む分にはモデレーションも掛からないと睨んだ私は早速ローカル環境からLLMを呼び出してチャットするための環境を作ることとした。

確認環境

Pythonは3.11系でないと動かないっぽいので注意が必要だ。

Env Ver
OS Windows 11 Pro 24H2
Python 3.11.9

手順

  1. Anthropic Consoleにアクセスしアカウントを作成
  2. 課金してAPIキーを取得
  3. ローカル環境からLLMと対話するためのWebUIである、open-webuiをインストールして起動
    pip install open-webui
    open-webui serve
    
  4. OPEN WEBUIのロゴの下に起動ログが出るのを待つ
    paste-image-2025-55-16_9-54-50-415.png
  5. http://localhost:8080/にアクセス
  6. アカウント作成画面が開くので適当な情報を入力して作成する
    • ローカル環境であるため、実在するメールアドレスでなくても問題なく登録できる
  7. 画面左下のユーザーをクリックし、管理者パネルを開く
    paste-image-2025-31-31_22-30-12-787.png
  8. 上のほうにあるFunctionsを開く
    paste-image-2025-32-31_22-31-4-85.png
  9. 右のほうにある「+」からFunctionを追加する画面を開く
  10. Anthropic Function | Open WebUI Communityにアクセスし、Function Contentに書かれているコードをコピーする
  11. 先ほどのFunctionを追加する画面に戻り、コードをペースト
  12. Function NameとFunction Descriptionを適当に埋める
    • 参考までに公式の設定値はそれぞれ「Anthropic」と「Anthropic Manifold Pipe」
  13. 保存ボタンを押す
  14. 有効化する
  15. 新しいチャットを開き、Claude 3.7 Sonnetが利用できるようになっていればOK
    paste-image-2025-55-31_22-54-2-329.png

備考

Poeや本家Claudeにおけるナレッジベースは存在しないが、モデレーションを受けないためシステムプロンプトに全部放り込めば成立する。

Poeのキャラクター設定はやり取りを繰り返すと忘れられるが、Open WebUIのシステムプロンプトは忘れられないようでちゃんと持続してくれる。またPoeのナレッジベースのように書いたことをしつこく発言してくることもなく、自然な会話になるので便利。

またLLM側の発言を編集することにより、それ以降の会話でモデレーションを突破することができるようになるなど、いろいろ便利。

あとがき

APIコールは従量課金でお金がかかるため、Poeや本家Claude並みの感覚で使うのは厳しい。多分Poeはトークン消費を抑えるために何か細工していると思う。