LLM用GUIフレームワークのLobeChatをDocker環境で構築したので紹介します。
LobeChatとは
OpenAIやGoogle、Ollamaなど様々なLLMを接続して使えるオープンソースのWebアプリケーションです。
ワークフローではなくインターフェースに特化したDifyという感じの位置付けです。
公式サイトからクラウド版を簡単に体験することができるので、最初はこちらで試してみるのが良いと思います。
Lobe Chatは、GitHubやdocker hubにソースが公開されているので、誰でも自分のローカル環境に構築することができます。
Apache License 2.0なので商用利用や改変、再配布も可能です。
インストール
今回の手順ではナレッジベースを活用した検索などの機能を使うことはできません。これらの機能を使いたい場合、サーバーデータベースバージョンで構築してください。 https://lobehub.com/ja/docs/self-hosting/server-database/docker-compose

最初にdockerとdocker compose環境を用意してください。
筆者はWSL2 & Docker Desktopを使い構築しました。
基本的に公式サイトの手順に従います。手順③は自動アップデートの設定ですので任意です。
まず、適当な場所にlobe-chat用のディレクトリを作成し、さらにその直下にdocker-compose.ymlを作ります。
version: '3.8'
services: lobe-chat: image: lobehub/lobe-chat container_name: lobe-chat restart: always ports: - '3210:3210' environment: OPENAI_API_KEY: sk-xxxx OPENAI_PROXY_URL: https://api-proxy.com/v1 ACCESS_CODE: lobe66OPENAI_API_KEYは後でも設定できるので、コメントアウトしてしまっても構いません。
ACCESS_CODEは初回ログイン時に使用します。任意のものに変えてしまって大丈夫です。
作成が完了したらdocker-compose.ymlのあるディレクトリでコンテナをビルドします。
$ docker-compose up -dコンテナが起動したらhttp://localhost:3210/にアクセスします。
初期設定

この画面が表示されればインストール完了です。

docker-compose.ymlに記述したACCESS_CODEを入力します。

OpenAIのAPIキーは持っていない場合は入力しなくても大丈夫です。(その場合当然GPT-4oなどは使用できません)

画面左上の🤯アイコンをクリックし、設定⇒言語モデルを開き任意のモデルの設定を行います。
今回は、GenimiのAPIキーを入力し、接続性チェックで問題ないことを確認しました。(トグルボタンをONにするのを忘れずに)

上部のモデル名をクリックし、Genimiのモデルを選択します。

正常にチャットができました。
使ってみて
LLMのGUIとしては、既に申し分のないクオリティです。日本語への対応もほとんど完璧です。
また、Lobe Chatのgithubは非常に盛り上がっており、公式サイトもめちゃくちゃ気合が入っています。
出てきて間もないプロダクトですが、既に十分すぎる機能が実装されており、今後の進化にも非常に期待が持てます。
LLMの基礎理論が詳しく学べ、個人的にめちゃくちゃオススメできる本です↓
その続編です↓

