Azure OpenAI Service の REST API リファレンス
この記事では、Azure OpenAI の推論 REST API エンドポイントについて詳しく説明します。
認証
Azure OpenAI には、2 つの認証方法が用意されています。 API キーまたは Microsoft Entra ID を使用できます。
API キー認証: この種類の認証の場合、すべての API 要求で、
api-key
HTTP ヘッダーに API キーを含める必要があります。 クイック スタートに、この種類の認証を使用して呼び出しを行う方法に関するガイダンスが用意されています。Microsoft Entra ID 認証: Microsoft Entra トークンを使用して API 呼び出しを認証できます。 認証トークンは、
Authorization
ヘッダーとして要求に含まれます。 指定するトークンの前にBearer
を付ける必要があります (例:Bearer YOUR_AUTH_TOKEN
)。 Microsoft Entra ID を使用した認証に関する攻略ガイドをお読みください。
REST API のバージョン管理
サービス API は、api-version
クエリ パラメーターを使用してバージョン管理されます。 すべてのバージョンは、YYYY-MM-DD 日付構造に従います。 たとえば、次のように入力します。
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/completions?api-version=2024-02-01
入力候補
入力候補操作では、入力したプロンプトに基づいて 1 つ以上の予測入力候補がモデルによって生成されます。 サービスでは、それぞれの位置で代替トークンの確率を返すこともできます。
入力候補の作成
POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/completions?api-version={api-version}
パス パラメーター
パラメーター | Type | 必須 | 説明 |
---|---|---|---|
your-resource-name |
string | 必須 | Azure OpenAI リソースの名前。 |
deployment-id |
string | 必須 | モデルのデプロイ時に選択したデプロイ名。 |
api-version |
string | 必須 | この操作に使用する API バージョン。 これは、YYYY-MM-DD 形式に従います。 |
サポートされているバージョン
2022-12-01
Swagger の仕様2023-03-15-preview
(2024 年 7 月 1 日廃止) Swagger 仕様2023-05-15
Swagger の仕様2023-06-01-preview
Swagger の仕様2023-07-01-preview
(2024 年 7 月 1 日廃止) Swagger 仕様2023-08-01-preview
(2024 年 7 月 1 日廃止) Swagger 仕様2023-09-01-preview
(2024 年 7 月 1 日廃止) Swagger 仕様2023-10-01-preview
Swagger の仕様2023-12-01-preview
(2024 年 7 月 1 日廃止) Swagger 仕様2024-02-15-preview
Swagger の仕様2024-03-01-preview
Swagger の仕様2024-02-01
Swagger の仕様
要求本文
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
prompt |
文字列または配列 | 省略可能 | <\|endoftext\|> |
文字列、または文字列の配列としてエンコードされた、入力候補を生成するプロンプト。 <\|endoftext\|> はトレーニング中にモデルが確認するドキュメント区切り記号であるため、プロンプトを指定しない場合、モデルは新しいドキュメントの先頭からの場合と同様に生成します。 |
max_tokens |
integer | 省略可能 | 16 | 入力候補に生成するトークンの最大数。 プロンプトのトークン数と max_tokens の合計は、モデルのコンテキスト長を超えることはできません。 ほとんどのモデルのコンテキスト長は 2048 トークンです (4096 をサポートする最新のモデルを除く)。 |
temperature |
number | オプション | 1 | 使用するサンプリング温度 (0 から 2)。 値が大きいほど、モデルはより多くのリスクを負います。 よりクリエイティブなアプリケーションの場合は 0.9、明確に定義された回答の場合は 0 (argmax sampling ) をお試しください。 一般的に、これと top_p の両方ではなく、いずれかを変更することをお勧めします。 |
top_p |
number | オプション | 1 | 核サンプリングと呼ばれる、温度によるサンプリングの代替で、モデルはで top_p 確率質量を持つトークンの結果が考慮されます。 したがって、0.1 は、上位 10% の確率質量を含むトークンのみが考慮されることを意味します。 一般的に、これと temperature の両方ではなく、いずれかを変更することをお勧めします。 |
logit_bias |
map | オプション | null | 指定したトークンが入力候補に表示される可能性を変更します。 トークン (GPT トークナイザーのトークン ID で指定) を関連付けられたバイアス値 (-100 から 100) にマップする json オブジェクトを受け入れます。 このトークナイザー ツール (GPT-2 と GPT-3 の両方で機能) を使用して、テキストをトークン ID に変換できます。 数学的には、サンプリングの前にモデルによって生成されたロジットにバイアスが追加されます。 正確な効果はモデルごとに異なりますが、-1 から 1 の値では選択の可能性が低下または増加し、-100 や 100 などの値では、関連するトークンの選択が禁止されるか、または排他的になります。 たとえば、{"50256": -100} を渡して、<|endoftext|> トークンが生成されないようにすることができます。 |
user |
string | 省略可能 | エンド ユーザーを表す一意の識別子。不正使用の監視と検出に役立ちます | |
n |
整数 (integer) | 省略可能 | 1 | プロンプトごとに生成する入力候補の数。 注: このパラメーターにより多くの入力候補が生成されるため、トークン クォータがすぐに消費される可能性があります。 慎重に使用し、max_tokens と stop の設定が合理的であることを確認してください。 |
stream |
boolean | 省略可能 | False | 部分的な進行状況をストリーム バックするかどうか。 設定した場合、トークンは、使用可能になると data-only server-sent イベントとして送信され、ストリームは data: [DONE] メッセージで終了します。 |
logprobs |
integer | 省略可能 | null | logprobs の最も可能性の高いトークンと、選択したトークンのログ確率を含めます。 たとえば、logprobs が 10 の場合、API は可能性が最も高い 10 個のトークンの一覧を返します。 API は、常にサンプリングされたトークンの logprob を返します。そのため、応答には、最大 logprobs+ 1 要素が含まれている場合があります。 このパラメーターは gpt-35-turbo では使用できません。 |
suffix |
string | 省略可能 | null | 挿入されたテキストの入力候補の後に付加されるサフィックス。 |
echo |
boolean | 省略可能 | False | 入力候補に加えてプロンプトをエコーバックします。 このパラメーターは gpt-35-turbo では使用できません。 |
stop |
文字列または配列 | オプション | null | API がそれ以上のトークンの生成を停止する、最大 4 つのシーケンス。 返されるテキストに停止シーケンスは含まれません。 GPT-4 Turbo with Vision では、最大 2 つのシーケンスがサポートされています。 |
presence_penalty |
数値 | オプション | 0 | -2.0 から 2.0 の数値。 正の値を指定すると、これまでのテキストに出現するかどうかに基づいて新しいトークンにペナルティが課せられ、モデルが新しいトピックを扱う可能性が高まります。 |
frequency_penalty |
number | オプション | 0 | -2.0 から 2.0 の数値。 値を正にすると、これまでのテキストに存在する頻度に基づいて新しいトークンにペナルティが課せられ、モデルが同じ行を逐語的に繰り返す可能性が低下します。 |
best_of |
整数 (integer) | 省略可能 | 1 | サーバー側 best_of 入力候補を生成し、"best" (トークンあたりのログ確率が最低のもの) を返します。 結果をストリーミングすることはできません。 n と共に使用する場合、best_of は入力候補の数を制御し、n は返す数を指定します。best_of は n より大きくする必要があります。 注: このパラメーターにより多くの入力候補が生成されるため、トークン クォータがすぐに消費される可能性があります。 慎重に使用し、max_tokens と stop の設定が合理的であることを確認してください。 このパラメーターは gpt-35-turbo では使用できません。 |
要求の例
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/completions?api-version=2024-02-01\
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d "{
\"prompt\": \"Once upon a time\",
\"max_tokens\": 5
}"
応答の例
{
"id": "cmpl-4kGh7iXtjW4lc9eGhff6Hp8C7btdQ",
"object": "text_completion",
"created": 1646932609,
"model": "ada",
"choices": [
{
"text": ", a dark line crossed",
"index": 0,
"logprobs": null,
"finish_reason": "length"
}
]
}
応答の例では、finish_reason
と stop
は等しくなります。 finish_reason
と content_filter
が等しい場合は、コンテンツのフィルター処理のガイドを参照して、これが発生している理由を理解してください。
埋め込み
機械学習モデルやその他のアルゴリズムで簡単に使用できる、特定の入力のベクター表現を取得します。
Note
OpenAI では現在、text-embedding-ada-002
を使用して、より多くの配列入力を許可しています。 Azure OpenAI は現在、text-embedding-ada-002 (Version 2)
に対して最大 16 個の入力配列をサポートしています。 どちらの場合も、このモデルでは API 要求あたりの最大入力トークン制限を 8191 未満に抑える必要があります。
埋め込みの作成
POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/embeddings?api-version={api-version}
パス パラメーター
パラメーター | Type | 必須 | 説明 |
---|---|---|---|
your-resource-name |
string | 必須 | Azure OpenAI リソースの名前。 |
deployment-id |
string | 必須 | モデル デプロイの名前。 呼び出しを行うためにはまずモデルをデプロイすることが必要です。 |
api-version |
string | 必須 | この操作に使用する API バージョン。 これは、YYYY-MM-DD 形式に従います。 |
サポートされているバージョン
2023-03-15-preview
(2024 年 7 月 1 日廃止) Swagger 仕様2023-05-15
Swagger の仕様2023-06-01-preview
Swagger の仕様2023-07-01-preview
(2024 年 7 月 1 日廃止) Swagger 仕様2023-08-01-preview
(2024 年 7 月 1 日廃止) Swagger 仕様2023-09-01-preview
(2024 年 7 月 1 日廃止) Swagger 仕様2023-10-01-preview
Swagger の仕様2023-12-01-preview
(2024 年 7 月 1 日廃止) Swagger 仕様2024-02-15-preview
Swagger の仕様2024-03-01-preview
Swagger の仕様2024-02-01
Swagger の仕様
要求本文
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
input |
文字列または配列 | はい | 該当なし | 配列または文字列としてエンコードされた、埋め込みを取得する入力テキスト。 入力トークンの数は、使用しているモデルによって異なります。 text-embedding-ada-002 (Version 2) のみが配列入力をサポートしています。 |
user |
string | No | [Null] | エンドユーザーを表す一意の識別子。 Azure OpenAI による不正使用の監視と検出に役立ちます。 PII 識別子を渡さないでください。代わりに GUID などの仮名化された値を使用してください |
encoding_format |
string | いいえ | float |
埋め込みを返す形式。 float または base64 を指定できます。 既定値は float です。 [ 2024-03-01-preview で追加されました]。 |
dimensions |
integer | いいえ | 結果として出力される埋め込みに必要なディメンションの数。 text-embedding-3 以降のモデルでのみサポートされます。 [ 2024-03-01-preview で追加されました] |
要求の例
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings?api-version=2024-02-01 \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d "{\"input\": \"The food was delicious and the waiter...\"}"
応答の例
{
"object": "list",
"data": [
{
"object": "embedding",
"embedding": [
0.018990106880664825,
-0.0073809814639389515,
.... (1024 floats total for ada)
0.021276434883475304,
],
"index": 0
}
],
"model": "text-similarity-babbage:001"
}
チャット入力候補
GPT-35-Turbo と GPT-4 モデルを使用して、チャット メッセージの入力候補を作成します。
チャット入力候補を作成する
POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/chat/completions?api-version={api-version}
パス パラメーター
パラメーター | Type | 必須 | 説明 |
---|---|---|---|
your-resource-name |
string | 必須 | Azure OpenAI リソースの名前。 |
deployment-id |
string | 必須 | モデル デプロイの名前。 呼び出しを行うためにはまずモデルをデプロイすることが必要です。 |
api-version |
string | 必須 | この操作に使用する API バージョン。 これは YYYY-MM-DD または YYYY-MM-DD-preview 形式に従います。 |
サポートされているバージョン
2023-03-15-preview
(2024 年 7 月 1 日廃止) Swagger 仕様2023-05-15
Swagger の仕様2023-06-01-preview
Swagger の仕様2023-07-01-preview
(2024 年 7 月 1 日廃止) Swagger 仕様2023-08-01-preview
(2024 年 7 月 1 日廃止) Swagger 仕様2023-09-01-preview
(2024 年 7 月 1 日廃止) Swagger 仕様2023-10-01-preview
Swagger の仕様2023-12-01-preview
(2024 年 7 月 1 日廃止) (このバージョン以上が Vision シナリオに必要) Swagger 仕様2024-02-15-preview
Swagger の仕様2024-03-01-preview
Swagger の仕様2024-02-01
Swagger の仕様
要求本文
要求本文は一連のメッセージで構成されます。 モデルでは、以前のメッセージをコンテキストとして使用して、最後のメッセージへの応答を生成します。
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
messages |
array | はい | 該当なし | このチャット完了要求に関連付けられている一連のメッセージ。 会話には以前のメッセージを含める必要があります。 各メッセージには role と content があります。 |
role |
string | はい | 該当なし | 現在のメッセージを提供しているユーザーを示します。 system 、user 、assistant 、tool 、または function にできます。 |
content |
文字列または配列 | はい | 該当なし | メッセージのコンテンツ。 これは、Vision 対応のシナリオの場合を除き、文字列である必要があります。 最新の API バージョンで GPT-4 Turbo with Vision モデルを使用し、user メッセージの一部である場合は、各項目がテキストかイメージを表す content 構造体の配列にする必要があります。
|
contentPart |
object | いいえ | 該当なし | ユーザーのマルチモーダル メッセージの一部。 テキストの種類または画像の種類を指定できます。 テキストの場合は、テキスト文字列になります。 画像の場合は、contentPartImage オブジェクトになります。 |
contentPartImage |
object | いいえ | 該当なし | ユーザーがアップロードした画像を表します。 url プロパティがあります。これは、画像の URL または base 64 でエンコードされた画像データです。 auto 、low 、または high にできる detail プロパティもあります。 |
enhancements |
object | いいえ | 該当なし | チャットで要求された Vision 拡張機能を表します。 grounding と ocr のプロパティがあり、それぞれにブール型の enabled プロパティがあります。 これらを使用して、OCR サービスや物体検出/グラウンディング サービスを要求します [このプレビュー パラメータは、2024-02-01 GA API では使用できません]。 |
dataSources |
object | いいえ | 該当なし | 追加のリソース データを表します。 Vision 拡張機能には、Computer Vision リソース データが必要です。 "AzureComputerVision" にする必要がある type プロパティと、endpoint および key プロパティを持つ parameters プロパティがあります。 これらの文字列は、Computer Vision リソースのエンドポイント URL とアクセス キーに設定する必要があります。 |
要求の例
テキストのみのチャット
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/chat/completions?api-version=2024-02-01 \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d '{"messages":[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},{"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},{"role": "user", "content": "Do other Azure AI services support this too?"}]}'
Vision を使用したチャット
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/chat/completions?api-version=2023-12-01-preview \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d '{"messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":[{"type":"text","text":"Describe this picture:"},{ "type": "image_url", "image_url": { "url": "https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png", "detail": "high" } }]}]}'
Vision を使用した拡張チャット
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/extensions/chat/completions?api-version=2023-12-01-preview \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d '{"enhancements":{"ocr":{"enabled":true},"grounding":{"enabled":true}},"dataSources":[{"type":"AzureComputerVision","parameters":{"endpoint":" <Computer Vision Resource Endpoint> ","key":"<Computer Vision Resource Key>"}}],"messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":[{"type":"text","text":"Describe this picture:"},{"type":"image_url","image_url":"https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png"}]}]}'
応答の例
{
"id": "chatcmpl-6v7mkQj980V1yBec6ETrKPRqFjNw9",
"object": "chat.completion",
"created": 1679072642,
"model": "gpt-35-turbo",
"usage":
{
"prompt_tokens": 58,
"completion_tokens": 68,
"total_tokens": 126
},
"choices":
[
{
"message":
{
"role": "assistant",
"content": "Yes, other Azure AI services also support customer managed keys.
Azure AI services offer multiple options for customers to manage keys, such as
using Azure Key Vault, customer-managed keys in Azure Key Vault or
customer-managed keys through Azure Storage service. This helps customers ensure
that their data is secure and access to their services is controlled."
},
"finish_reason": "stop",
"index": 0
}
]
}
読みやすいように出力形式が調整されています。実際の出力は改行のない単一のテキスト ブロックです。
応答の例では、finish_reason
と stop
は等しくなります。 finish_reason
と content_filter
が等しい場合は、コンテンツのフィルター処理のガイドを参照して、これが発生している理由を理解してください。
重要
API の 2023-12-01-preview
バージョンのリリースに伴い、functions
および function_call
パラメーターは非推奨になりました。 functions
に置き換わるのは tools
パラメーターです。 function_call
に置き換わるのは tool_choice
パラメーターです。 2023-12-01-preview
の一部として導入された平行関数呼び出しは、gpt-35-turbo
(1106) および gpt-4
(1106-プレビュー、別名 GPT-4 Turbo Preview) でのみサポートされています。
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
messages |
array | 必須 | このチャット完了要求に関連付けられたコンテキスト メッセージのコレクション。 一般的な使用法は、アシスタントの動作に関する指示を提供するシステム ロールのチャット メッセージで始まり、その後、ユーザー ロールとアシスタント ロールの間でメッセージが交互に送信されます。 | |
temperature |
数値 | オプション | 1 | 使用するサンプリング温度 (0 から 2)。 0.8 のような大きい値にすると、出力はよりランダムになり、0.2 のような小さい値にすると、出力はより集中的および決定論的になります。 一般に、これと top_p の両方ではなく、いずれかを変更することをお勧めします。 |
n |
integer | 省略可能 | 1 | 入力メッセージごとに生成するチャット入力候補の選択肢の数。 |
stream |
boolean | 省略可能 | false | 設定すると、ChatGPT と同様に部分的なメッセージ デルタが送信されます。 トークンは、使用可能になると data-only server-sent イベントとして送信され、ストリームは data: [DONE] メッセージで終了します。 |
stop |
文字列または配列 | オプション | null | API がそれ以上のトークンの生成を停止する、最大 4 つのシーケンス。 |
max_tokens |
整数 (integer) | 省略可能 | inf | 生成された回答に許可されるトークンの最大数。 既定では、モデルが返すことができるトークンの数は (4096 - プロンプト トークン) になります。 |
presence_penalty |
number | オプション | 0 | -2.0 から 2.0 の数値。 正の値を指定すると、これまでのテキストに出現するかどうかに基づいて新しいトークンにペナルティが課せられ、モデルが新しいトピックを扱う可能性が高まります。 |
frequency_penalty |
number | オプション | 0 | -2.0 から 2.0 の数値。 値を正にすると、これまでのテキストに存在する頻度に基づいて新しいトークンにペナルティが課せられ、モデルが同じ行を逐語的に繰り返す可能性が低下します。 |
logit_bias |
object | 省略可能 | null | 指定したトークンが入力候補に表示される可能性を変更します。 トークン (トークナイザーのトークン ID で指定) を関連付けられたバイアス値 (-100 から 100) にマップする json オブジェクトを受け入れます。 数学的には、サンプリングの前にモデルによって生成されたロジットにバイアスが追加されます。 正確な効果はモデルごとに異なりますが、-1 から 1 の値では選択の可能性が低下または増加し、-100 や 100 などの値では、関連するトークンの選択が禁止されるか、または排他的になります。 |
user |
string | 省略可能 | エンド ユーザーを表す一意の識別子。これは、Azure OpenAI が不正使用を監視および検出するのに役立ちます。 | |
function_call |
オプション | [Deprecated in 2023-12-01-preview replacement parameter is tools_choice] モデルが関数呼び出しにどのように応答するかを制御します。 "none" は、モデルが関数を呼び出さず、エンドユーザーに応答することを意味します。 auto は、モデルがエンド ユーザーまたは関数の呼び出しのどちらかを選択できることを意味します。 {"name": "my_function"} で特定の関数を指定すると、モデルはその関数を強制的に呼び出します。 関数が存在しない場合は、"none" が既定値です。 関数が存在する場合は、auto が既定値です。 このパラメーターには API バージョン 2023-07-01-preview が必要です |
||
functions |
FunctionDefinition[] |
省略可能 | [Deprecated in 2023-12-01-preview replacement paremeter is tools] モデルで JSON 入力を生成できる関数の一覧。 このパラメーターには API バージョン 2023-07-01-preview が必要です |
|
tools |
string (ツールの種類。function のみがサポートされています) |
省略可能 | モデルで呼び出すことができるツールの一覧。 現在のところ、関数のみがツールとしてサポートされています。 これを使用して、モデルで JSON 入力を生成できる関数の一覧を提供します。 このパラメーターには API バージョン 2023-12-01-preview が必要です |
|
tool_choice |
文字列またはオブジェクト | 省略可能 | 関数が存在しない場合は、none が既定値です。 関数が存在する場合は、auto が既定値です。 |
モデルによって呼び出される関数を制御します (そのような関数がある場合)。 none は、モデルによって関数が呼び出されることはなく、代わりにメッセージが生成されます。 auto の場合、メッセージを生成するか、関数を呼び出すか、モデルで選択できます。 {"type: "function", "function": {"name": "my_function"}} で特定の関数を指定すると、モデルはその関数を強制的に呼び出します。 このパラメーターには API バージョン 2023-12-01-preview 以降が必要です。 |
ChatMessage
チャット完了操作内の単一のロール属性メッセージ。
名前 | 種類 | 説明 |
---|---|---|
コンテンツ | string | このメッセージ ペイロードに関連付けられたテキスト。 |
function_call | FunctionCall | モデルによって生成された、呼び出される関数の名前と引数。 |
name | string | このメッセージの作成者の name 。 ロールが function の場合、name は必須であり、応答が content にある関数の名前である必要があります。 長さは最大で 64 文字で、a から z、A から Z、0 から 9、およびアンダースコアを含めることができます。 |
role | ChatRole | このメッセージ ペイロードに関連付けられたロール |
ChatRole
チャット完了操作内のメッセージの意図された目的の説明。
名前 | 種類 | 説明 |
---|---|---|
assistant | string | システム指示のユーザー入力に対する応答を提供するロール。 |
関数 | string | チャット完了の関数結果を提供するロール。 |
システム | string | アシスタントの動作を指示または設定するロール。 |
ユーザー | string | チャット完了の入力を提供するロール。 |
関数
これは、API バージョン 2023-12-01-preview
で追加された tools
パラメーターと共に使用されます。
名前 | 種類 | 説明 |
---|---|---|
description | string | 関数を呼び出す状況と方法を選択する目的でモデルにより使用される、関数の機能の説明 |
name | string | 呼び出される関数の名前。 a-z、A-Z、0-9 を使用するか、アンダースコアとダッシュを含める必要があります。最大長は 64 です |
parameters | object | 関数が受け取るパラメーター。JSON スキーマ オブジェクトとして記述されます。 形式に関するドキュメントが必要な場合、「JSON スキーマ参照」を参照してください。 |
FunctionCall-Deprecated
モデルによって生成された、呼び出される関数の名前と引数。 これには API バージョンが必要です 2023-07-01-preview
名前 | 種類 | 説明 |
---|---|---|
引数 | string | モデルによって JSON 形式で生成された、関数を呼び出すための引数。 モデルによって常に有効な JSON が生成されるとは限りません。関数スキーマで定義されていないパラメーターが作成される場合もあります。 関数を呼び出す前に、コード内の引数を検証します。 |
name | string | 呼び出す関数の名前。 |
FunctionDefinition-Deprecated
チャットが完了すると、一致するユーザー入力に応答して呼び出すことができる、呼び出し元指定の関数の定義。 これには API バージョンが必要です 2023-07-01-preview
名前 | 種類 | 説明 |
---|---|---|
description | string | 関数の動作の説明。 モデルで関数を選択し、そのパラメーターを解釈するときにこの説明が使用されます。 |
name | string | 呼び出される関数の名前。 |
parameters | 関数が受け取るパラメーター。JSON スキーマ オブジェクトとして記述されます。 |
入力候補の拡張機能
チャット入力候補の拡張機能 (独自のデータに基づく Azure OpenAI など)。
重要
次の情報は、API のバージョン 2023-12-01-preview
に関する情報です。 これは、最新の API バージョンではありません。 最新のリファレンス ドキュメントについては、「Azure OpenAI On Your Data リファレンス」を参照してください。
チャット入力候補拡張機能を使用する
POST {your-resource-name}/openai/deployments/{deployment-id}/extensions/chat/completions?api-version={api-version}
パス パラメーター
パラメーター | Type | 必須 | 説明 |
---|---|---|---|
your-resource-name |
string | 必須 | Azure OpenAI リソースの名前。 |
deployment-id |
string | 必須 | モデル デプロイの名前。 呼び出しを行うためにはまずモデルをデプロイすることが必要です。 |
api-version |
string | 必須 | この操作に使用する API バージョン。 これは、YYYY-MM-DD 形式に従います。 |
サポートされているバージョン
2023-06-01-preview
Swagger の仕様2023-07-01-preview
(2024 年 7 月 1 日廃止) Swagger 仕様2023-08-01-preview
(2024 年 7 月 1 日廃止) Swagger 仕様2023-09-01-preview
(2024 年 7 月 1 日廃止) Swagger 仕様2023-10-01-preview
Swagger の仕様2023-12-01-preview
(2024 年 7 月 1 日廃止) Swagger 仕様
要求の例
要求は Azure AI 検索、Azure Cosmos DB for MongoDB 仮想コア、Pinecone、Elasticsearch を使用して行うことができます。 詳細については、「独自のデータに基づく Azure OpenAI」を参照してください。
Azure AI Search
curl -i -X POST YOUR_RESOURCE_NAME/openai/deployments/YOUR_DEPLOYMENT_NAME/extensions/chat/completions?api-version=2023-06-01-preview \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d \
'
{
"temperature": 0,
"max_tokens": 1000,
"top_p": 1.0,
"dataSources": [
{
"type": "AzureCognitiveSearch",
"parameters": {
"endpoint": "YOUR_AZURE_COGNITIVE_SEARCH_ENDPOINT",
"key": "YOUR_AZURE_COGNITIVE_SEARCH_KEY",
"indexName": "YOUR_AZURE_COGNITIVE_SEARCH_INDEX_NAME"
}
}
],
"messages": [
{
"role": "user",
"content": "What are the differences between Azure Machine Learning and Azure AI services?"
}
]
}
'
Azure Cosmos DB for MongoDB 仮想コア
curl -i -X POST YOUR_RESOURCE_NAME/openai/deployments/YOUR_DEPLOYMENT_NAME/extensions/chat/completions?api-version=2023-06-01-preview \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d \
'
{
"temperature": 0,
"top_p": 1.0,
"max_tokens": 800,
"stream": false,
"messages": [
{
"role": "user",
"content": "What is the company insurance plan?"
}
],
"dataSources": [
{
"type": "AzureCosmosDB",
"parameters": {
"authentication": {
"type": "ConnectionString",
"connectionString": "mongodb+srv://onyourdatatest:{password}$@{cluster-name}.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
},
"databaseName": "vectordb",
"containerName": "azuredocs",
"indexName": "azuredocindex",
"embeddingDependency": {
"type": "DeploymentName",
"deploymentName": "{embedding deployment name}"
},
"fieldsMapping": {
"vectorFields": [
"contentvector"
]
}
}
}
]
}
'
Elasticsearch
curl -i -X POST YOUR_RESOURCE_NAME/openai/deployments/YOUR_DEPLOYMENT_NAME/extensions/chat/completions?api-version=2023-12-01-preview \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d \
{
"messages": [
{
"role": "system",
"content": "you are a helpful assistant that talks like a pirate"
},
{
"role": "user",
"content": "can you tell me how to care for a parrot?"
}
],
"dataSources": [
{
"type": "Elasticsearch",
"parameters": {
"endpoint": "{search endpoint}",
"indexName": "{index name}",
"authentication": {
"type": "KeyAndKeyId",
"key": "{key}",
"keyId": "{key id}"
}
}
}
]
}
Azure Machine Learning
curl -i -X POST YOUR_RESOURCE_NAME/openai/deployments/YOUR_DEPLOYMENT_NAME/extensions/chat/completions?api-version=2023-12-01-preview \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d \
'
{
"messages": [
{
"role": "system",
"content": "you are a helpful assistant that talks like a pirate"
},
{
"role": "user",
"content": "can you tell me how to care for a parrot?"
}
],
"dataSources": [
{
"type": "AzureMLIndex",
"parameters": {
"projectResourceId": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-id}",
"name": "my-project",
"version": "5"
}
}
]
}
'
Pinecone
curl -i -X POST YOUR_RESOURCE_NAME/openai/deployments/YOUR_DEPLOYMENT_NAME/extensions/chat/completions?api-version=2023-12-01-preview \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d \
'
{
"messages": [
{
"role": "system",
"content": "you are a helpful assistant that talks like a pirate"
},
{
"role": "user",
"content": "can you tell me how to care for a parrot?"
}
],
"dataSources": [
{
"type": "Pinecone",
"parameters": {
"authentication": {
"type": "APIKey",
"apiKey": "{api key}"
},
"environment": "{environment name}",
"indexName": "{index name}",
"embeddingDependency": {
"type": "DeploymentName",
"deploymentName": "{embedding deployment name}"
},
"fieldsMapping": {
"titleField": "title",
"urlField": "url",
"filepathField": "filepath",
"contentFields": [
"content"
],
"contentFieldsSeparator": "\n"
}
}
}
]
}
'
応答の例
{
"id": "12345678-1a2b-3c4e5f-a123-12345678abcd",
"model": "",
"created": 1684304924,
"object": "chat.completion",
"choices": [
{
"index": 0,
"messages": [
{
"role": "tool",
"content": "{\"citations\": [{\"content\": \"\\nAzure AI services are cloud-based artificial intelligence (AI) services...\", \"id\": null, \"title\": \"What is Azure AI services\", \"filepath\": null, \"url\": null, \"metadata\": {\"chunking\": \"orignal document size=250. Scores=0.4314117431640625 and 1.72564697265625.Org Highlight count=4.\"}, \"chunk_id\": \"0\"}], \"intent\": \"[\\\"Learn about Azure AI services.\\\"]\"}",
"end_turn": false
},
{
"role": "assistant",
"content": " \nAzure AI services are cloud-based artificial intelligence (AI) services that help developers build cognitive intelligence into applications without having direct AI or data science skills or knowledge. [doc1]. Azure Machine Learning is a cloud service for accelerating and managing the machine learning project lifecycle. [doc1].",
"end_turn": true
}
]
}
]
}
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
messages |
array | 必須 | null | チャット形式でチャット入力候補を生成するメッセージ。 |
dataSources |
array | 必須 | 独自のデータに基づく Azure OpenAI 機能に使用するデータ ソース。 | |
temperature |
number | オプション | 0 | 使用するサンプリング温度 (0 から 2)。 0.8 のような大きい値にすると、出力はよりランダムになり、0.2 のような小さい値にすると、出力はより集中的および決定論的になります。 一般に、これと top_p の両方ではなく、いずれかを変更することをお勧めします。 |
top_p |
number | オプション | 1 | 核サンプリングと呼ばれる、温度によるサンプリングの代替の場合、モデルでは top_p 確率質量を持つトークンの結果が考慮されます。 したがって、0.1 は、上位 10% の確率質量を含むトークンのみが考慮されることを意味します。 一般的に、これと temperature の両方ではなく、いずれかを変更することをお勧めします。 |
stream |
boolean | 省略可能 | false | 設定すると、ChatGPT と同様に、部分的なメッセージ デルタが送信されます。 トークンは、使用可能になると data-only server-sent イベントとして送信され、ストリームは "messages": [{"delta": {"content": "[DONE]"}, "index": 2, "end_turn": true}] メッセージで終了します |
stop |
文字列または配列 | オプション | null | API がそれ以上のトークンの生成を停止する、最大 2 つのシーケンス。 |
max_tokens |
integer | 省略可能 | 1000 | 生成された回答に許可されるトークンの最大数。 既定では、モデルが返すことができるトークンの数は 4096 - prompt_tokens になります。 |
次のパラメーターは、dataSources
内の parameters
フィールド内で使用できます。
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
type |
string | 必須 | null | 独自のデータに基づく Azure OpenAI 機能に使用するデータ ソース。 Azure AI Search の場合、値は AzureCognitiveSearch です。 Azure Cosmos DB for MongoDB 仮想コアの場合、値は AzureCosmosDB です。 Elasticsearch の場合、値は Elasticsearch です。 Azure Machine Learning の場合、値は AzureMLIndex です。 Pinecone の場合、値は Pinecone です。 |
indexName |
string | 必須 | null | 使用する検索インデックス。 |
inScope |
boolean | 省略可能 | true | 設定した場合、この値によって、根拠付けるデータ コンテンツに固有の応答が制限されます。 |
topNDocuments |
数値 | オプション | 5 | 応答の生成に使用されるデータ インデックスの上位スコアのドキュメントの数を指定します。 短いドキュメントがある場合や、より多くのコンテキストを提供する場合は、値を増やすことをお勧めします。 これは、Azure OpenAI Studio の "取得したドキュメント" のパラメータです。 |
semanticConfiguration |
string | 省略可能 | null | セマンティック検索の構成。 queryType が semantic または vectorSemanticHybrid に設定されている場合にのみ、必須です。 |
roleInformation |
string | 省略可能 | null | どう振る舞うべきかに関する指示と、応答の生成時に参照する必要があるコンテキストをモデルに渡します。 Azure OpenAI Studio の "システム メッセージ" に相当します。 詳細については、「データの使用」を参照してください。 トークンには 100 個の制限があり、トークン全体の制限としてカウントされます。 |
filter |
string | 省略可能 | null | 機密ドキュメントへのアクセスを制限するために使用されるフィルター パターン |
embeddingEndpoint |
string | 省略可能 | null | Ada 埋め込みモデル デプロイのエンドポイント URL (通常は https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings?api-version=2023-05-15 という形式)。 プライベート ネットワークとプライベート エンドポイントの外部でのベクトル検索に、embeddingKey パラメータと共に使用します。 |
embeddingKey |
string | 省略可能 | null | Ada 埋め込みモデル デプロイの API キー。 プライベート ネットワークとプライベート エンドポイントの外部でのベクトル検索に、embeddingEndpoint と共に使用します。 |
embeddingDeploymentName |
string | 省略可能 | null | 同じ Azure OpenAI リソース内の Ada 埋め込みモデル デプロイ名。 ベクトル検索に、embeddingEndpoint と embeddingKey の代わりに使用されます。 embeddingEndpoint パラメータと embeddingKey パラメータの両方が定義されている場合にのみ使用します。 このパラメータを指定すると、独自のデータに基づく Azure OpenAI では、Azure OpenAI エンドポイントを呼び出すのではなく、内部呼び出しを使用して Ada 埋め込みモデルを評価します。 これにより、プライベート ネットワークとプライベート エンドポイントでベクトル検索を使用できます。 このパラメータが定義されているかどうかに関係なく、請求先は変わりません。 埋め込みモデルが API バージョン 2023-06-01-preview 以降で使用可能なリージョンで利用できます。 |
strictness |
数値 | 省略可能 | 3 | クエリに関連するドキュメントの分類に使用するしきい値を設定します。 値を上げると、関連性のしきい値が高くなり、応答に対して関連性の低いドキュメントがさらに除外されます。 この値を高く設定しすぎると、使用可能なドキュメントが限られるため、モデルで応答の生成に失敗する可能性があります。 |
Azure AI 検索のパラメーター
次のパラメーターは Azure AI 検索で使用されます。
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
endpoint |
string | 必須 | null | Azure AI Search のみ。 データ ソース エンドポイント。 |
key |
string | 必須 | null | Azure AI Search のみ。 サービスの Azure AI Search 管理者キーの 1 つ。 |
queryType |
string | 省略可能 | simple | Azure AI 検索に使用するクエリ オプションを示します。 使用可能な種類: simple 、semantic 、vector 、vectorSimpleHybrid 、vectorSemanticHybrid 。 |
fieldsMapping |
ディクショナリ | Azure AI Search の場合は省略可能。 | null | データ ソースを追加するときにマップするフィールドを定義します。 |
次のパラメーターは、authentication
フィールド内で使用されます。これにより、パブリック ネットワーク アクセスなしで Azure OpenAI を使用できます。
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
type |
string | 必須 | null | 認証の種類。 |
managedIdentityResourceId |
string | 必須 | null | 認証に使用するユーザー割り当てマネージド ID のリソース ID。 |
"authentication": {
"type": "UserAssignedManagedIdentity",
"managedIdentityResourceId": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resource-name}"
},
fieldsMapping
フィールド内では、次のパラメーターが使用されます。
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
titleField |
string | 省略可能 | null | 各ドキュメントの元のタイトルを含むインデックス内のフィールド。 |
urlField |
string | 省略可能 | null | 各ドキュメントの元の URL を含むインデックス内のフィールド。 |
filepathField |
string | 省略可能 | null | 各ドキュメントの元のファイル名を含むインデックス内のフィールド。 |
contentFields |
ディクショナリ | オプション | null | 各ドキュメントのメイン テキスト コンテンツを含むインデックス内のフィールド。 |
contentFieldsSeparator |
string | 省略可能 | null | コンテンツ フィールドの区切り記号。 既定で \n を使用します。 |
"fieldsMapping": {
"titleField": "myTitleField",
"urlField": "myUrlField",
"filepathField": "myFilePathField",
"contentFields": [
"myContentField"
],
"contentFieldsSeparator": "\n"
}
次のパラメーターは、省略可能な embeddingDependency
パラメーターの内部で使用され、同じ Azure OpenAI リソース内の内部埋め込みモデル デプロイ名に基づくベクトル化ソースの詳細が含まれています。
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
deploymentName |
string | 省略可能 | null | 使用するベクトル化ソースの種類。 |
type |
string | 省略可能 | null | 同じ Azure OpenAI リソース内にある埋め込みモデル デプロイ名。 これにより、Azure OpenAI API キーを使用せずに、Azure OpenAI パブリック ネットワーク アクセスなしでベクトル検索を使用できます。 |
"embeddingDependency": {
"type": "DeploymentName",
"deploymentName": "{embedding deployment name}"
},
Azure Cosmos DB for MongoDB 仮想コアのパラメーター
次のパラメーターは Azure Cosmos DB for MongoDB 仮想コアに使用されます。
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
type (authentication の中にあります) |
string | 必須 | null | Azure Cosmos DB for MongoDB 仮想コアのみ。 使用される認証。 Azure Cosmos Mongo 仮想コアの場合、値は ConnectionString です |
connectionString |
string | 必須 | null | Azure Cosmos DB for MongoDB 仮想コアのみ。 Azure Cosmos Mongo 仮想コア アカウントの認証に使用される接続文字列。 |
databaseName |
string | 必須 | null | Azure Cosmos DB for MongoDB 仮想コアのみ。 Azure Cosmos Mongo 仮想コア データベース名。 |
containerName |
string | 必須 | null | Azure Cosmos DB for MongoDB 仮想コアのみ。 データベース内の Azure Cosmos Mongo 仮想コア コンテナー名。 |
type (embeddingDependencyType の中にあります) |
string | 必須 | null | 埋め込みモデルの依存性を示します。 |
deploymentName (embeddingDependencyType の中にあります) |
string | 必須 | null | 埋め込みモデル デプロイ名。 |
fieldsMapping |
ディクショナリ | Azure Cosmos DB for MongoDB 仮想コアの場合は必須。 | null | インデックス データ列マッピング。 Azure Cosmos DB for MongoDB 仮想コアを使用するとき、値 vectorFields は必須です。これはベクトルを格納するフィールドを示します。 |
次のパラメーターは、省略可能な embeddingDependency
パラメーターの内部で使用され、同じ Azure OpenAI リソース内の内部埋め込みモデル デプロイ名に基づくベクトル化ソースの詳細が含まれています。
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
deploymentName |
string | 省略可能 | null | 使用するベクトル化ソースの種類。 |
type |
string | 省略可能 | null | 同じ Azure OpenAI リソース内にある埋め込みモデル デプロイ名。 これにより、Azure OpenAI API キーを使用せずに、Azure OpenAI パブリック ネットワーク アクセスなしでベクトル検索を使用できます。 |
"embeddingDependency": {
"type": "DeploymentName",
"deploymentName": "{embedding deployment name}"
},
Elasticsearch のパラメーター
次のパラメーターは Elasticsearch で使用されます。
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
endpoint |
string | 必須 | null | Elasticsearch に接続するためのエンドポイント。 |
indexName |
string | 必須 | null | Elasticsearch インデックスの名前。 |
type (authentication の中にあります) |
string | 必須 | null | 使用される認証。 Elasticsearch の場合、値は KeyAndKeyId です。 |
key (authentication の中にあります) |
string | 必須 | null | Elasticsearch への接続に使用されるキー。 |
keyId (authentication の中にあります) |
string | 必須 | null | 使用するキー ID。 ElasticSearch 用。 |
fieldsMapping
フィールド内では、次のパラメーターが使用されます。
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
titleField |
string | 省略可能 | null | 各ドキュメントの元のタイトルを含むインデックス内のフィールド。 |
urlField |
string | 省略可能 | null | 各ドキュメントの元の URL を含むインデックス内のフィールド。 |
filepathField |
string | 省略可能 | null | 各ドキュメントの元のファイル名を含むインデックス内のフィールド。 |
contentFields |
ディクショナリ | オプション | null | 各ドキュメントのメイン テキスト コンテンツを含むインデックス内のフィールド。 |
contentFieldsSeparator |
string | 省略可能 | null | コンテンツ フィールドの区切り記号。 既定で \n を使用します。 |
vectorFields |
ディクショナリ | オプション | null | ベクトル データを表すフィールドの名前 |
"fieldsMapping": {
"titleField": "myTitleField",
"urlField": "myUrlField",
"filepathField": "myFilePathField",
"contentFields": [
"myContentField"
],
"contentFieldsSeparator": "\n",
"vectorFields": [
"myVectorField"
]
}
次のパラメーターは、省略可能な embeddingDependency
パラメーターの内部で使用され、同じ Azure OpenAI リソース内の内部埋め込みモデル デプロイ名に基づくベクトル化ソースの詳細が含まれています。
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
deploymentName |
string | 省略可能 | null | 使用するベクトル化ソースの種類。 |
type |
string | 省略可能 | null | 同じ Azure OpenAI リソース内にある埋め込みモデル デプロイ名。 これにより、Azure OpenAI API キーを使用せずに、Azure OpenAI パブリック ネットワーク アクセスなしでベクトル検索を使用できます。 |
"embeddingDependency": {
"type": "DeploymentName",
"deploymentName": "{embedding deployment name}"
},
Azure Machine Learning のパラメーター
次のパラメーターは Azure Machine Learning で使用されます。
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
projectResourceId |
string | 必須 | null | プロジェクト リソース ID。 |
name |
string | 必須 | null | Azure Machine Learning プロジェクト名を示す名前。 |
version (authentication の中にあります) |
string | 必須 | null | Azure Machine Learning ベクトル インデックスのバージョン。 |
次のパラメーターは、省略可能な embeddingDependency
パラメーターの内部で使用され、同じ Azure OpenAI リソース内の内部埋め込みモデル デプロイ名に基づくベクトル化ソースの詳細が含まれています。
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
deploymentName |
string | 省略可能 | null | 使用するベクトル化ソースの種類。 |
type |
string | 省略可能 | null | 同じ Azure OpenAI リソース内にある埋め込みモデル デプロイ名。 これにより、Azure OpenAI API キーを使用せずに、Azure OpenAI パブリック ネットワーク アクセスなしでベクトル検索を使用できます。 |
"embeddingDependency": {
"type": "DeploymentName",
"deploymentName": "{embedding deployment name}"
},
Pinecone のパラメーター
次のパラメーターは Pinecone で使用されます。
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
type (authentication の中にあります) |
string | 必須 | null | 使用される認証。 Pinecone の場合、値は APIKey です。 |
apiKey (authentication の中にあります) |
string | 必須 | null | Pinecone の API キー。 |
environment |
string | 必須 | null | Pinecone 環境の名前。 |
indexName |
string | 必須 | null | Pinecone インデックスの名前。 |
embeddingDependency |
string | 必須 | null | ベクトル検索の埋め込み依存関係。 |
type (embeddingDependency の中にあります) |
string | 必須 | null | 依存関係の種類。 Pinecone の場合、値は DeploymentName です。 |
deploymentName (embeddingDependency の中にあります) |
string | 必須 | null | 展開の名前。 |
titleField (fieldsMapping の中にあります) |
string | 必須 | null | タイトルとして使用するインデックス フィールドの名前。 |
urlField (fieldsMapping の中にあります) |
string | 必須 | null | URL として使用するインデックス フィールドの名前。 |
filepathField (fieldsMapping の中にあります) |
string | 必須 | null | ファイル パスとして使用するインデックス フィールドの名前。 |
contentFields (fieldsMapping の中にあります) |
string | 必須 | null | コンテンツとして扱う必要があるインデックス フィールドの名前。 |
vectorFields |
ディクショナリ | オプション | null | ベクトル データを表すフィールドの名前 |
contentFieldsSeparator (fieldsMapping の中にあります) |
string | 必須 | null | コンテンツ フィールドの区切り記号。 既定で \n を使用します。 |
次のパラメーターは、省略可能な embeddingDependency
パラメーターの内部で使用され、同じ Azure OpenAI リソース内の内部埋め込みモデル デプロイ名に基づくベクトル化ソースの詳細が含まれています。
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
deploymentName |
string | 省略可能 | null | 使用するベクトル化ソースの種類。 |
type |
string | 省略可能 | null | 同じ Azure OpenAI リソース内にある埋め込みモデル デプロイ名。 これにより、Azure OpenAI API キーを使用せずに、Azure OpenAI パブリック ネットワーク アクセスなしでベクトル検索を使用できます。 |
"embeddingDependency": {
"type": "DeploymentName",
"deploymentName": "{embedding deployment name}"
},
インジェスト ジョブを開始する (プレビュー)
ヒント
選択した JOB_NAME
はインデックス名として使用されます。 インデックス名の制約に注意してください。
curl -i -X PUT https://YOUR_RESOURCE_NAME.openai.azure.com/openai/extensions/on-your-data/ingestion-jobs/JOB_NAME?api-version=2023-10-01-preview \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-H "searchServiceEndpoint: https://YOUR_AZURE_COGNITIVE_SEARCH_NAME.search.windows.net" \
-H "searchServiceAdminKey: YOUR_SEARCH_SERVICE_ADMIN_KEY" \
-H "storageConnectionString: YOUR_STORAGE_CONNECTION_STRING" \
-H "storageContainer: YOUR_INPUT_CONTAINER" \
-d '{ "dataRefreshIntervalInMinutes": 10 }'
応答の例
{
"id": "test-1",
"dataRefreshIntervalInMinutes": 10,
"completionAction": "cleanUpAssets",
"status": "running",
"warnings": [],
"progress": {
"stageProgress": [
{
"name": "Preprocessing",
"totalItems": 100,
"processedItems": 100
},
{
"name": "Indexing",
"totalItems": 350,
"processedItems": 40
}
]
}
}
ヘッダー パラメーター
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
searchServiceEndpoint |
string | 必須 | null | データが取り込まれる検索リソースのエンドポイント。 |
searchServiceAdminKey |
string | 省略可能 | null | 指定した場合、キーは、searchServiceEndpoint で認証するために使用されます。 指定しない場合は、Azure OpenAI リソースのシステム割り当て ID が使用されます。 この場合、システム割り当て ID には、検索リソースに対する "Search Service Contributor" ロールの割り当てが必要です。 |
storageConnectionString |
string | 必須 | null | 入力データが格納されているストレージ アカウントの接続文字列。 アカウント キーは、接続文字列で指定する必要があります。 DefaultEndpointsProtocol=https;AccountName=<your storage account>;AccountKey=<your account key> のようになります |
storageContainer |
string | 必須 | null | 入力データが配置されているコンテナーの名前。 |
embeddingEndpoint |
string | 省略可能 | null | セマンティック検索またはキーワードのみの検索を使用する場合は必要ではありません。 ベクトル、ハイブリッド、またはハイブリッド + セマンティック検索を使用する場合は必要です |
embeddingKey |
string | 省略可能 | null | 埋め込みエンドポイントのキー。 これは、埋め込みエンドポイントが空でない場合に必要です。 |
url |
string | 省略可能 | null | URL が null 以外の場合、指定した URL は指定したストレージ コンテナーにクロールされ、それに応じて取り込まれます。 |
本文のパラメーター
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
dataRefreshIntervalInMinutes |
string | 必須 | 0 | データ更新間隔 (分単位)。 スケジュールなしで 1 つのインジェスト ジョブを実行する場合は、このパラメータを 0 に設定します。 |
completionAction |
string | オプション | cleanUpAssets |
インジェスト プロセス中に作成された資産の、ジョブが完了したときの状況。 有効な値は、cleanUpAssets または keepAllAssets 。 keepAllAssets を使用すると、中間結果の確認に関心があるユーザーのすべての中間資産が残ります。これは、資産のデバッグに役立ちます。 cleanUpAssets を使用すると、ジョブの完了後に資産が削除されます。 |
chunkSize |
int | 省略可能 | 1024 | この数で、インジェスト フローによって生成される各チャンク内のトークンの最大数を定義します。 |
インジェスト ジョブを一覧表示する (プレビュー)
curl -i -X GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/extensions/on-your-data/ingestion-jobs?api-version=2023-10-01-preview \
-H "api-key: YOUR_API_KEY"
応答の例
{
"value": [
{
"id": "test-1",
"dataRefreshIntervalInMinutes": 10,
"completionAction": "cleanUpAssets",
"status": "succeeded",
"warnings": []
},
{
"id": "test-2",
"dataRefreshIntervalInMinutes": 10,
"completionAction": "cleanUpAssets",
"status": "failed",
"error": {
"code": "BadRequest",
"message": "Could not execute skill because the Web Api request failed."
},
"warnings": []
}
]
}
インジェスト ジョブの状態を取得する (プレビュー)
curl -i -X GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/extensions/on-your-data/ingestion-jobs/YOUR_JOB_NAME?api-version=2023-10-01-preview \
-H "api-key: YOUR_API_KEY"
応答本文の例
{
"id": "test-1",
"dataRefreshIntervalInMinutes": 10,
"completionAction": "cleanUpAssets",
"status": "succeeded",
"warnings": []
}
イメージの生成
生成されたイメージを要求する (DALL-E 3)
テキスト キャプションから画像のバッチを生成して取得します。
POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/images/generations?api-version={api-version}
パス パラメーター
パラメーター | Type | 必須 | 説明 |
---|---|---|---|
your-resource-name |
string | 必須 | Azure OpenAI リソースの名前。 |
deployment-id |
string | 必須 | MyDalle3 などの DALL-E 3 モデル デプロイの名前。 DALL-E 3 モデルをデプロイしてから呼び出しを実行する必要があります。 |
api-version |
string | 必須 | この操作に使用する API バージョン。 これは、YYYY-MM-DD 形式に従います。 |
サポートされているバージョン
2023-12-01-preview (retiring July 1, 2024)
Swagger の仕様2024-02-15-preview
Swagger の仕様2024-02-01
Swagger の仕様
要求本文
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
prompt |
string | 必須 | 目的のイメージのテキストの説明。 最大長は 4000 文字です。 | |
n |
integer | 省略可能 | 1 | 生成するイメージの数。 DALL-E 3 では、n=1 のみがサポートされています。 |
size |
string | 省略可能 | 1024x1024 |
生成されたイメージのサイズ。 1792x1024 、1024x1024 、1024x1792 のいずれかである必要があります。 |
quality |
string | 省略可能 | standard |
生成されたイメージの品質。 hd または standard にする必要があります。 |
response_format |
string | 省略可能 | url |
生成されたイメージが返される形式は url (イメージを指す URL) または b64_json (JSON 形式の Base64 バイト コード) にする必要があります。 |
style |
string | 省略可能 | vivid |
生成されたイメージのスタイル。 natural または vivid にする必要があります (超現実的/劇的なイメージの場合)。 |
user |
string | 省略可能 | エンド ユーザーを表す一意の識別子。これは不正使用を監視および検出するのに役立ちます。 |
要求の例
curl -X POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/images/generations?api-version=2023-12-01-preview \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d '{
"prompt": "An avocado chair",
"size": "1024x1024",
"n": 1,
"quality": "hd",
"style": "vivid"
}'
応答の例
この操作によって、202
状態コードと、操作の ID と状態を含む GenerateImagesResponse
JSON オブジェクトが返されます。
{
"created": 1698116662,
"data": [
{
"url": "url to the image",
"revised_prompt": "the actual prompt that was used"
},
{
"url": "url to the image"
},
...
]
}
生成されたイメージを要求する (DALL-E 2 プレビュー)
テキスト キャプションから画像のバッチを生成します。
POST https://{your-resource-name}.openai.azure.com/openai/images/generations:submit?api-version={api-version}
パス パラメーター
パラメーター | Type | 必須 | 説明 |
---|---|---|---|
your-resource-name |
string | 必須 | Azure OpenAI リソースの名前。 |
api-version |
string | 必須 | この操作に使用する API バージョン。 これは、YYYY-MM-DD 形式に従います。 |
サポートされているバージョン
2023-06-01-preview
Swagger の仕様
要求本文
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
prompt |
string | 必須 | 目的のイメージのテキストの説明。 最大長は 1000 文字です。 | |
n |
整数 (integer) | 省略可能 | 1 | 生成するイメージの数。 1 から 5 の間である必要があります。 |
size |
string | 省略可能 | 1,024 x 1,024 | 生成されたイメージのサイズ。 256x256 、512x512 、1024x1024 のいずれかである必要があります。 |
要求の例
curl -X POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/images/generations:submit?api-version=2023-06-01-preview \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d '{
"prompt": "An avocado chair",
"size": "512x512",
"n": 3
}'
応答の例
この操作によって、202
状態コードと、操作の ID と状態を含む GenerateImagesResponse
JSON オブジェクトが返されます。
{
"id": "f508bcf2-e651-4b4b-85a7-58ad77981ffa",
"status": "notRunning"
}
生成されたイメージの結果を取得する (DALL-E 2 プレビュー)
この API を使用して、イメージ生成操作の結果を取得します。 イメージの生成は現在、api-version=2023-06-01-preview
でのみ使用できます。
GET https://{your-resource-name}.openai.azure.com/openai/operations/images/{operation-id}?api-version={api-version}
パス パラメーター
パラメーター | Type | 必須 | 説明 |
---|---|---|---|
your-resource-name |
string | 必須 | Azure OpenAI リソースの名前。 |
operation-id |
string | 必須 | 元のイメージ生成要求を識別する GUID。 |
サポートされているバージョン
2023-06-01-preview
Swagger の仕様
要求の例
curl -X GET "https://{your-resource-name}.openai.azure.com/openai/operations/images/{operation-id}?api-version=2023-06-01-preview"
-H "Content-Type: application/json"
-H "Api-Key: {api key}"
応答の例
この操作が成功すると、200
状態コードと OperationResponse
JSON オブジェクトが返されます。 status
フィールドは "notRunning"
(タスクはキューに登録されているがまだ開始されていない)、"running"
、"succeeded"
、"canceled"
(タスクがタイムアウト)、"failed"
または "deleted"
になります。 succeeded
状態は、生成されたイメージが特定の URL でダウンロード可能であることを示します。 複数のイメージが生成された場合、それらの URL はすべて result.data
フィールドに返されます。
{
"created": 1685064331,
"expires": 1685150737,
"id": "4b755937-3173-4b49-bf3f-da6702a3971a",
"result": {
"data": [
{
"url": "<URL_TO_IMAGE>"
},
{
"url": "<URL_TO_NEXT_IMAGE>"
},
...
]
},
"status": "succeeded"
}
生成されたイメージをサーバーから削除する (DALL-E 2 プレビュー)
要求によって返される操作 ID を使用して、対応するイメージを Azure サーバーから削除することができます。 生成されたイメージは、既定では 24 時間後に自動的に削除されますが、必要に応じて、より早く削除をトリガーできます。
DELETE https://{your-resource-name}.openai.azure.com/openai/operations/images/{operation-id}?api-version={api-version}
パス パラメーター
パラメーター | Type | 必須 | 説明 |
---|---|---|---|
your-resource-name |
string | 必須 | Azure OpenAI リソースの名前。 |
operation-id |
string | 必須 | 元のイメージ生成要求を識別する GUID。 |
サポートされているバージョン
2023-06-01-preview
Swagger の仕様
要求の例
curl -X DELETE "https://{your-resource-name}.openai.azure.com/openai/operations/images/{operation-id}?api-version=2023-06-01-preview"
-H "Content-Type: application/json"
-H "Api-Key: {api key}"
Response
操作が成功すると、204
状態コードが返されます。 この API は、操作が終了状態 (running
ではなく) の場合にのみ成功します。
音声テキスト変換
音声テキスト変換の文字起こしまたは音声翻訳には、Azure OpenAI Service の Whisper モデルを使用できます。 Whisper モデルの使用の詳細については、クイックスタートと Whisper モデルの概要を参照してください。
音声からテキストへの文字起こしを要求する
オーディオ ファイルを文字起こしします。
POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/audio/transcriptions?api-version={api-version}
パス パラメーター
パラメーター | Type | 必須 | 説明 |
---|---|---|---|
your-resource-name |
string | 必須 | Azure OpenAI リソースの名前。 |
deployment-id |
string | 必須 | MyWhisperDeployment などの Whisper モデル デプロイの名前。 呼び出しを行うにはまず Whisper モデルをデプロイする必要があります。 |
api-version |
string | 必須 | この操作に使用する API バージョン。 この値は YYYY-MM-DD 形式に従います。 |
サポートされているバージョン
2023-09-01-preview
(2024 年 7 月 1 日廃止) Swagger 仕様2023-10-01-preview
Swagger の仕様2023-12-01-preview
(2024 年 7 月 1 日廃止) Swagger 仕様2024-02-15-preview
Swagger の仕様2024-03-01-preview
Swagger の仕様2024-02-01
Swagger の仕様
要求本文
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
file |
file | はい | 該当なし | flac 、mp3 、mp4 、mpeg 、mpga 、m4a 、ogg 、wav 、または webm のいずれかの形式で文字起こしするオーディオ ファイル オブジェクト (ファイル名ではありません)。Azure OpenAI Service の Whisper モデルのファイル サイズ上限は 25 MB です。 25 MB より大きいファイルを文字起こしする必要がある場合は、それをチャンクに分割します。 または、Azure AI 音声のバッチ文字起こし API を使用することもできます。 GitHub の Azure AI 音声 SDK リポジトリからサンプル オーディオ ファイルを入手できます。 |
language |
string | No | [Null] | fr などの入力オーディオの言語。 入力言語を ISO-639-1 形式で提供すると、精度と待機時間が向上します。サポートされている言語の一覧については、OpenAI のドキュメントを参照してください。 |
prompt |
string | No | [Null] | モデルのスタイルをガイドしたり、前のオーディオ セグメントを続行したりするための省略可能なテキスト。 プロンプトはオーディオ言語と一致する必要があります。 ユース ケースの例を含むプロンプトの詳細については、OpenAI のドキュメントを参照してください。 |
response_format |
string | いいえ | json | 次のいずれかのオプションのトランスクリプト出力の形式: json、text、srt、verbose_json、vtt。 既定値は json です。 |
temperature |
数値 | いいえ | 0 | 0 から 1 の間のサンプリング温度。 0.8 のような大きい値にすると、出力はよりランダムになり、0.2 のような小さい値にすると、出力はより集中的および決定論的になります。 0 に設定すると、モデルはログ確率を使用して、特定のしきい値に達するまで温度を自動的に上昇させます。 既定値は0です。 |
要求の例
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/audio/transcriptions?api-version=2023-09-01-preview \
-H "Content-Type: multipart/form-data" \
-H "api-key: $YOUR_API_KEY" \
-F file="@./YOUR_AUDIO_FILE_NAME.wav" \
-F "language=en" \
-F "prompt=The transcript contains zoology terms and geographical locations." \
-F "temperature=0" \
-F "response_format=srt"
応答の例
1
00:00:00,960 --> 00:00:07,680
The ocelot, Lepardus paradalis, is a small wild cat native to the southwestern United States,
2
00:00:07,680 --> 00:00:13,520
Mexico, and Central and South America. This medium-sized cat is characterized by
3
00:00:13,520 --> 00:00:18,960
solid black spots and streaks on its coat, round ears, and white neck and undersides.
4
00:00:19,760 --> 00:00:27,840
It weighs between 8 and 15.5 kilograms, 18 and 34 pounds, and reaches 40 to 50 centimeters
5
00:00:27,840 --> 00:00:34,560
16 to 20 inches at the shoulders. It was first described by Carl Linnaeus in 1758.
6
00:00:35,360 --> 00:00:42,880
Two subspecies are recognized, L. p. paradalis and L. p. mitis. Typically active during twilight
7
00:00:42,880 --> 00:00:48,480
and at night, the ocelot tends to be solitary and territorial. It is efficient at climbing,
8
00:00:48,480 --> 00:00:54,480
leaping, and swimming. It preys on small terrestrial mammals such as armadillo, opossum,
9
00:00:54,480 --> 00:00:56,480
and lagomorphs.
音声からテキストへの翻訳を要求する
オーディオ ファイルを別の言語から英語に翻訳します。 サポートされている言語の一覧については、OpenAI のドキュメントを参照してください。
POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/audio/translations?api-version={api-version}
パス パラメーター
パラメーター | Type | 必須 | 説明 |
---|---|---|---|
your-resource-name |
string | 必須 | Azure OpenAI リソースの名前。 |
deployment-id |
string | 必須 | MyWhisperDeployment などの Whisper モデル デプロイの名前。 呼び出しを行うにはまず Whisper モデルをデプロイする必要があります。 |
api-version |
string | 必須 | この操作に使用する API バージョン。 この値は YYYY-MM-DD 形式に従います。 |
サポートされているバージョン
2023-09-01-preview
(2024 年 7 月 1 日廃止) Swagger 仕様2023-10-01-preview
Swagger の仕様2023-12-01-preview
(2024 年 7 月 1 日廃止) Swagger 仕様2024-02-15-preview
Swagger の仕様2024-03-01-preview
Swagger の仕様2024-02-01
Swagger の仕様
要求本文
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
file |
file | はい | 該当なし | 次のいずれかの形式で文字起こしするオーディオ ファイル オブジェクト (ファイル名ではありません): flac、mp3、mp4、mpeg、mpga、m4a、ogg、wav、webm。 Azure OpenAI の Whisper モデルのファイル サイズ上限は 25 MB です。 25 MB より大きいファイルを文字起こしする必要がある場合は、それをチャンクに分割します。 GitHub の Azure AI 音声 SDK リポジトリからサンプル オーディオ ファイルをダウンロードできます。 |
prompt |
string | No | [Null] | モデルのスタイルをガイドしたり、前のオーディオ セグメントを続行したりするための省略可能なテキスト。 プロンプトはオーディオ言語と一致する必要があります。 ユース ケースの例を含むプロンプトの詳細については、OpenAI のドキュメントを参照してください。 |
response_format |
string | いいえ | json | 次のいずれかのオプションのトランスクリプト出力の形式: json、text、srt、verbose_json、vtt。 既定値は json です。 |
temperature |
数値 | いいえ | 0 | 0 から 1 の間のサンプリング温度。 0.8 のような大きい値にすると、出力はよりランダムになり、0.2 のような小さい値にすると、出力はより集中的および決定論的になります。 0 に設定すると、モデルはログ確率を使用して、特定のしきい値に達するまで温度を自動的に上昇させます。 既定値は0です。 |
要求の例
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/audio/translations?api-version=2023-09-01-preview \
-H "Content-Type: multipart/form-data" \
-H "api-key: $YOUR_API_KEY" \
-F file="@./YOUR_AUDIO_FILE_NAME.wav" \
-F "temperature=0" \
-F "response_format=json"
応答の例
{
"text": "Hello, my name is Wolfgang and I come from Germany. Where are you heading today?"
}
テキスト読み上げ
テキストを音声に合成します。
POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/audio/speech?api-version={api-version}
パス パラメーター
パラメーター | Type | 必須 | 説明 |
---|---|---|---|
your-resource-name |
string | 必須 | Azure OpenAI リソースの名前。 |
deployment-id |
string | 必須 | テキスト読み上げモデルのデプロイ名 (例: MyTextToSpeechDeployment)。 呼び出しを行う前に、まずテキスト読み上げモデル (tts-1 、tts-1-hd など) をデプロイする必要があります。 |
api-version |
string | 必須 | この操作に使用する API バージョン。 この値は YYYY-MM-DD 形式に従います。 |
サポートされているバージョン
2024-02-15-preview
Swagger の仕様
要求本文
パラメーター | Type | 必須 | Default | 説明 |
---|---|---|---|---|
model |
string | はい | 該当なし | 使用可能な TTS モデルのいずれか (tts-1 または tts-1-hd ) |
input |
string | はい | 該当なし | オーディオを生成するテキスト。 最大長は 4096 文字です。 入力テキストを任意の言語で指定します。1 |
voice |
string | はい | 該当なし | オーディオを生成するときに使用する音声。 サポートされている音声は、alloy 、echo 、fable 、onyx 、nova 、shimmer です。 音声のプレビューは、OpenAI テキスト読み上げガイドで確認できます。 |
1 テキスト読み上げモデルでは、通常、Whisper モデルと同じ言語がサポートされます。 サポートされている言語の一覧については、OpenAI のドキュメントを参照してください。
要求の例
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/audio/speech?api-version=2024-02-15-preview \
-H "api-key: $YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "tts-hd",
"input": "I'm excited to try text to speech.",
"voice": "alloy"
}' --output speech.mp3
応答の例
音声は、前の要求のオーディオ ファイルとして返されます。
管理 API
Azure OpenAI は、Azure AI サービスの一部としてデプロイされます。 すべての Azure AI サービスは、作成、更新、削除の操作で同じ一連の管理 API に依存します。 管理 API は、Azure OpenAI リソース内にモデルをデプロイするためにも使用されます。
次のステップ
モデルと REST API を使用した微調整について説明します。 Azure OpenAI をサポートする基となるモデルに関する記事を確認します。