お知らせ

現在サイトのリニューアル作業中のため、全体的にページの表示が乱れています。
投稿日:
技術::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を外すための設定がないため、モデレーションを回避するためには恐らくコードを書き換える必要があるが確認できていない。

おすすめの設定

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

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

レートリミット緩和

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

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

備考

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

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

Ctrl+F5でスーパーリロードの操作をしていたら「スーパーリロードはShift+F5だろJK(常識的に考えて)」みたいな指摘を受けたので、Ctrl+F5でスーパーリロードが機能するかどうかを調べてみた。

結論を書くと実際に確認したところ、主要ブラウザでは今でも機能した。

各ブラウザの挙動

Microsoft Edge

機能する。

Microsoft公式によるとShift+F5となっているが、バージョン136.0.3240.64ではCtrl+F5でも機能していた。もしかしたら互換機能として残っているのかもしれない。

Google Chrome

機能する。

公式ヘルプによるとCtrl+F5は別の機能に割り当てられていた。

しかし、バージョン136.0.7103.93ではCtrl+F5でも機能していた。

Firefox

機能する。

公式ヘルプによると機能すると書かれている。

paste-image-2025-44-14_11-43-24-350.png

バージョン138.0.3で機能することも確認した。参考までにFirefoxではShift+F5は開発者メニュー的なものが開いた。

Opera

機能する。

公式ヘルプには記載がないが、バージョン134.0.6998.205で機能することを確認した。

設定画面上には存在していた。

paste-image-2025-47-14_11-46-36-727.png

まとめ

Ctrl+F5は依然としてスーパーリロードとして機能するようだ。但しEdgeやChromeのヘルプを見る感じCtrl+F5の扱いが表記されておらず、Shift+F5に機能を移したいような意図も感じられたため、そのうち使えなくなる可能性もあるかもしれないなと感じた。

投稿日:
ネットワーク::VPNソフトウェア::WSL

Akamai EAAからAkamai ゼロトラスト・クライアントに移行したらVPNと疎通できなくなったので、その対処をしたときのログ。

確認環境

WSL2の中から名前解決はできるがcurlやpingを叩いても疎通しない。Windows側では疎通する状態。

  • Windows 11 Pro 23H2
  • WSL 2.4.13.0
  • WSLの中はUbuntu 22.04
  • Akamai ゼロトラスト・クライアントを利用している
  • /etc/wsl.conf
    [interop]
    appendWindowsPath = false
    
  • %HOMEPATH%\.wslconfig
    [experimental]
    networkingMode=mirrored
    firewall=true
    
  • Windows側とWSL2側それぞれでpingを飛ばし、Wiresharkでパケットを観測したとき、Ethernet IIのSrcとDstのMACアドレスがWindows側は共に同値だが、WSL2側は共に異なり、いずれもWindows側の値と一致しない

解決方法

%HOMEPATH%\.wslconfignetworkingModemirroredからNATに変える。

[experimental]
networkingMode=NAT
firewall=true
投稿日:
技術::AIソフトウェア::Open WebUI

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

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

アレゲなことをするならやはり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はトークン消費を抑えるために何か細工していると思う。

ChromeからEdgeに乗り換えて一年半くらい経ったので、個人的にEdgeとChromeに思うところの比較をしてみた。これは別に優劣をつけるものではなく単なる感想。

項目 Edge Chrome
Ad Block
ダウンロード結果の保持
マウスジェスチャ
UIがころころ変わらない
クライアント領域の広さ
Chrome Webストアから消えた拡張の維持
他端末とのタブ共有
閉じたウィンドウを開き直す ⚠️
垂直タブバー ⚠️
設定同期 ⚠️
設定の単純さ
ブラウザベンダーの広告

Ad Block

Edgeには標準でAd Blockが導入されており、Chromeのようにサードパーティ製の胡散臭い拡張機能に依存する必要がない。

参考として個人的にはChromeの場合、uBlock Originを広告ブロッカーとして利用していた。これはAd Blockよりも強力だと思う。

ダウンロード結果の保持

Edgeではダウンロード結果を保持することができる。以下の画像の右側で「ダウンロード」と出ている垂直バーだ。

paste-image-2025-6-25_9-5-24-138.png

これが出ているとzipなどの書庫をダウンロードしたときに展開してフォルダに遷移がスムーズにできて便利だし、ダウンロード完了直後にアクション出来なかった場合も対応しやすいので非常に助かる。

Chromeにはこの機能がないのでダウンロードが完了した直後にクリックしようとしてもできないことがあるし、仮にできても展開先を開くには再表示しないとならず手間だ。ダウンロード中にクリックしておくとアクションの予約もできるが、上手く動かないことも多い。これは多分タイムアウトがかかってるのだと思う。

