Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Azure OpenAI

`librechat.yaml` ファイルを使用して LibreChat で Azure OpenAI を設定する方法(デプロイメント、モデルグループ、複数リージョン、および関連設定のカバー)。

LibreChat の Azure OpenAI 統合

LibreChatは、Azure OpenAI APIサービスをファーストクラスのendpointとしてサポートしています。LibreChat内でAzure OpenAIを使用するには、セットアップに合わせてlibrechat.yamlファイルを設定してください。このドキュメントでは、複数のデプロイメントとモデルを使用するためのセットアッププロセスについて説明します。

以下は、以下に説明する多くのオプションや機能を含む設定例です:

endpoints:
  azureOpenAI:
    # Endpoint-level configuration
    titleModel: "llama-70b-chat"
    plugins: true
    assistants: true
    groups:
    # Group-level configuration
    - group: "my-resource-westus"
      apiKey: "${WESTUS_API_KEY}"
      instanceName: "my-resource-westus"
      version: "2024-03-01-preview"
      # Model-level configuration
      models:
        gpt-4-vision-preview:
          deploymentName: gpt-4-vision-preview
          version: "2024-03-01-preview"
        gpt-3.5-turbo:
          deploymentName: gpt-35-turbo
        gpt-4-1106-preview:
          deploymentName: gpt-4-1106-preview
    # Group-level configuration
    - group: "mistral-inference"
      apiKey: "${AZURE_MISTRAL_API_KEY}"
      baseURL: "https://Mistral-large-vnpet-serverless.region.inference.ai.azure.com/v1/chat/completions"
      serverless: true
      # Model-level configuration
      models:
        mistral-large: true
    # Group-level configuration
    - group: "my-resource-sweden"
      apiKey: "${SWEDEN_API_KEY}"
      instanceName: "my-resource-sweden"
      deploymentName: gpt-4-1106-preview
      version: "2024-03-01-preview"
      assistants: true
      # Model-level configuration
      models:
        gpt-4-turbo: true

この例は、Azure OpenAI Endpoint Configuration Docs に従っています。

各設定レベルの詳細は、それぞれのセクションで説明されています。

  1. エンドポイントレベルの設定

  2. グループレベルの設定

  3. モデルレベルの設定

セットアップ

  1. librechat.yaml を開いて編集する: お好みのテキストエディタまたはIDEを使用して、librechat.yaml ファイルを開き、編集します。

    • オプション: 以下の環境変数を使用して、リモートまたはカスタムのファイルパスを指定します:
    CONFIG_PATH="/alternative/path/to/librechat.yaml"
  2. Azure OpenAI 設定の構成: 以下に概説する構造に従って、APIキー、インスタンス名、モデルグループ、その他の構成を含む Azure OpenAI 設定を入力してください。

  3. レガシー設定の削除: レガシー設定を使用している場合は、それらを削除してください。LibreChatサーバーはこれらを検出し、通知します。

  4. 変更を保存: librechat.yaml ファイルを保存します。

  5. LibreChat を再起動: 更新された設定が読み込まれるように、LibreChat アプリケーションを再起動します。

必須フィールド

Azure OpenAIをLibreChatと統合するには、librechat.yamlファイル内で特定のフィールドを設定する必要があります。これらのフィールドは、カスタム変数と環境変数の組み合わせを通じて検証されます。詳細な要件は以下の通りです。

エンドポイントレベルの設定

Azure のグローバル設定:

タイトルと会話の設定:

