"ChatGPT"をセルフホストしてAIサービスを一本化しよう!
タイトルのChatGPTというのはミスリードですがちょうどよい言葉がみつからなかったので。
OSSとして公開されているChatGPT的なガワをセルフホストして自前のAPIキーで運用しようという趣旨の記事です。
ちなみに自分がこれまでこれをしてこなかった理由はAPI経由でDeep Researchが使えないからというただ1点のみによるものだったので先日OpenAIからAPIが公開されてたことで移行することにしました。
何がうれしい?
一元管理
用途に合わせてChatGPTやGeminiなどのサービスを使い分けるのは面倒ですし、チャット履歴が分散してしまうので見返しづらいという問題があります。またサブスク管理も面倒です。
このあたりを一元管理できるメリットは大きいかなと思います。
パーソナライズ
ChatGPTの長期記憶機能が停止されたことでGeminiに乗り換えたという話がありました。
このような仕様変更に左右されるのも嫌ですしまたパーソナライズでベンダーロックされることでより高性能なモデルが出てもそちらに移行できないのは嫌ですよね。ここも自分で握っておきたいところです。
カスタマイズ性(MCP対応)
エンジニア的にはローカルで自作したMCPとサクッと連携させられるのは便利かなと思います。
ここまでが言いたかったことであとはおまけですが自宅のPCに構築して外部公開して運用するまでについて備忘録的に書き残しておこうと思います。
導入まで
選定
この手のChatUIはいくつかのプロジェクトが存在します。
参考までにDeep Researchで作成したRedditによるユーザーの声を中心にまとめた比較記事を貼っておきます。
消去法で自分はLibreChatに決めました。
選定は個々の事情によると思いますが似たようなモチベーションだとLibreChatが最適なケースが多そうではあります。
(Code Interpreterが有料なのだけは惜しい)
構築
自分は自宅のミニPCに載せることにしましたがもちろんクラウドを使用してもよいと思います。
ちなみに中華製のミニPCがAmazonなどでは2万円以下で売られているのでこのような用途にはちょうどいいです。
LibreChatのインストール手順は以下の通りです。
自分のアカウントを作成したらREGISTRATIONの設定をオフにして新しくユーザー登録ができないようにしておきましょう。
#========================#
# Registration and Login #
#========================#
ALLOW_EMAIL_LOGIN=true
ALLOW_REGISTRATION=false
ALLOW_SOCIAL_LOGIN=false
ALLOW_SOCIAL_REGISTRATION=false
ALLOW_PASSWORD_RESET=false
# ALLOW_ACCOUNT_DELETION=true # note: enabled by default if omitted/commented out
ALLOW_UNVERIFIED_EMAIL_LOGIN=true
外部公開
出先でも使うには何かしらの方法が必要です。
これも色々選択肢はあるかと思いますが自分はCloudflare Tunnelを使用しました。
手順は以下の通りです。
PWA化
LibreChatに関してはPWA化することでスマホでも少なくともテキストチャットをする分にはChatGPTのアプリと遜色なく使えています。
今後
今後は長期記憶、Webの閲覧履歴やXのとの連携を行うMCPを自作するなどパーソナライズの部分を自分なりに実装してより使いやすいAIに育てていきたいと思ってます。
Discussion