はじめに
追記:タイトルが長い!!
皆さん生成 AI ってやってたりします?
私はお仕事の活用もあったりして、ボチボチやってたりします。
で、個人でも ChatGPT Plus 契約したり、違う月に Claude3 を契約したり。
X/Twitter の Grok は契約したけどビミョーだったな。。
Mid Journey も早くから課金して使ったので、恐らく世界でも最も早く 生成 AI を使って DJ イベントのフライヤーを生成した一人ではないでしょうか。知らんけど。
・・・なんですが、特に ChatGPT みたいな LLM の生成 AI は、どこもかしこも月額20ドル! 3100円!
円よわ!!やってられねぇ!
まぁその分お仕事上の時短とか、やりたいことの実現とかで元取らせて頂いているとは思うんですが、毎月3100円の出費がなんだかちょっと惜しくなってきました。
もう少し削減出来ないかなぁと思ってたところ、API で使った分だけ課金されるスタイルにしたら良いんじゃね?って思い至った次第。各サービスの無償枠も解放され出したし。
要件と完成例
要件
・スマホから Google Gemini/OpenAI ChatGPT/Anthropic Claude などの複数 AI に対して WebGUI でアクセスしたい
・(オプション)ローカル LLM で実験して遊びたいので、ローカルの LLM が使えると嬉しい
・WebUI 自体の維持費が掛からない、あるいは500円未満
何に使うん?
・プログラミング
・アイデアの壁打ち
・くだらない話を生成させて遊ぶ(寂しい)
例えば、くだらない小説を生成させて「このキャラクターの考えていることを述べなさい」とか「この時の作者の気持ちを答えよ」みたいなくだらない事が出来る。
・雑談相手(寂しすぎる)
完成例

今回は使い放題できるローカル(OSS)版の Dify を選定しました。
本来はノーコード/ローコード開発ツールですが、単なる chatbot クライアントとしても使えます。
OSS の chatbot UI も検討したんですが、前提ミドルウェアの Synapse の導入が極めて面倒くさそうだったので、結果的にシンプルな Dify に。
今回は Docker Desktop を Windows にインストールしています。
録画サーバ として起動しっぱなしなので、そこの空き時間に動いてもらうことにしました。
そのサービスとのポート競合していないので設定変更もなし。コンテナ未経験ですけど、簡単に動いてくれました。
なお、Docker Desktop は個人利用以外は有料ですが、企業で使う場合は Linux で普通に Desktop ではない docker 入れれば動きます。というか、Linux ならそもそも Desktop じゃなくて良いです。
メリット
インターフェースがシンプル
シンプルつってもテンプレートから外れる場合は自分で作るんですけども。
今回の例では、最初にどの LLM を使うかを選択してから chatbot を始められます。
スマホ対応!なので、Google Gemini Pro も Claude もスマホから実行できます。

1つのチャットで、
・OpenAI GPT-4o
・OpenAI GPT-4o mini
・Anthropic Claude3 Opus
・Anthropic Claude3 Haiku
・Anthropic Claude3.5 Sonnet
・Google Gemini 1.5 Pro
・Google Gemini 1.5 Flash
・Local LLM
を選んで使えるようにしています(スレッド内での途中変更は不可)
私はスマホから自宅に VPN を張れる環境を作っているので、どこでも使えます。
コスト
コストをケチるためにこの仕組みを考えてるので最重要視しているわけです。
GPT-4o と Claude はサービスを使った分だけの 前払い 課金になります。
前もって $5 とかのクレジットを買っておいて、それを消費して利用する感じですね。
これだと従量課金と違って使いすぎる心配もないです。よく使う場合は面倒だったり余計にお金が掛かったりするかもですけど。
Web UI の定額 $20 と比べてどちらが安いかというのは、使う頻度と WebUI の機能をどれだけ使うか次第ですね。
とりわけ、現時点(2024/07)では Google Gemini 1.5 Pro/Flash が無料 で使わせてもらえるのがあまりにデカいです。大体の用事がこれで完結します。無料なのにかなり性能も高い。
なのでプログラミングとかする場合は無料枠の ChatGPT-4o/WebUI や Claude 3.5 Sonnet/WebUI。
特に高度な文章が求められる用事(会社の考課に関わる文章とか)の時は API の Claude3 Opus、
それ以外は全部 Gemini 1.5 Pro/Flash って感じです。ほぼほぼ無料生活。
(Google Gemini の有料化が始まったらどうしようかしら。。)
今回の趣旨とは外れますが、Google AI Studio(WebUI)での Gemini 1.5 Pro は録音のテープ起こしとかもできます。
無料版は学習されかねないのでコンプライアンスの面で仕事で使うのはナシだと思っていますが、
1.5倍速再生で議事録起こししていた新人時代の苦労を思い出す次第です。
なのでプライベートでやってるラジオとかはいいんじゃないかな。
最近は「詳細な時系列は不要なので、テープを起こしをしながら章立てして要約してください。」とお願いしています。
チャットでの Stable Diffusion 利用(スマホもOK)
プロンプトも LLM が自動で考えてくれるように工夫したので便利!
ローカル LLM なので安全
ローカル LLM も使えるようになるので、いわゆる「検閲」が生じない安全な環境をこしらえることができます。
RTX3060 12GB で動かしています。1分くらいでチャット生成できるかな?
環境は LM Studio で構築しており、Dify からのインターフェースは「OpenAI-API-compatible」です。
以下はホスト名 PSX を指定していますが投稿用に書き換えたもので、
コンテナ環境だと名前解決がうまく行かなかったので、実際は 192.168~ みたいな IP アドレスを記載しています。

Google 1.5 Pro とフリー枠の 3.5 Sonnet が非常に優秀なので、環境構築したものの今のところは、ほぼ使っていません。
多分、当面はローカルよりクラウドサービス使った方が幸せになれると思うよ。
余談:Windows Docker Desktop で v0.6.12 が起動しない(解決済)
で、動かしてたんですが、v0.6.11 からバージョンアップしたところ v0.6.12 だとエラーが出て起動しません。
環境を全部消して入れ直してもダメ。docker-legacy から docker compose すると起動するが挙動不審。
はて?
中の人からご丁寧に Reply 頂いたのですが、なんでも Windows 版のファイル権限の問題でうまく行かなかったようです。何もしていませんが、0.6.12-fix で治りました。
いまは 0.6.13 も出てるから要らない情報ですネ。
終わりに
お金ある人は Claude3 に課金して、Opus 使うのが最良でよいと思います。多分元取れます。