マウスジェスチャ

Edgeには標準でマウスジェスチャが導入されており、サードパーティ製の拡張機能に依存する必要がない。

ChromeのマウスジェスチャといえばcrxMouse Chrome™ Gesturesが有名だと思うが、この拡張機能は過去に公開停止されており、個人的にあまり信頼していない。

Edge標準のマウスジェスチャはcrxMouseと比べると貧弱だが、一般的なパターンと、必要最低限の割り当てができ、特定Webサイトでは機能しないようにするブロックリストもあるため、十分使える。何よりファーストパーティなので安心しやすい。

UIがころころ変わらない

Chromeはコンテキストメニューがスクロール方式になったり、ブックマークバーや各種メニューのボタンがある日突如、肥大化したり、ユーザーを使って大胆なABテストをしてくるので使いづらく感じることがしばしばあった。

Edgeを使っていて、このような破壊的変更を感じることはなく、全体的に落ち着いている印象だ。これは質実剛健なマイクロソフトと、柔軟に対応するGoogleとの会社文化の差としてみることもできそうだ。

クライアント領域の広さ

下図は左がEdge、右がChromeの画面上部のUI部分だが、Edgeのほうが少しだけUIが狭い分、クライアント領域が広い。

paste-image-2025-38-5_21-37-58-917.png

Chrome Webストアから消えた拡張の維持

EdgeではChrome Webストアから拡張機能が消えても維持されるが、Chromeだと強制的に削除される。強制的に削除されると設定ごと吹き飛ぶため、Tampermonkeyのようにユーザー定義が大きな拡張はバックアップがないとマニュアルで再導入するのも厳しい。

但しEdgeであってもインストール元が消えているため、ブラウザの再インストール時には消えると思われる。

他端末とのタブ共有

Edgeを利用している他の端末が現在開いているタブを共有できる。これは最後に開いていた状態を持っているため、電源が落ちている端末のタブも見れる。

この機能は端末を多く持っている人ほど恩恵があるだろう。Chromeにも同様の機能があるようだが、内容は確認していない。

閉じたウィンドウを開き直す

Edgeでは誤ってウィンドウを閉じたときでも、閉じたウィンドウを復元できる機能がある。

最近閉じた項目にウィンドウが閉じた履歴が出るので、ここから復帰できる。

paste-image-2025-22-5_21-21-42-999.png

もちろん閉じたウィンドウの中身は展開でき、何を閉じたかも確認できる。

paste-image-2025-21-5_21-20-15-250.png

Chromeにもあるが、履歴に存在せずショートカットキーで出しづらいのと、何を閉じたのかが一目でわからないのが微妙に感じる。

paste-image-2025-25-5_21-24-10-221.png

垂直タブバー

Edgeには垂直タブバーがあり、多数のタブを開いているときに便利なケースがある。しかし個人的にはChromeのタブリストの方が必要な時にだけ画面上に被さるように出てくるため使いやすいと感じている。Edgeのは画面が狭くなるし、タブバーを開いている間は本来のタブが消えてしまうので操作性が悪い。

Edgeの垂直タブバー

垂直タブバーを表示すると元々のタブが消え操作性が変わってしまう上、能動的に非表示にしないと画面を占有して邪魔なので私はあまり好きではない。

タブバーを出す前 タブバーを出した後
paste-image-2025-30-5_21-29-23-69.png
paste-image-2025-30-5_21-29-3-494.png

Chromeの同等機能

Edgeと比べてUIに破壊的変化がなく、フォーカスを失えば勝手に消えるので便利だ。

paste-image-2025-28-5_21-27-51-797.png

設定同期

Edgeの設定同期には問題がある。それは設定の大半が同期されないことだ。Edgeにはマイクロソフトによるお節介機能が多くあり、これを無効化するための設定が多くあるのだが、これらは全く同期されない。無数に設定がある割に不親切だ。マイクロソフトの広告系の機能ならまだしも、マウスジェスチャすら同期されないのはいくら何でも酷いと思う。

一方でChromeは、設定画面にあるものであれば、ほとんどすべての設定が同期される。標準ダウンロード方式以外恐らくすべて同期されているのではなかろうか?

設定の単純さ

Edgeにはマイクロソフトの利益に繋がる広告機能や、Copilotなどの本質的にブラウザとして不要な機能が山のようにあり、これらの有効無効を切り替える設定が数多くある。これは多くの人間にとっては複雑なことだと思う。

一方でChromeの設定も多いとはいえ、Edgeと比べると単純だ。設定することもさほどないので導入が圧倒的に楽である。

ブラウザベンダーの広告

Edgeはひたすらマイクロソフトのサービスに誘導するように色々と邪魔くさく仕向けてくるが、Chromeではそんなことはない。