KeyTypeDescriptionExample
titleModelstring会話タイトルの生成に使用するモデルを指定します。指定がない場合、デフォルトのモデルは `gpt-3.5-turbo` に設定されますが、このモデルが利用できない場合はタイトルが生成されません。また、`current_model` に設定することで、現在使用中のモデルを動的に使用するように設定することも可能です。titleModel:
pluginsbooleanAzure経由でのプラグインの使用を有効にします。Azure設定でPlugins endpointのサポートを有効にするには `true` に設定してください。デフォルト: `false`。plugins:false
assistantsbooleanAzure経由でアシスタントの使用を有効にします。Azure設定を通じてAssistants endpointを有効にするには `true` に設定してください。デフォルト: `false`。注: これにはアシスタント互換のリージョンが必要です。assistants:false
summarizebooleanすべてのAzureモデルで会話の要約を有効にします。`true`に設定すると要約が有効になります。デフォルト: `false`。summarize:false
summaryModelstring会話の要約を生成するために使用するモデルを指定します。指定がない場合、最初のグループの `default` 配列にある最初のモデルを使用するのがデフォルトの動作です。summaryModel:
titleConvobooleanすべてのAzureモデルで会話タイトルの生成を有効にします。有効にするには `true` に設定してください。デフォルト: `false`。titleConvo:false
titleMethodstring会話タイトルの生成に使用されるメソッドを制御します。有効な値: "completion" (デフォルト), "structured", "functions" ("structured" のレガシーエイリアス)。titleMethod:completion
titlePromptstringタイトル生成用のカスタムプロンプト。会話内容の {convo} プレースホルダーを含める必要があります。See documentation for default prompt
titlePromptTemplatestring会話コンテンツをフォーマットするためのテンプレート。{input} および {output} プレースホルダーを含める必要があります。デフォルト: "User: {input} AI: {output}"titlePromptTemplate:
titleEndpointstringタイトル生成に使用する代替のendpoint。指定可能な値: openAI, azureOpenAI, google, anthropic, bedrock, またはカスタムendpoint名。titleEndpoint:

グループ設定:

KeyTypeDescriptionExample
groupsarrayAzure OpenAIモデルグループのリストを指定します。各グループは、共有設定を持つモデルのセットを表します。groupsフィールドはオブジェクトの配列であり、各オブジェクトが特定のグループの設定を定義します。これはendpointレベルで必須のフィールドであり、少なくとも1つのグループを定義する必要があります。グループレベルの設定については、「Group-Level Configuration」セクションで詳しく説明されています。# groups:[]

カスタム順序 (オプション):

KeyTypeDescriptionExample
customOrdernumberユーザーインターフェースにおけるAzure endpointのカスタム順序を指定できます。数値が大きいほどリストの下位に表示されます。指定がない場合、デフォルトの順序は`librechat.yaml`ファイル内でendpointが定義されている順序によって決定されます。customOrder:

customOrder オプションはオプションであるため、コメントアウトされています。

librechat.yaml ファイルにおけるこれらの endpoint レベルの設定例:

endpoints:
  azureOpenAI:
    titleModel: "gpt-3.5-turbo-1106"
    plugins: true
    assistants: true
    summarize: true
    summaryModel: "gpt-3.5-turbo-1106"
    titleConvo: true
    titleMethod: "functions"
    groups:
      # ... (group-level and model-level configurations)

グループレベルの設定

Custom Config (librechat.yaml) ファイルで設定可能なフィールドです。各フィールドの詳細については、Custom Config DocsのAzure OpenAIセクションを参照してください。

グループレベルの設定: グループの識別:

KeyTypeDescriptionExample
groupstringモデルグループの一意の識別子名。グループ名が重複すると検証エラーが発生するため、重複は許可されません。group: default

認証:

KeyTypeDescriptionExample
apiKeystringAzure OpenAIサービスで有効なAPIキーである必要があります。直接キーの文字列を指定するか、環境変数への参照(例: ${WESTUS_API_KEY})を使用できます。apiKey: ${AZURE_API_KEY}

Azure OpenAI インスタンス:

KeyTypeDescriptionExample
instanceNamestringAzure OpenAI インスタンスの名前。このフィールドは環境変数参照もサポートしています。**2つのドメイン形式をサポートしています**: `.openai.azure.com`(レガシー)および `.cognitiveservices.azure.com`(新規)。完全なドメイン(例: `my-instance.cognitiveservices.azure.com`)を指定することも、レガシーな `.openai.azure.com` 形式との後方互換性のためにインスタンス名のみ(例: `my-instance`)を指定することも可能です。instanceName: ${AZURE_OPENAI_INSTANCE}

デプロイ設定:

KeyTypeDescriptionExample
deploymentNamestringグループレベルでのデプロイメント名は任意ですが、グループ内のいずれかのモデルが true に設定されている場合は必須となります。deploymentName: my-deployment
versionstringグループレベルでの Azure OpenAI API バージョンは任意ですが、グループ内のいずれかのモデルが true に設定されている場合は必須となります。version: 2023-03-15-preview

詳細設定:

