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 に従っています。
各設定レベルの詳細は、それぞれのセクションで説明されています。
セットアップ
-
librechat.yamlを開いて編集する: お好みのテキストエディタまたはIDEを使用して、librechat.yamlファイルを開き、編集します。- オプション: 以下の環境変数を使用して、リモートまたはカスタムのファイルパスを指定します:
CONFIG_PATH="/alternative/path/to/librechat.yaml" -
Azure OpenAI 設定の構成: 以下に概説する構造に従って、APIキー、インスタンス名、モデルグループ、その他の構成を含む Azure OpenAI 設定を入力してください。
-
レガシー設定の削除: レガシー設定を使用している場合は、それらを削除してください。LibreChatサーバーはこれらを検出し、通知します。
-
変更を保存:
librechat.yamlファイルを保存します。 -
LibreChat を再起動: 更新された設定が読み込まれるように、LibreChat アプリケーションを再起動します。
必須フィールド
Azure OpenAIをLibreChatと統合するには、librechat.yamlファイル内で特定のフィールドを設定する必要があります。これらのフィールドは、カスタム変数と環境変数の組み合わせを通じて検証されます。詳細な要件は以下の通りです。
エンドポイントレベルの設定
Azure のグローバル設定:
タイトルと会話の設定:
| Key | Type | Description | Example |
|---|---|---|---|
| titleModel | string | 会話タイトルの生成に使用するモデルを指定します。指定がない場合、デフォルトのモデルは `gpt-3.5-turbo` に設定されますが、このモデルが利用できない場合はタイトルが生成されません。また、`current_model` に設定することで、現在使用中のモデルを動的に使用するように設定することも可能です。 | titleModel: |
| plugins | boolean | Azure経由でのプラグインの使用を有効にします。Azure設定でPlugins endpointのサポートを有効にするには `true` に設定してください。デフォルト: `false`。 | plugins:false |
| assistants | boolean | Azure経由でアシスタントの使用を有効にします。Azure設定を通じてAssistants endpointを有効にするには `true` に設定してください。デフォルト: `false`。注: これにはアシスタント互換のリージョンが必要です。 | assistants:false |
| summarize | boolean | すべてのAzureモデルで会話の要約を有効にします。`true`に設定すると要約が有効になります。デフォルト: `false`。 | summarize:false |
| summaryModel | string | 会話の要約を生成するために使用するモデルを指定します。指定がない場合、最初のグループの `default` 配列にある最初のモデルを使用するのがデフォルトの動作です。 | summaryModel: |
| titleConvo | boolean | すべてのAzureモデルで会話タイトルの生成を有効にします。有効にするには `true` に設定してください。デフォルト: `false`。 | titleConvo:false |
| titleMethod | string | 会話タイトルの生成に使用されるメソッドを制御します。有効な値: "completion" (デフォルト), "structured", "functions" ("structured" のレガシーエイリアス)。 | titleMethod:completion |
| titlePrompt | string | タイトル生成用のカスタムプロンプト。会話内容の {convo} プレースホルダーを含める必要があります。 | See documentation for default prompt |
| titlePromptTemplate | string | 会話コンテンツをフォーマットするためのテンプレート。{input} および {output} プレースホルダーを含める必要があります。デフォルト: "User: {input} AI: {output}" | titlePromptTemplate: |
| titleEndpoint | string | タイトル生成に使用する代替のendpoint。指定可能な値: openAI, azureOpenAI, google, anthropic, bedrock, またはカスタムendpoint名。 | titleEndpoint: |
グループ設定:
| Key | Type | Description | Example |
|---|---|---|---|
| groups | array | Azure OpenAIモデルグループのリストを指定します。各グループは、共有設定を持つモデルのセットを表します。groupsフィールドはオブジェクトの配列であり、各オブジェクトが特定のグループの設定を定義します。これはendpointレベルで必須のフィールドであり、少なくとも1つのグループを定義する必要があります。グループレベルの設定については、「Group-Level Configuration」セクションで詳しく説明されています。 | # groups:[] |
カスタム順序 (オプション):
| Key | Type | Description | Example |
|---|---|---|---|
| customOrder | number | ユーザーインターフェースにおける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セクションを参照してください。
グループレベルの設定: グループの識別:
| Key | Type | Description | Example |
|---|---|---|---|
| group | string | モデルグループの一意の識別子名。グループ名が重複すると検証エラーが発生するため、重複は許可されません。 | group: default |
認証:
| Key | Type | Description | Example |
|---|---|---|---|
| apiKey | string | Azure OpenAIサービスで有効なAPIキーである必要があります。直接キーの文字列を指定するか、環境変数への参照(例: ${WESTUS_API_KEY})を使用できます。 | apiKey: ${AZURE_API_KEY} |
Azure OpenAI インスタンス:
| Key | Type | Description | Example |
|---|---|---|---|
| instanceName | string | Azure OpenAI インスタンスの名前。このフィールドは環境変数参照もサポートしています。**2つのドメイン形式をサポートしています**: `.openai.azure.com`(レガシー)および `.cognitiveservices.azure.com`(新規)。完全なドメイン(例: `my-instance.cognitiveservices.azure.com`)を指定することも、レガシーな `.openai.azure.com` 形式との後方互換性のためにインスタンス名のみ(例: `my-instance`)を指定することも可能です。 | instanceName: ${AZURE_OPENAI_INSTANCE} |
デプロイ設定:
| Key | Type | Description | Example |
|---|---|---|---|
| deploymentName | string | グループレベルでのデプロイメント名は任意ですが、グループ内のいずれかのモデルが true に設定されている場合は必須となります。 | deploymentName: my-deployment |
| version | string | グループレベルでの Azure OpenAI API バージョンは任意ですが、グループ内のいずれかのモデルが true に設定されている場合は必須となります。 | version: 2023-03-15-preview |
詳細設定:
| Key | Type | Description | Example |
|---|---|---|---|
| baseURL | string | Azure OpenAI APIリクエスト用のカスタムベースURL。環境変数の参照がサポートされています。これはオプションであり、高度なルーティングシナリオで使用できます。 | baseURL: https://my-custom-base-url.com |
| additionalHeaders | object | Azure OpenAI APIリクエストに追加するヘッダーをキーと値のペアで指定します。値には環境変数への参照を含めることができます。 | additionalHeaders: {Authorization: ${AUTH_HEADER}} |
| serverless | boolean | Azure Model Catalogのサーバーレス推論チャット補完エンドポイントであるかどうかを指定します。この場合、モデル識別子、baseURL、およびapiKeyのみが必要です。詳細については、サーバーレス推論エンドポイントを参照してください。 | serverless: true |
| addParams | object | Azure OpenAI APIリクエストの追加パラメータを追加または上書きします。キーと値のペアとしてAPI固有のオプションを指定する際に便利です。 | addParams: {temperature: 0.7} |
| dropParams | array | Azure OpenAI APIリクエストから特定のデフォルトパラメータを除外できるようにします。特定のパラメータを受け付けない、または認識しないAPIを使用する場合に便利です。これは文字列のリストとして指定する必要があります。 | dropParams: [top_p, stop] |
モデル設定:
| Key | Type | Description | Example |
|---|---|---|---|
| models | object | グループ内におけるモデル識別子とそれらの設定のマッピングを指定します。キーはモデル識別子を表し、対応する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 フィールドにモデル識別子とそれらの設定のマッピングが含まれています:
モデルの識別:
| Key | Type | Description | Example |
|---|---|---|---|
| Model Identifier | string | 対応するOpenAIモデル名と一致する必要があります。部分一致でも可能です。 | gpt-3.5-turbo: true |
モデル設定:
| Key | Type | Description | Example |
|---|---|---|---|
| Model Configuration | boolean/object | Boolean true: グループレベルのdeploymentNameとversionを使用します。Object: モデル固有のdeploymentNameとversionを指定します。指定がない場合は、グループから継承されます。 | text-davinci-003: {deploymentName: my-model-deployment, version: 2023-03-15-preview} |
| deploymentName | string | この特定のモデルのデプロイメント名。 | deploymentName: my-model-deployment |
| version | string | この特定のモデルに対する Azure OpenAI API バージョン。 | version: 2023-03-15-preview |
Serverless Inference Endpoints:
| Key | Type | Description | Example |
|---|---|---|---|
| Serverless Inference Endpoints | note | サーバーレスモデルの場合は、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に設定されている場合、そのモデルに対してグループレベルのdeploymentNameとversionを使用することを意味します。この場合、両方ともグループレベルで定義されている必要があります。 -
モデルがオブジェクトとして設定されている場合、独自の
deploymentNameとversionを指定できます。これらが指定されていない場合、モデルはグループのdeploymentNameとversionを継承します。 -
グループがserverless inference endpointを表す場合、モデルリストに追加するためにsingular modelを
trueに設定する必要があります。
特記事項
-
一意の名前: モデル名とグループ名の両方は、設定全体を通して一意である必要があります。名前が重複すると、検証エラーが発生します。
-
必須フィールドの欠落: グループレベル(ブール値フラグが設定されたモデルの場合)またはモデルの設定内(継承されていない、または明示的に指定されていない場合)で、必須の
deploymentNameまたはversionが欠落していると、検証エラーが発生します。ただし、そのグループが serverless inference endpoint を表している場合は例外です。 -
環境変数の参照: この設定は環境変数の参照(例:
${VARIABLE_NAME})をサポートしています。ランタイムエラーを避けるため、参照されるすべての変数が環境内に存在することを確認してください。設定内で参照されている環境変数が定義されていない場合、エラーが発生します。${INSTANCE_NAME}および${DEPLOYMENT_NAME}は固有のプレースホルダーであり、環境変数には対応していません。これらは現在選択されているモデルのインスタンス名およびデプロイメント名に対応します。潜在的な競合を避けるため、INSTANCE_NAMEおよびDEPLOYMENT_NAMEを環境変数名として使用することは推奨されません。 -
エラーハンドリング: 重複する名前、未定義の環境変数、必須フィールドの欠落など、設定に問題がある場合はセットアップが無効となり、迅速な解決を目的とした詳細なエラーメッセージが生成されます。設定が無効な状態では、サーバーを実行することはできません。
-
モデル識別子: (プロジェクトにとって)未知のモデルをモデル識別子として使用することも可能ですが、メッセージやトークンの処理において極めて重要なコンテキスト長を反映させるためには、既知のモデルと一致させる必要があります。例えば、
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-preview、gpt-3.5-turbo、および gpt-4-turbo が、定義された順序でユーザーに対して有効になります。
AzureでAssistantsを使用する
Azure OpenAIでAssistantsを使用できるようにするには、主に2つのステップがあります。
- Endpoint-level の
azureOpenAIエンドポイントの下にあるassistantsフィールドを以下のようにtrueに設定します。
endpoints:
azureOpenAI:
# Enable use of Assistants with Azure
assistants: true- AzureのAssistants API統合と互換性のあるグループに
assistantsフィールドを追加します。
- グループ設定のうち、少なくとも1つは互換性がある必要があります。
- Azureのドキュメントで互換性のあるリージョンとモデルをこちらから確認できます。
- バージョンは "2024-02-15-preview" 以降である必要があり、最新機能にアクセスするためにはそれ以降のバージョンが推奨されます。
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)に関するエラーを回避するため、
azureAssistantsendpoint設定を通じて機能を完全に無効にすることを推奨します:
endpoints: azureOpenAI: # ...rest azureAssistants: # "retrieval" omitted. capabilities: ["code_interpreter", "actions", "tools"]- デフォルトでは、retrievalを除くすべての機能が有効になっています。
- サポートされていない間、検索(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 brevityplugins フィールドを設定すると、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でタイトル生成を有効にするには、titleConvo を true に設定してください。
# Example Azure OpenAI Object Structure
endpoints:
azureOpenAI:
titleConvo: true # <------- Set this
groups:
# omitted for brevitytitleModel を使用して、タイトル生成に使用するモデルを指定することもできます。 ただし、グループ内で設定済みである必要があります。
titleModel: "gpt-3.5-turbo"Note: "gpt-3.5-turbo" はデフォルト値であるため、このモデルをそのまま使用するように設定されている場合は省略可能です。設定されておらず、かつ titleConvo が true に設定されている場合、タイトル生成プロセスでエラーが発生し、タイトルは生成されません。また、これを 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 | 機能の可用性 | 最大リクエスト数 (文字数) |
|---|---|---|
| dalle2 | East US | 1000 |
| dalle3 | Sweden Central | 4000 |
- まず、DALL-EをホストするAzureリソースを作成する必要があります。
- 執筆時点で、dall-e-3は
SwedenCentralリージョンで、dall-e-2はEastUSリージョンで利用可能です。
- 執筆時点で、dall-e-3は
- 次に、上記のいずれかのリージョンに画像生成モデルをデプロイする必要があります。
- 詳細については、Azure OpenAI Image Generation Quickstart Guide を参照してください。
- Azureの認証情報に基づいて環境変数を設定します:
DALL-Eの設定オプション:
DALL-E:
API Keys:
| Key | Type | Description | Example |
|---|---|---|---|
| DALLE_API_KEY | string | DALL-E 2およびDALL-E 3サービス用のOpenAI APIキー。 | # DALLE_API_KEY= |
API Keys (バージョン別):
| Key | Type | Description | Example |
|---|---|---|---|
| DALLE3_API_KEY | string | DALL-E 3用のOpenAI APIキー | # DALLE3_API_KEY= |
| DALLE2_API_KEY | string | DALL-E 2用のOpenAI APIキー。 | # DALLE2_API_KEY= |
システムプロンプト:
| Key | Type | Description | Example |
|---|---|---|---|
| DALLE3_SYSTEM_PROMPT | string | DALL-E 3のシステムプロンプト | # DALLE3_SYSTEM_PROMPT="Your DALL-E-3 System Prompt here" |
| DALLE2_SYSTEM_PROMPT | string | DALL-E 2のシステムプロンプト。 | # DALLE2_SYSTEM_PROMPT="Your DALL-E-2 System Prompt here" |
リバースプロキシ設定:
| Key | Type | Description | Example |
|---|---|---|---|
| DALLE_REVERSE_PROXY | string | DALL-E APIリクエスト用のリバースプロキシURL。 | # DALLE_REVERSE_PROXY= |
ベースURL:
| Key | Type | Description | Example |
|---|---|---|---|
| DALLE3_BASEURL | string | DALL-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_BASEURL | string | DALL-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 統合 (オプション):
| Key | Type | Description | Example |
|---|---|---|---|
| DALLE3_AZURE_API_VERSION | string | Azure OpenAIサービスにおけるDALL-E 3のAPIバージョン。 | # DALLE3_AZURE_API_VERSION=the-api-version # e.g.: 2023-12-01-preview |
| DALLE2_AZURE_API_VERSION | string | Azure 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 サーバーレス推論エンドポイントを設定できます。モデル識別子、baseURL、apiKey に加え、これらのエンドポイントに必要な特別な処理を示す serverless フィールドを指定するだけで設定可能です。
-
Azure AI Studioで MaaS ("Models as a Service") アクセスをセットアップするには、互換性のあるモデルカード内の手順に従う必要があります。
-
参考までに、互換性が確認されているモデルカードをいくつか紹介します:
-
Mistral-large | Meta-Llama-3.1-8B-Instruct | Phi-3-medium-128k-instruct
-
-
詳細については、「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/completionsendpoint のいずれかを処理するOpenAI-SDK互換のものです。 - Azureモデルカタログから提供されるサーバーレスデプロイメント("Serverless APIs")に対応したすべてのモデルに互換性があります。デプロイメントオプションで「Serverless API」、推論タスクで「Chat completion」をフィルタリングすることで全リストを確認できます。ただし、リアルタイムendpointモデルについてはテストされていません。
- これらのサーバーレス推論 endpoint/モデルは、OpenAI API 仕様に従って関数呼び出し(function calling)をサポートしている場合とそうでない場合があります。この機能により、Agents での使用が可能になります。
このガイドはいかがでしたか?