初投稿です。
私、フリーランスでSEやらせてもらってるんですが、ここ最近は四六時中ChatGPTとClaudeに介護してもらいながら仕事してます。
なので、両方あわせて月$40でも文句はないというか、むしろ感謝して課金していました。
でもやっぱり高いし、どっちかに絞ろうかな〜と悩んでいたときに、知ってしまったのです。
従量課金のAPIを使用してChatGPTとClaudeを使えば、両方使ったままで今より安く済むことに、、、!
そして実際に、この記事で紹介している方法で、私の課金額は月$40から月$10前後まで減りました。
この記事ではOpen WebUIを使用して、API(従量課金)でChatGPTやClaudeを使用する方法の概要をざっくりご紹介します。
(細かい手順は需要があればいずれ)
この記事でできるようになること
- 最新の言語モデルを従量課金で使う
- 様々な種類(OpenAI、Anthropic、Gemini、Ollamaなどなど)の言語モデルが使える
- ChatGPTっぽい、それなりにモダンなUIでチャットができる
必要になるスキル
じつは万人向けの方法ではないです。
非エンジニアの方には結構難しいかと思うので、最低限必要なスキルを先に列挙しておきます。
- PythonかDockerが使用できる
- OpenAIやAnthropicなど、使用したい言語モデル用のAPI Keyが取得できる
これだけでローカルネットワーク(自宅内)では使えます。
外でも使えるようにするには自分でサーバー立てて公開しないといけないので更に難易度が上がります。
(むずかしいのでこの記事には書きません)
主役! Open WebUIの紹介
今回の主役 Open WebUI
オープンソースの無料で使えるChatGPTライクなWebUIです。
APIキーを登録することで様々な種類の言語モデルを使用できます。
同じようなことができるものに、Chatbot UIやLibreChatというのもあるんですが、Open WebUIはo1-miniやo1-preiewが使えて機能も豊富なので、こちらを使ってます。
ChatGPTのように、画像や音声でのチャットもできます。
個人的に便利だと思っている機能は、会話の途中で言語モデルを切り替えられるところと、AI側のチャットの内容を編集できるところ。
(変な方向に会話が進んだら、微修正できる)
使える言語モデルは非常に多くて、私がよく使っているのは、
gpt-4o, o1-mini, o1-preview, claude-3.5-haiku, claude-3.5-sonnet
あたりですね。
GeminiとかOllamaとかも使えるみたいです。
Funtionsという名前で使用できるモデルを追加する機能があるので、自分の使いたい物があるか確認してみてください!
https://openwebui.com/functions
Open WebUIの使用方法
Open WebUIを使用する方法は2つあります。
Python pipを使用する方法とDockerを使用する方法です。
どちらも公式にのっているコマンドを引用して紹介します。
1.Python pipを使う場合(個人的におすすめ)
コマンド2つで起動できます。
pip install open-webui
open-webui serve
これで、Open WebUIサーバーが起動し、http://localhost:8080 からアクセスできます。簡単!
なお、Pythonのバージョンは3.11以上がいいらしいです。
2.Dockerを使う方法
基本は以下のコマンドで起動すればよさそうです。
ただ、OllamaやGPUを使用する場合は環境変数の設定などが必要そう。
(よくわからんので詳細はこちらを参照ください)
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
こっちの場合は、http://localhost:3000 からアクセスできます。
Open WebUIが起動できたら、管理者の登録 → API Keyの登録してチャットできるようにしましょう!
OpenAIの言語モデルは、設定 > 接続 > OpenAI APIのところにAPI Keyを登録するだけ。
自分が調べていてちょっと分かりづらかったんですが、AnthoropicなどOpenAI以外のモデルはFunction(拡張機能みたいなもの)を追加する必要があります。
Anthoropic系のモデルを使えるようにするFunctionは、ここ で取得できます。
また下図のように、Functionをimportするには、自分が開いているOpen WebUIのURLを入れる必要があります。
Functionが取得できたら、以下の場所にAPI Keyを登録
これでAnthoropic系のモデルも使えるようになるはず!
基本的にはこれでおしまい!
追加で設定すればRAG、Web検索や画像生成などもできるみたいです。
(いずれやりたい)
ただ、このままでは最初に述べた通り、ローカルネットワーク(自宅)でしか使用できません。
なので、私は外でも使えるようにミニPCでサーバーをたてて公開しています。
Open WebUIはデフォルトで、管理者以外のユーザーを登録できないようになっているため、見知らぬ他人に使用されるリスクは(ほぼ)ありません。
ここまでやればほとんどChatGPTやClaudeを使用している感覚と同じようで、いろんなモデルが安く使えますよ!
おわりに
これで今まで以上に、AIにおんぶにだっこしてもらえそうです😊
ありがたや〜