KeyTypeDescriptionExample
baseURLstringAzure OpenAI APIリクエスト用のカスタムベースURL。環境変数の参照がサポートされています。これはオプションであり、高度なルーティングシナリオで使用できます。baseURL: https://my-custom-base-url.com
additionalHeadersobjectAzure OpenAI APIリクエストに追加するヘッダーをキーと値のペアで指定します。値には環境変数への参照を含めることができます。additionalHeaders: {Authorization: ${AUTH_HEADER}}
serverlessbooleanAzure Model Catalogのサーバーレス推論チャット補完エンドポイントであるかどうかを指定します。この場合、モデル識別子、baseURL、およびapiKeyのみが必要です。詳細については、サーバーレス推論エンドポイントを参照してください。serverless: true
addParamsobjectAzure OpenAI APIリクエストの追加パラメータを追加または上書きします。キーと値のペアとしてAPI固有のオプションを指定する際に便利です。addParams: {temperature: 0.7}
dropParamsarrayAzure OpenAI APIリクエストから特定のデフォルトパラメータを除外できるようにします。特定のパラメータを受け付けない、または認識しないAPIを使用する場合に便利です。これは文字列のリストとして指定する必要があります。dropParams: [top_p, stop]

モデル設定:

KeyTypeDescriptionExample
modelsobjectグループ内におけるモデル識別子とそれらの設定のマッピングを指定します。キーはモデル識別子を表し、対応するOpenAIのモデル名と一致している必要があります。値には、boolean(true)またはモデル固有の設定を含むオブジェクトを指定できます。モデルがtrueに設定されている場合、グループレベルのdeploymentNameとversionを継承します。モデルがオブジェクトとして設定されている場合、独自のdeploymentNameとversionを持つことができます。このフィールドは必須であり、各グループ内に少なくとも1つのモデルを定義する必要があります。詳細はこちらmodels: {gpt-3.5-turbo: true, text-davinci-003: {}}

librechat.yaml ファイルにおけるグループレベルの設定例:

endpoints:
  azureOpenAI:
    # ... (endpoint-level configurations)
    groups:
      - group: "my-resource-group"
        apiKey: "${AZURE_API_KEY}"
        instanceName: "my-instance"
        deploymentName: "gpt-35-turbo"
        version: "2023-03-15-preview"
        baseURL: "https://my-instance.openai.azure.com/"
        additionalHeaders:
          CustomHeader: "HeaderValue"
        addParams:
          max_tokens: 2048
          temperature: 0.7
        dropParams:
          - "frequency_penalty"
          - "presence_penalty"
        models:
        # ... (model-level configurations)

モデルレベルの設定

各グループ内では、models フィールドにモデル識別子とそれらの設定のマッピングが含まれています:

モデルの識別:

KeyTypeDescriptionExample
Model Identifierstring対応するOpenAIモデル名と一致する必要があります。部分一致でも可能です。gpt-3.5-turbo: true

モデル設定:

KeyTypeDescriptionExample
Model Configurationboolean/objectBoolean true: グループレベルのdeploymentNameとversionを使用します。Object: モデル固有のdeploymentNameとversionを指定します。指定がない場合は、グループから継承されます。text-davinci-003: {deploymentName: my-model-deployment, version: 2023-03-15-preview}
deploymentNamestringこの特定のモデルのデプロイメント名。deploymentName: my-model-deployment
versionstringこの特定のモデルに対する Azure OpenAI API バージョン。version: 2023-03-15-preview

Serverless Inference Endpoints:

KeyTypeDescriptionExample
Serverless Inference Endpointsnoteサーバーレスモデルの場合は、modelをtrueに設定してください。gpt-4: true
  • モデル識別子は、対応するOpenAIのモデル名と一致している必要があります。これにより、既知のコンテキスト制限が正しく反映され、またVision(画像認識)機能が適切に動作するようになります。例えば、gpt-4-visionを使用する場合は、以下のように設定する必要があります。
endpoints:
  azureOpenAI:
    # ... (endpoint-level configurations)
    groups:
    # ... (group-level configurations)
    - group: "example_group"
    models:
     # Model identifiers must match OpenAI Model name (can be a partial match)
      gpt-4-vision-preview:
      # Object setting: must include at least "deploymentName" and/or "version"
        deploymentName: "arbitrary-deployment-name"
        version: "2024-02-15-preview" # version can be any that supports vision
      # Boolean setting, must be "true"
      gpt-4-turbo: true
  • その他の例については、Model Deployments を参照してください。

  • モデルが true に設定されている場合、そのモデルに対してグループレベルの deploymentNameversion を使用することを意味します。この場合、両方ともグループレベルで定義されている必要があります。

  • モデルがオブジェクトとして設定されている場合、独自の deploymentNameversion を指定できます。これらが指定されていない場合、モデルはグループの deploymentNameversion を継承します。

  • グループがserverless inference endpointを表す場合、モデルリストに追加するためにsingular modelをtrueに設定する必要があります。

