はじめに
LibreChat で Azure OpenAI Serviceを使うまでの手順を記載しています。
本手順は Windows11 に WSL2 および AlmaLinux9 をインストールした環境で実施しました。
LibreChat は Docker で動作させます。
Docker Desktop は一定規模の企業だと有料となるため利用しません。
RHEL 系の Linux であれば手順変わらずそのまま実施できると思います。
また、LibreChat の設定値などは他 OS でも共通なので、参考になると思います。
WSL2 における AlmaLinux9 の環境構築は、下記記事をご参照ください。
https://qiita.com/ackyv7/items/dee531e64731c7d5f446
本記事は LibreChat v0.75 を基準に作成しています。
他のバージョンだと設定ファイルの変更行数などが異なる可能性があるので、ご注意下さい。
LibreChat とは
ChatGPT のような Web UI を持つ OSS の AI チャットプラットフォームです。
様々な AI モデルに対応しており、認証機能なども有しています。
ユースケースとして、企業内でチャットボットを作成・提供する場合などが挙げられます。
主な特徴は下記です。
-
UI が直感的に使える
- ChatGPT ライクなインターフェースで、リアルタイムストリーミング機能が提供されています。
-
多様な AI モデルが使える
- AWS Bedrock、Azure OpenAI、Anthropic、OpenAI、などのモデルが利用可能です。
-
カスタムプリセットの作成と共有
- プロンプトなどの設定が保存でき、共有することが可能です。
-
マルチモーダルに対応している
- 画像解析やファイルを用いた対話が可能です。
-
日本語に対応している
- 企業などで利用する場合でも安心です。
-
会話のインポートとエクスポートができる
- 会話履歴のエクスポートやインポートが可能です。
-
OSS かつ商用利用も可能
- コードは GitHub で公開されており、MIT License なので商用利用も可能です。
前提
Azure の Azure AI services 上に OpenAI のリソースおよびモデルがデプロイされていることを前提とします。
私の環境では「GPT-4o」がデプロイされており、これを LibreChat で利用します。
手順
WSL において、sudo 権限を持つ一般ユーザでコマンドを実行していきます。
Docker のインストール
LibreChat を動かすため、Docker をインストールします。
リポジトリの追加
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
インストール
sudo dnf install docker-ce -y
バージョン確認
docker --version
Docker version 27.3.1, build ce12230
Git のインストール
LibreChat を Clone するため、Git をインストールします。
インストール
sudo dnf install git -y
バージョン確認
git --version
git version 2.43.5
LibreChat のインストール
本記事執筆時点での最新版である「v0.7.5」をインストールします。
適宜 LibreChat のリポジトリ(Tags)を確認し、clone
時に適当なバージョンを指定して下さい。
ホームディレクトリに移動
cd ~
リポジトリのクローン
git clone https://github.com/danny-avila/LibreChat LibreChat -b v0.7.5
LibreChat のディレクトリに移動
cd ~/LibreChat
環境変数ファイル(.env)の設定
cp .env.example .env
AI モデルの設定
.env
ファイルを編集します。
今回は Azure OpenAI 以外は利用しない方針とします。
# ENDPOINTS=openAI,assistants,azureOpenAI,bingAI,google,gptPlugins,anthropic
ENDPOINTS=azureOpenAI
クレデンシャルの作成
下記の LibreChat の URL にアクセスし、Generate
ボタンを押して、各種クレデンシャルを作成します。
CREDS_KEY
, CREDS_IV
, JWT_SECRET
, JWT_REFRESH_SECRET
, MEILI_MASTER_KEY
を控えておいて下さい。
クレデンシャルの設定
.env ファイルの該当箇所を前の手順で控えたクレデンシャルに更新します。
222 ~ 223 行目
CREDS_KEY=f34be...
CREDS_IV=e2341...
CREDS_KEY=xxxxx...
CREDS_IV=xxxxx...
289 行目
MEILI_MASTER_KEY=DrhYf...
MEILI_MASTER_KEY=xxxxx...
369 ~ 370 行目
JWT_SECRET=16f8c...
JWT_REFRESH_SECRET=eaa51...
JWT_SECRET=xxxxx...
JWT_REFRESH_SECRET=xxxxx...
設定ファイル(librechat.yaml)の設定
LibreChat で Azure OpenAI を利用する際は、librechat.yaml
の設定が必要です。
.env
にも設定項目がありますが、非推奨となっています。
cp librechat.example.yaml librechat.yaml
Azure OpenAI の情報取得
Azure Portal にログインし、Azure AI Studio を開きます。
左メニューからデプロイ
を選択します。
Librechat で利用したい Azure OpenAI のモデルを選択します。
librechat.yaml
に記載するため、赤枠で示した部分を控えておきます。
librechat.yaml の編集
Terms of service の文言やソーシャルログインの設定もありますが、ここでは Azure OpenAI の設定だけを行います。
編集前のファイルの 94 行目~ 186 行目について下記通り書き換えます。(n)には先の手順で控えた値を入れて下さい。
endpoints:
azureOpenAI:
# Endpoint-level configuration
titleModel: "Azure OpenAI Service"
plugins: true
assistants: true
groups:
# Group-level configuration
- group: "Azure OpenAI Service"
apiKey: "(1)"
instanceName: "(2)"
# Model-level configuration
models:
gpt-4o:
version: "(3)"
deploymentName: "(4)"
docker-compose.ymlの編集
librechat.yaml
を読み込むように編集します。
23行目~28行目のvolumes
を下記通り変更して下さい。
volumes:
- type: bind
source: ./.env
target: /app/.env
- ./images:/app/client/public/images
- ./logs:/app/api/logs
volumes:
- type: bind
source: ./.env
target: /app/.env
- type: bind
source: ./librechat.yaml
target: /app/librechat.yaml
- ./images:/app/client/public/images
- ./logs:/app/api/logs
LibreChat の起動
docker copmose
で起動します。
イメージサイズが大きいので初回は時間がかかります。
docker compose up -d
LibreChat のユーザ登録
Web ブラウザを開いてhttp://localhost:3080
にアクセスしてください。
正しく設定がされていれば、LibreChat のログインページが開きます。
適当な情報を入力します。現在の設定では新規登録に伴うメールは送信されません。
メールアドレスとパスワードはログインに使うので忘れないようにして下さい。
アカウント登録が完了するとログインページに遷移するので、登録した情報でログインします。
トップページが表示され、AI モデルに Azure OpenAI が表示されていることを確認します。
メッセージを送信し、エラーにならなければインストール完了です。
以上となります。おつかれさまでした。
不明点や誤りあればお知らせ頂けますと幸いです。