1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ChatGPTAdvent Calendar 2024

Day 9

LibreChatでAzure OpenAIを使う

Last updated at Posted at 2024-12-08

はじめに

LibreChatAzure 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 チャットプラットフォームです。
LibreChat_Chat.png
様々な 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 以外は利用しない方針とします。

変更前の.env(56行目)
# ENDPOINTS=openAI,assistants,azureOpenAI,bingAI,google,gptPlugins,anthropic
変更後の.env(56行目)
ENDPOINTS=azureOpenAI

クレデンシャルの作成

下記の LibreChat の URL にアクセスし、Generateボタンを押して、各種クレデンシャルを作成します。
CREDS_KEY, CREDS_IV, JWT_SECRET, JWT_REFRESH_SECRET, MEILI_MASTER_KEYを控えておいて下さい。

クレデンシャルの設定

.env ファイルの該当箇所を前の手順で控えたクレデンシャルに更新します。

222 ~ 223 行目

変更前の.env
CREDS_KEY=f34be...
CREDS_IV=e2341...
変更後の.env
CREDS_KEY=xxxxx...
CREDS_IV=xxxxx...

289 行目

変更前の.env
MEILI_MASTER_KEY=DrhYf...
変更後の.env
MEILI_MASTER_KEY=xxxxx...

369 ~ 370 行目

変更前の.env
JWT_SECRET=16f8c...
JWT_REFRESH_SECRET=eaa51...
変更後の.env
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 を開きます。
左メニューからデプロイを選択します。

Azure_AI_Studio.png

Librechat で利用したい Azure OpenAI のモデルを選択します。
Azure_AI_Studio_Deploy_List.png

librechat.yamlに記載するため、赤枠で示した部分を控えておきます。
Azure_AI_Studio_Deploy_Details.png

librechat.yaml の編集

Terms of service の文言やソーシャルログインの設定もありますが、ここでは Azure OpenAI の設定だけを行います。
編集前のファイルの 94 行目~ 186 行目について下記通り書き換えます。(n)には先の手順で控えた値を入れて下さい。

librechat.yaml 変更後(94行目~)
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を下記通り変更して下さい。

docker-compose.yml 変更前(23行目~)
    volumes:
      - type: bind
        source: ./.env
        target: /app/.env
      - ./images:/app/client/public/images
      - ./logs:/app/api/logs
docker-compose.yml 変更後(23行目~)
    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 のログインページが開きます。

新規登録からユーザを作成します。
LibreChat_Login.png

適当な情報を入力します。現在の設定では新規登録に伴うメールは送信されません。
メールアドレスとパスワードはログインに使うので忘れないようにして下さい。
LibreChat_Register.png

アカウント登録が完了するとログインページに遷移するので、登録した情報でログインします。
トップページが表示され、AI モデルに Azure OpenAI が表示されていることを確認します。
LibreChat_Top.png

メッセージを送信し、エラーにならなければインストール完了です。
LibreChat_Chat.png

以上となります。おつかれさまでした。
不明点や誤りあればお知らせ頂けますと幸いです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?