特記事項

  1. 一意の名前: モデル名とグループ名の両方は、設定全体を通して一意である必要があります。名前が重複すると、検証エラーが発生します。

  2. 必須フィールドの欠落: グループレベル(ブール値フラグが設定されたモデルの場合)またはモデルの設定内(継承されていない、または明示的に指定されていない場合)で、必須の deploymentName または version が欠落していると、検証エラーが発生します。ただし、そのグループが serverless inference endpoint を表している場合は例外です。

  3. 環境変数の参照: この設定は環境変数の参照(例: ${VARIABLE_NAME})をサポートしています。ランタイムエラーを避けるため、参照されるすべての変数が環境内に存在することを確認してください。設定内で参照されている環境変数が定義されていない場合、エラーが発生します。${INSTANCE_NAME} および ${DEPLOYMENT_NAME} は固有のプレースホルダーであり、環境変数には対応していません。これらは現在選択されているモデルのインスタンス名およびデプロイメント名に対応します。潜在的な競合を避けるため、INSTANCE_NAME および DEPLOYMENT_NAME を環境変数名として使用することは推奨されません。

  4. エラーハンドリング: 重複する名前、未定義の環境変数、必須フィールドの欠落など、設定に問題がある場合はセットアップが無効となり、迅速な解決を目的とした詳細なエラーメッセージが生成されます。設定が無効な状態では、サーバーを実行することはできません。

  5. モデル識別子: (プロジェクトにとって)未知のモデルをモデル識別子として使用することも可能ですが、メッセージやトークンの処理において極めて重要なコンテキスト長を反映させるためには、既知のモデルと一致させる必要があります。例えば、gpt-7000 は有効ですがデフォルトで4kトークンの制限が適用されるのに対し、gpt-4-turbo は128kのコンテキスト制限を持つものとして認識されます。

最新のスキーマ定義およびガイドラインに基づいて設定を検証し、互換性を維持してください。

Model Deployments

ユーザーが利用可能なモデルのリストは、azureOpenAI endpoint config で指定されたモデルグループによって決定されます。

例えば:

# Example Azure OpenAI Object Structure
endpoints:
  azureOpenAI:
    groups:
      - group: "my-westus" # arbitrary name
        apiKey: "${WESTUS_API_KEY}"
        instanceName: "actual-instance-name" # name of the resource group or instance
        version: "2023-12-01-preview"
        models:
          gpt-4-vision-preview:
            deploymentName: gpt-4-vision-preview
            version: "2024-02-15-preview"
          gpt-3.5-turbo: true
      - group: "my-eastus"
        apiKey: "${EASTUS_API_KEY}"
        instanceName: "actual-eastus-instance-name"
        deploymentName: gpt-4-turbo
        version: "2024-02-15-preview"
        models:
          gpt-4-turbo: true

上記の構成により、gpt-4-vision-previewgpt-3.5-turbo、および gpt-4-turbo が、定義された順序でユーザーに対して有効になります。

AzureでAssistantsを使用する

Azure OpenAIでAssistantsを使用できるようにするには、主に2つのステップがあります。

  1. Endpoint-levelazureOpenAI エンドポイントのにある assistants フィールドを以下のように true に設定します。
endpoints:
  azureOpenAI:
  # Enable use of Assistants with Azure
    assistants: true
  1. AzureのAssistants API統合と互換性のあるグループに assistants フィールドを追加します。
endpoints:
  azureOpenAI:
    assistants: true
    groups:
      - group: "my-sweden-group"
        apiKey: "${SWEDEN_API_KEY}"
        instanceName: "actual-instance-name"
      # Mark this group as assistants compatible
        assistants: true
      # version must be "2024-02-15-preview" or later
        version: "2024-03-01-preview"
        models:
          # ... (model-level configuration)

注記:

  • 認証情報については、各assistants互換グループ設定で指定されたカスタム環境変数に依存してください。

  • 複数のリージョンをassistants-compatibleとしてマークした場合、作成したアシスタントはリージョン間で集約され、メインのアシスタント選択リストに表示されます。

  • メッセージレベルかアシスタントレベルかを問わず、Azure OpenAIにアップロードしたファイルは、現在のアシスタントのモデルが属するリージョンでのみ利用可能です。

    • このため、Azure OpenAI Assistantsには単一のリージョンまたはリソースグループのみを使用することを推奨します。それ以外の場合、エラーが発生します。
    • 公式の code_interpreter および retrieval 機能では、"OpenAI" へのアップロードがデフォルトの動作となります。
  • アシスタントが生成したファイルのダウンロードは、近日中にサポートされる予定です。

  • 2024年5月19日現在、Azure OpenAI経由でのretrieval(検索)およびstreaming(ストリーミング)はまだサポートされていません。

    • サポートされていない間、検索(retrieval)に関するエラーを回避するため、azureAssistants endpoint設定を通じて機能を完全に無効にすることを推奨します:
    endpoints:
      azureOpenAI:
        # ...rest
    
      azureAssistants:
      # "retrieval" omitted.
        capabilities: ["code_interpreter", "actions", "tools"]
    • デフォルトでは、retrievalを除くすべての機能が有効になっています。

Azureでプラグインを使用する

Azure OpenAIでPlugins endpointを使用するには、**function calling**をサポートするデプロイメントが必要です。そうでない場合は、Agent設定で「Functions」をオフにしてください。「functions」モードを使用しない場合は、「skip completion」もオフにすることをお勧めします。これは、エージェントが生成した内容を確認するステップとなります。

Plugins endpointでAzureを使用するには、Azure OpenAI endpointの設定で plugins フィールドが true に設定されていることを確認してください:

# Example Azure OpenAI Object Structure
endpoints:
  azureOpenAI:
    plugins: true # <------- Set this
    groups:
    # omitted for brevity

plugins フィールドを設定すると、Azure モデルを使用するように Plugins が構成されます。

注意: librechat.yaml を介した現在の設定では、プラグインの使用にフロントエンドから選択したプライマリモデルが使用されます。これは通常 Azure を使用しない場合の動作とは異なり、通常は「エージェント」モデルが使用されます。Azure を通じてプラグインを使用する場合、「エージェント」モデルの設定は無視して構いません。

Azureで指定されたベースURLを使用する

Azure OpenAI API リクエストのベースURLは動的に設定可能です。これは Cloudflare AI Gateway のようなプロキシサービスを利用する場合や、アプリの baseURL の処理を明示的に上書きしたい場合に便利です。

LibreChatは、Azureモデルグループ化のためにbaseURLフィールドを使用します。これには、Azure OpenAI APIインスタンス名およびデプロイメント名のプレースホルダーを含めることができます。

Azure エンドポイントドメイン形式のサポート

Azure OpenAI は現在、両方の endpoint ドメイン形式をサポートしています:

  • 新しい形式: .cognitiveservices.azure.com
  • レガシー形式: .openai.azure.com

instanceName を完全なドメインなしで使用する場合、レガシーな .openai.azure.com 形式がデフォルトで適用されます。完全なドメイン(例: my-instance.cognitiveservices.azure.com)を指定した場合は、それがそのまま使用されます。これは instanceName フィールドと baseURL 設定の両方に適用されます。

設定において、ベースURLは以下のようにカスタマイズできます:

# librechat.yaml file, under an Azure group:
endpoints:
  azureOpenAI:
    groups:
      - group: "group-with-custom-base-url"
      baseURL: "https://example.azure-api.net/${INSTANCE_NAME}/${DEPLOYMENT_NAME}"

# Legacy format (.openai.azure.com)
      baseURL: "https://${INSTANCE_NAME}.openai.azure.com/openai/deployments/${DEPLOYMENT_NAME}"

# New format (.cognitiveservices.azure.com)
      baseURL: "https://${INSTANCE_NAME}.cognitiveservices.azure.com/openai/deployments/${DEPLOYMENT_NAME}"

# Cloudflare example
      baseURL: "https://gateway.ai.cloudflare.com/v1/ACCOUNT_TAG/GATEWAY/azure-openai/${INSTANCE_NAME}/${DEPLOYMENT_NAME}"

注意: ${INSTANCE_NAME} および ${DEPLOYMENT_NAME} は一意のプレースホルダーであり、環境変数に対応するものではなく、現在選択されているモデルのインスタンス名およびデプロイメント名に対応します。潜在的な競合を避けるため、INSTANCE_NAME および DEPLOYMENT_NAME を環境変数名として使用することは推奨されません。

プレースホルダーを完全に省略して、認証情報を含めたbaseURLを直接構築することも可能です:

      baseURL: "https://gateway.ai.cloudflare.com/v1/ACCOUNT_TAG/GATEWAY/azure-openai/my-secret-instance/my-deployment"

最後に、カスタム環境変数を通じて baseURL 全体を指定することもできます

      baseURL: "${MY_CUSTOM_BASEURL}"

Azureで自動生成タイトルを有効にする

Azureでタイトル生成を有効にするには、titleConvotrue に設定してください。

# Example Azure OpenAI Object Structure
endpoints:
  azureOpenAI:
    titleConvo: true # <------- Set this
    groups:
    # omitted for brevity

titleModel を使用して、タイトル生成に使用するモデルを指定することもできます。 ただし、グループ内で設定済みである必要があります。

    titleModel: "gpt-3.5-turbo"

Note: "gpt-3.5-turbo" はデフォルト値であるため、このモデルをそのまま使用するように設定されている場合は省略可能です。設定されておらず、かつ titleConvotrue に設定されている場合、タイトル生成プロセスでエラーが発生し、タイトルは生成されません。また、これを current_model に設定することで、現在のモデルを動的に使用するように指定することもできます。

    titleModel: "current_model"

AzureでGPT-4 Visionを使用する

Azure OpenAIでVision(画像分析)を使用するには、モデルのグループ化のいずれかで gpt-4-vision-preview が指定されたモデルとして設定されていることを確認してください。

これは OpenAI endpoint と同様に機能します。ビジョンモデルを選択する必要はなく、バックグラウンドで自動的に切り替わります。

Azure OpenAI Service (DALL-E) を使用した画像の生成

Model ID機能の可用性最大リクエスト数 (文字数)
dalle2East US1000
dalle3Sweden Central4000
  • まず、DALL-EをホストするAzureリソースを作成する必要があります。
    • 執筆時点で、dall-e-3はSwedenCentralリージョンで、dall-e-2はEastUSリージョンで利用可能です。
  • 次に、上記のいずれかのリージョンに画像生成モデルをデプロイする必要があります。
  • Azureの認証情報に基づいて環境変数を設定します:

DALL-Eの設定オプション:

DALL-E:

API Keys:

KeyTypeDescriptionExample
DALLE_API_KEYstringDALL-E 2およびDALL-E 3サービス用のOpenAI APIキー。# DALLE_API_KEY=

API Keys (バージョン別):

KeyTypeDescriptionExample
DALLE3_API_KEYstringDALL-E 3用のOpenAI APIキー# DALLE3_API_KEY=
DALLE2_API_KEYstringDALL-E 2用のOpenAI APIキー。# DALLE2_API_KEY=

システムプロンプト:

KeyTypeDescriptionExample
DALLE3_SYSTEM_PROMPTstringDALL-E 3のシステムプロンプト# DALLE3_SYSTEM_PROMPT="Your DALL-E-3 System Prompt here"
DALLE2_SYSTEM_PROMPTstringDALL-E 2のシステムプロンプト。# DALLE2_SYSTEM_PROMPT="Your DALL-E-2 System Prompt here"

リバースプロキシ設定:

KeyTypeDescriptionExample
DALLE_REVERSE_PROXYstringDALL-E APIリクエスト用のリバースプロキシURL。# DALLE_REVERSE_PROXY=

ベースURL:

KeyTypeDescriptionExample
DALLE3_BASEURLstringDALL-E 3 API endpointのベースURL。`.openai.azure.com`(レガシー)および`.cognitiveservices.azure.com`(新規)の両方のドメイン形式をサポートしています。# DALLE3_BASEURL=https://<AZURE_OPENAI_API_INSTANCE_NAME>.openai.azure.com/openai/deployments/<DALLE3_DEPLOYMENT_NAME>/ # OR # DALLE3_BASEURL=https://<AZURE_OPENAI_API_INSTANCE_NAME>.cognitiveservices.azure.com/openai/deployments/<DALLE3_DEPLOYMENT_NAME>/
DALLE2_BASEURLstringDALL-E 2 API endpointのベースURL。`.openai.azure.com`(レガシー)および`.cognitiveservices.azure.com`(新規)の両方のドメイン形式をサポートしています。# DALLE2_BASEURL=https://<AZURE_OPENAI_API_INSTANCE_NAME>.openai.azure.com/openai/deployments/<DALLE2_DEPLOYMENT_NAME>/ # OR # DALLE2_BASEURL=https://<AZURE_OPENAI_API_INSTANCE_NAME>.cognitiveservices.azure.com/openai/deployments/<DALLE2_DEPLOYMENT_NAME>/

Azure OpenAI 統合 (オプション):

KeyTypeDescriptionExample
DALLE3_AZURE_API_VERSIONstringAzure OpenAIサービスにおけるDALL-E 3のAPIバージョン。# DALLE3_AZURE_API_VERSION=the-api-version # e.g.: 2023-12-01-preview
DALLE2_AZURE_API_VERSIONstringAzure OpenAI サービスにおける DALL-E 2 の API バージョン。# DALLE2_AZURE_API_VERSION=the-api-version # e.g.: 2023-12-01-preview

プレースホルダーのテキストを実際のプロンプトや指示に置き換え、直接ファイルに含める場合はAPIキーを指定してください(機密性の高いキーはコードベースの外で管理することを推奨します)。ソフトウェアにAPIキーを埋め込む際は、OpenAIの利用規約を確認し、遵守してください。

注: PROXY が設定されている場合、それはアプリ全体で共通となるため、DALL-E の呼び出しにも使用されます。

Serverless Inference Endpoints

librechat.yaml ファイルを通じて、Azure AI Foundry のモデルにアクセスするための Azure AI Studio サーバーレス推論エンドポイントを設定できます。モデル識別子、baseURLapiKey に加え、これらのエンドポイントに必要な特別な処理を示す serverless フィールドを指定するだけで設定可能です。

  • Azure AI Studioで MaaS ("Models as a Service") アクセスをセットアップするには、互換性のあるモデルカード内の手順に従う必要があります。

  • 詳細については、「Mistral-large」モデルリリースの技術ブログも併せてご確認ください。

  • 次に、それらを librechat.yaml ファイル内の azureOpenAI 設定に追加する必要があります。

  • 以下は Meta-Llama-3.1-8B-Instruct の設定例です:

endpoints:
  azureOpenAI:
    groups:
    - group: "serverless-example"
      apiKey: "${LLAMA318B_API_KEY}"  # arbitrary env var name
      baseURL: "https://example.services.ai.azure.com/models/"
      version: "2024-05-01-preview" # Optional: specify API version
      serverless: true
      models:
        # Must match the deployment name of the model
        Meta-Llama-3.1-8B-Instruct: true

注記:

  • Azure AI Foundry モデルは、サーバーレス推論のために /models/chat/completions?api-version=version の下で endpoint をプロビジョニングするようになりました。
    • baseURL フィールドは、/models/ 以降(つまり /chat/completions パス)を含めず、エンドポイントのルートに設定する必要があります。
    • 例: https://example.services.ai.azure.com/models/https://example.services.ai.azure.com/models/chat/completions?api-version=2024-05-01-preview の場合)
    • version クエリパラメータはオプションであり、baseURL フィールドで指定できます。
  • models フィールドで使用されるモデル名は、Azure AI Foundry 内のモデルのデプロイ名と一致している必要があります。
  • LibreChatとの互換性は、OpenAI API仕様との同等性に依存します。執筆時点では、これらは通常、Azure AI Studio上の**「従量課金制(Pay-as-you-go)」**または「Models as a Service (MaaS)」デプロイメントであり、v1/completions または models/chat/completions endpoint のいずれかを処理するOpenAI-SDK互換のものです。
  • Azureモデルカタログから提供されるサーバーレスデプロイメント("Serverless APIs")に対応したすべてのモデルに互換性があります。デプロイメントオプションで「Serverless API」、推論タスクで「Chat completion」をフィルタリングすることで全リストを確認できます。ただし、リアルタイムendpointモデルについてはテストされていません。
  • これらのサーバーレス推論 endpoint/モデルは、OpenAI API 仕様に従って関数呼び出し(function calling)をサポートしている場合とそうでない場合があります。この機能により、Agents での使用が可能になります。

このガイドはいかがでしたか?