你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure OpenAI 服务 REST API 参考
本文详细介绍了 Azure OpenAI 的推理 REST API 端点。
API 规范
管理 Azure OpenAI 模型和资源并与之交互分为三个主要 API 图面:
- 控制面板
- 数据平面 - 创作
- 数据平面 - 推理
每个 API 图面/规范封装了一组不同的 Azure OpenAI 功能。 每个 API 都有自己独特的预览版和稳定/正式发布 (GA) API 版本集。 预览版目前按月发布。
API | 最新预览版 | 最新 GA 版本 | 规范 | 说明 |
---|---|---|---|---|
控制面板 | 2024-06-01-preview |
2024-10-01 |
规范文件 | Azure OpenAI 与所有其他 Azure AI 服务共享通用控制平面。 控制平面 API 用于创建 Azure OpenAI 资源、模型部署和其他更高级别的资源管理任务等。 控制平面还控制使用 Azure 资源管理器、Bicep、Terraform 和 Azure CLI 等功能可以执行的操作。 |
数据平面 - 创作 | 2024-10-01-preview |
2024-10-21 |
规范文件 | 数据平面创作 API 可控制微调、文件上传、引入作业、批处理,以及某些模型级查询 |
数据平面 - 推理 | 2024-10-01-preview |
2024-10-21 |
规范文件 | 数据平面推理 API 为补全、聊天补全、嵌入、语音/耳语、基于自有数据、Dall-e、助手等功能提供推理功能/终结点。 |
身份验证
Azure OpenAI 提供两种身份验证方法。 可以使用 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/chat/completions?api-version=2024-06-01
数据平面推理
本文的其余部分介绍了 Azure OpenAI 数据平面推理规范的最新 GA 版本,即 2024-10-21
。
如果要查找有关最新预览版 API 版本的文档,请参阅最新的预览版数据平面推理 API
完成
POST https://{endpoint}/openai/deployments/{deployment-id}/completions?api-version=2024-10-21
为提供的提示、参数和所选模型创建补全。
URI 参数
名称 | 在 | 必需 | 类型 | 描述 |
---|---|---|---|---|
endpoint | path | 是 | string url |
支持的 Azure OpenAI 终结点(协议和主机名,例如:https://aoairesource.openai.azure.com 。将“aoairesource”替换为你的 Azure OpenAI 资源名称)。 https://{your-resource-name}.openai.azure.com |
deployment-id | path | 是 | string | 已部署模型的部署 ID。 |
api-version | 查询 | 是 | string | API 版本 |
请求头
名称 | 必需 | 类型 | 描述 |
---|---|---|---|
api-key | True | string | 在这里提供 Azure OpenAI API 密钥 |
请求正文
“内容类型”: application/json
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
prompt | 字符串或数组 | 要生成补全的提示,以字符串、字符串数组、标记数组或标记数组的数组的形式编码。 请注意,<|endoftext|> 是模型在训练期间看到的文档分隔符,因此如果未指定提示,则模型将像从新文档的开头一样生成。 |
是 | |
best_of | integer | 在服务器端生成 best_of 补全并返回“最佳”项(每个标记的对数概率最高的项)。 无法流式传输结果。与 n 一起使用时,best_of 控制着候选补全数,n 指定返回的补全数 - best_of 必须大于 n 。注意:由于此参数会生成许多补全,因此可能会快速消耗你的标记配额。 谨慎使用并确保对 max_tokens 和 stop 进行了合理的设置。 |
否 | 1 |
echo | boolean | 除了完成之外,还回显提示 |
否 | False |
frequency_penalty | 数字 | 介于 -2.0 和 2.0 之间的数字。 正值会根据它们到目前为止在文本中的现有频率来惩罚新令牌,从而降低模型逐字重复同一行的可能性。 |
否 | 0 |
logit_bias | object | 修改指定令牌在完成中出现的可能性。 接受 JSON 对象,该对象将标记(由其在 GPT tokenizer 中的标记 ID 指定)映射到一个 -100 到 100 之间的关联偏差值。 在数学上,采样之前会将偏差添加到由模型生成的 logit 中。 具体效果因模型而异,但 -1 和 1 之间的值会减少或增加选择的可能性;-100 或 100 等值会导致相关令牌的禁止或独占选择。 例如,可以传递 {"50256": -100} 以防止生成 <|endoftext|> 标记。 |
否 | 无 |
logprobs | integer | 包含有关 logprobs 最有可能的输出标记和已选择的标记的对数概率。 例如,如果 logprobs 为 5,则 API 将返回包含五个最有可能的令牌的列表。 API 将始终返回采样令牌的 logprob ,因此响应中可能最多包含 logprobs+1 个元素。logprobs 的最大值是 5。 |
否 | 无 |
max_tokens | integer | 可以在补全时生成的最大令牌数。 提示加上 max_tokens 的令牌计数不能超过模型的上下文长度。 |
否 | 16 |
n | integer | 要为每个提示生成的完成数。 注意:由于此参数会生成许多补全,因此可能会快速消耗你的标记配额。 谨慎使用并确保对 max_tokens 和 stop 进行了合理的设置。 |
否 | 1 |
presence_penalty | 数字 | 介于 -2.0 和 2.0 之间的数字。 正值会根据它们到目前为止是否在文本中出现来惩罚新令牌,从而增加模型谈论新话题的可能性。 |
否 | 0 |
seed | integer | 指定后,我们的系统将尽最大努力进行确定性采样,以便具有相同 seed 和参数的重复请求应返回相同的结果。无法保证确定性,你应参考 system_fingerprint 响应参数来监视后端的更改。 |
否 | |
stop | 字符串或数组 | 最多四个序列,其中 API 将停止生成进一步的令牌。 返回的文本不包含停止序列。 |
否 | |
流 (stream) | boolean | 是否流式传输回部分进度。 如果已设置,令牌将在可用时作为仅限数据的服务器发送的事件发送,并且流式传输由 data: [DONE] 消息终止。 |
否 | False |
suffix | string | 插入的文本完成后的后缀。 此参数仅支持 gpt-3.5-turbo-instruct 。 |
否 | 无 |
温度 | 数字 | 要使用的采样温度,介于 0 和 2 之间。 较高的值(如 0.8)将使输出更随机,而较小的值(如 0.2)将使输出更集中且更具确定性 我们通常建议更改此设置或 top_p ,但不要同时更改两者。 |
否 | 1 |
top_p | 数字 | 温度采样的替代方法,称为核采样,其中模型考虑具有 top_p 概率质量的令牌的结果。 所以 0.1 意味着只考虑包含前 10% 概率质量的令牌。 我们通常建议更改此设置或 temperature ,但不要同时更改两者。 |
否 | 1 |
user | string | 表示最终用户的唯一标识符,可帮助监视和检测滥用行为。 |
否 |
响应
状态代码:200
说明:确定
Content-Type | 类型 | 描述 |
---|---|---|
application/json | createCompletionResponse | 表示来自 API 的补全响应。 注意:流式处理和非流式处理响应对象共享相同的形状(与聊天终结点不同)。 |
状态代码:默认值
说明:服务不可用
Content-Type | 类型 | 描述 |
---|---|---|
application/json | errorResponse |
示例
示例
为提供的提示、参数和所选模型创建补全。
POST https://{endpoint}/openai/deployments/{deployment-id}/completions?api-version=2024-10-21
{
"prompt": [
"tell me a joke about mango"
],
"max_tokens": 32,
"temperature": 1.0,
"n": 1
}
响应:状态代码:200
{
"body": {
"id": "cmpl-7QmVI15qgYVllxK0FtxVGG6ywfzaq",
"created": 1686617332,
"choices": [
{
"text": "es\n\nWhat do you call a mango who's in charge?\n\nThe head mango.",
"index": 0,
"finish_reason": "stop",
"logprobs": null
}
],
"usage": {
"completion_tokens": 20,
"prompt_tokens": 6,
"total_tokens": 26
}
}
}
嵌入
POST https://{endpoint}/openai/deployments/{deployment-id}/embeddings?api-version=2024-10-21
获取给定输入的向量表示形式,该输入可由机器学习模型和算法轻松使用。
URI 参数
名称 | 在 | 必需 | 类型 | 描述 |
---|---|---|---|---|
endpoint | path | 是 | string url |
支持的 Azure OpenAI 终结点(协议和主机名,例如:https://aoairesource.openai.azure.com 。将“aoairesource”替换为你的 Azure OpenAI 资源名称)。 https://{your-resource-name}.openai.azure.com |
deployment-id | path | 是 | string | |
api-version | 查询 | 是 | string | API 版本 |
请求头
名称 | 必需 | 类型 | 描述 |
---|---|---|---|
api-key | True | string | 在这里提供 Azure OpenAI API 密钥 |
请求正文
“内容类型”: application/json
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
input | 字符串或数组 | 要嵌入的输入文本,编码为字符串或令牌数组。 若要在单个请求中嵌入多项输入,请传递一个由字符串构成的数组或一个由令牌数组构成的数组。 输入不得超过模型的最大输入标记数(对于 text-embedding-ada-002 为 8,192 个标记),不能为空字符串,并且任何数组的维度都必须小于或等于 2,048。 |
是 | |
user | string | 表示最终用户的唯一标识符,可帮助监视和检测滥用行为。 | 否 | |
input_type | string | 要使用的嵌入搜索的输入类型 | 否 | |
encoding_format | string | 嵌入的返回格式。 可以为 float 或 base64 。 默认为 float 。 |
否 | |
dimensions | integer | 生成的输出嵌入应有的维度数。 仅在 text-embedding-3 及更高版本中受支持。 |
否 |
响应
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
object | string | 是 | ||
模型 | string | 是 | ||
data | array | 是 | ||
使用情况 | object | 是 |
用法属性
prompt_tokens
名称 | Type | 描述 | 默认 |
---|---|---|---|
prompt_tokens | integer |
total_tokens
名称 | Type | 描述 | 默认 |
---|---|---|---|
total_tokens | integer |
状态代码:200
说明:确定
Content-Type | 类型 | 描述 |
---|---|---|
application/json | object |
示例
示例
返回给定提示的嵌入。
POST https://{endpoint}/openai/deployments/{deployment-id}/embeddings?api-version=2024-10-21
{
"input": [
"this is a test"
]
}
响应:状态代码:200
{
"body": {
"data": [
{
"index": 0,
"embedding": [
-0.012838088,
-0.007421397,
-0.017617522,
-0.028278312,
-0.018666342,
0.01737855,
-0.01821495,
-0.006950092,
-0.009937238,
-0.038580645,
0.010674067,
0.02412286,
-0.013647936,
0.013189907,
0.0021125758,
0.012406612,
0.020790534,
0.00074595667,
0.008397198,
-0.00535031,
0.008968075,
0.014351576,
-0.014086051,
0.015055214,
-0.022211088,
-0.025198232,
0.0065186154,
-0.036350243,
0.009180495,
-0.009698266,
0.009446018,
-0.008463579,
-0.0040426035,
-0.03443847,
-0.00091273896,
-0.0019217303,
0.002349888,
-0.021560553,
0.016515596,
-0.015572986,
0.0038666942,
-8.432463e-05
]
}
],
"usage": {
"prompt_tokens": 4,
"total_tokens": 4
}
}
}
聊天完成
POST https://{endpoint}/openai/deployments/{deployment-id}/chat/completions?api-version=2024-10-21
为聊天消息创建完成操作
URI 参数
名称 | 在 | 必需 | 类型 | 描述 |
---|---|---|---|---|
endpoint | path | 是 | string url |
支持的 Azure OpenAI 终结点(协议和主机名,例如:https://aoairesource.openai.azure.com 。将“aoairesource”替换为你的 Azure OpenAI 资源名称)。 https://{your-resource-name}.openai.azure.com |
deployment-id | path | 是 | string | 已部署模型的部署 ID。 |
api-version | 查询 | 是 | string | API 版本 |
请求头
名称 | 必需 | 类型 | 描述 |
---|---|---|---|
api-key | True | string | 在这里提供 Azure OpenAI API 密钥 |
请求正文
“内容类型”: application/json
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
温度 | 数字 | 要使用的采样温度,介于 0 和 2 之间。 较高的值(如 0.8)将使输出更随机,而较小的值(如 0.2)将使输出更集中且更具确定性 我们通常建议更改此设置或 top_p ,但不要同时更改两者。 |
否 | 1 |
top_p | 数字 | 温度采样的替代方法,称为核采样,其中模型考虑具有 top_p 概率质量的令牌的结果。 所以 0.1 意味着只考虑包含前 10% 概率质量的令牌。 我们通常建议更改此设置或 temperature ,但不要同时更改两者。 |
否 | 1 |
流 (stream) | boolean | 如果设置此选项,将发送部分消息增量,如在 ChatGPT 中一样。 词元将在可用时作为服务器发送的事件发送(内容仅包括数据),并且流式传输将由 data: [DONE] 消息终止。 |
否 | False |
stop | 字符串或数组 | 最多四个序列,其中 API 将停止生成进一步的令牌。 |
否 | |
max_tokens | integer | 可以在聊天补全时生成的最大词元数。 输入词元和生成的词元的总长度受模型上下文长度的限制。 |
否 | |
max_completion_tokens | integer | 可为完成生成的令牌数的上限,包括可见的输出令牌和推理令牌。 | 否 | |
presence_penalty | 数字 | 介于 -2.0 和 2.0 之间的数字。 正值会根据它们到目前为止是否在文本中出现来惩罚新令牌,从而增加模型谈论新话题的可能性。 |
否 | 0 |
frequency_penalty | 数字 | 介于 -2.0 和 2.0 之间的数字。 正值会根据它们到目前为止在文本中的现有频率来惩罚新令牌,从而降低模型逐字重复同一行的可能性。 |
否 | 0 |
logit_bias | object | 修改指定令牌在完成中出现的可能性。 接受 JSON 对象,该对象将标记(由 tokenizer 中的标记 ID 指定)映射到从 -100 到 100 的相关偏差值。 在数学上,采样之前会将偏差添加到由模型生成的 logit 中。 具体效果因模型而异,但 -1 和 1 之间的值会减少或增加选择的可能性;-100 或 100 等值会导致相关令牌的禁止或独占选择。 |
否 | 无 |
user | string | 表示最终用户的唯一标识符,可帮助监视和检测滥用行为。 |
否 | |
messages | array | 包含到目前为止的对话的消息列表。 | 是 | |
data_sources | array | 使用它们的 Azure OpenAI 聊天扩展的配置条目。 此附加规范仅与 Azure OpenAI 兼容。 |
否 | |
logprobs | boolean | 是否返回输出令牌的对数概率。 如果为 true,则返回在 message 的 content 中返回的每个输出令牌的对数概率。 |
否 | False |
top_logprobs | integer | 一个介于 0 和 20 之间的整数,指定在每个标记位置最有可能返回的的标记数,每个都有关联的对数概率。 如果使用此参数,则必须将 logprobs 设置为 true 。 |
否 | |
n | integer | 要为每个输入消息生成的聊天完成选项数。 请注意,将根据所有选项中生成的标记数向你收费。 将 n 保留为 1 以尽量降低成本。 |
否 | 1 |
parallel_tool_calls | ParallelToolCalls | 是否在工具使用期间启用并行函数调用。 | 否 | True |
response_format | ResponseFormatText 或 ResponseFormatJsonObject 或 ResponseFormatJsonSchema | 一个对象,指定模型必须输出的格式。 与 GPT-4o、GPT-4o mini、GPT-4 Turbo 和高于 gpt-3.5-turbo-1106 的所有 GPT-3.5 Turbo 模型兼容。设置为 { "type": "json_schema", "json_schema": {...} } 将启用结构化输出,它可保证模型与你提供的 JSON 架构匹配。设置为 { "type": "json_object" } 可启用 JSON 模式,这可以保证模型生成的消息是有效的 JSON。重要提示:使用 JSON 模式时,还必须使用系统或用户消息指示模型自行生成 JSON。 如果没有此项,则模型可能会生成一个无限的空白流,直到生成达到令牌限制,从而生成长期运行且似乎“卡滞”的请求。 另请注意,如果使用 finish_reason="length" ,则消息内容可能会部分截断,这表示生成超过了 max_tokens ,或者对话超过了最大上下文长度。 |
否 | |
seed | integer | 此功能以 Beta 版本提供。 指定后,我们的系统将尽最大努力进行确定性采样,以便具有相同 seed 和参数的重复请求应返回相同的结果。无法保证确定性,你应参考 system_fingerprint 响应参数来监视后端的更改。 |
否 | |
工具 | array | 模型可能调用的工具列表。 目前,仅支持函数作为工具。 使用它可以提供函数列表,模型可能为其生成 JSON 输入。 最多支持 128 个函数。 |
否 | |
tool_choice | chatCompletionToolChoiceOption | 控制模型调用哪些工具(如有)。 none 表示模型不会调用任何工具,而是生成消息。 auto 表示模型可以在生成消息和调用一个或多个工具之间进行选择。 required 表示模型必须调用一个或多个工具。 通过 {"type": "function", "function": {"name": "my_function"}} 指定特定工具将强制模型调用该工具。 如果没有工具,则 none 为默认值。 如果存在工具,则 auto 为默认值。 |
否 | |
function_call | 字符串或 chatCompletionFunctionCallOption | 已弃用,改用 tool_choice 。控制模型调用的函数(如有)。 none 表示模型不会调用函数,而是生成消息。auto 表示模型可以在生成消息和调用函数之间进行选择。通过 {"name": "my_function"} 指定特定函数会强制模型调用该函数。当不存在任何函数时,默认值为 none 。 如果存在函数,则 auto 是默认值。 |
否 | |
functions | array | 弃用了,改用 tools 。模型可能为其生成 JSON 输入的函数的列表。 |
否 |
响应
状态代码:200
说明:确定
Content-Type | 类型 | 描述 |
---|---|---|
application/json | createChatCompletionResponse 或 createChatCompletionStreamResponse |
状态代码:默认值
说明:服务不可用
Content-Type | 类型 | 描述 |
---|---|---|
application/json | errorResponse |
示例
示例
为提供的提示、参数和所选模型创建补全。
POST https://{endpoint}/openai/deployments/{deployment-id}/chat/completions?api-version=2024-10-21
{
"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?"
}
]
}
响应:状态代码:200
{
"body": {
"id": "chatcmpl-7R1nGnsXO8n4oi9UPz2f3UHdgAYMn",
"created": 1686676106,
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "Ahoy matey! So ye be wantin' to care for a fine squawkin' parrot, eh? Well, shiver me timbers, let ol' Cap'n Assistant share some wisdom with ye! Here be the steps to keepin' yer parrot happy 'n healthy:\n\n1. Secure a sturdy cage: Yer parrot be needin' a comfortable place to lay anchor! Be sure ye get a sturdy cage, at least double the size of the bird's wingspan, with enough space to spread their wings, yarrrr!\n\n2. Perches 'n toys: Aye, parrots need perches of different sizes, shapes, 'n textures to keep their feet healthy. Also, a few toys be helpin' to keep them entertained 'n their minds stimulated, arrrh!\n\n3. Proper grub: Feed yer feathered friend a balanced diet of high-quality pellets, fruits, 'n veggies to keep 'em strong 'n healthy. Give 'em fresh water every day, or ye\u00e2\u20ac\u2122ll have a scurvy bird on yer hands!\n\n4. Cleanliness: Swab their cage deck! Clean their cage on a regular basis: fresh water 'n food daily, the floor every couple of days, 'n a thorough scrubbing ev'ry few weeks, so the bird be livin' in a tidy haven, arrhh!\n\n5. Socialize 'n train: Parrots be a sociable lot, arrr! Exercise 'n interact with 'em daily to create a bond 'n maintain their mental 'n physical health. Train 'em with positive reinforcement, treat 'em kindly, yarrr!\n\n6. Proper rest: Yer parrot be needin' \u00e2\u20ac\u2122bout 10-12 hours o' sleep each night. Cover their cage 'n let them slumber in a dim, quiet quarter for a proper night's rest, ye scallywag!\n\n7. Keep a weather eye open for illness: Birds be hidin' their ailments, arrr! Be watchful for signs of sickness, such as lethargy, loss of appetite, puffin' up, or change in droppings, and make haste to a vet if need be.\n\n8. Provide fresh air 'n avoid toxins: Parrots be sensitive to draft and pollutants. Keep yer quarters well ventilated, but no drafts, arrr! Be mindful of toxins like Teflon fumes, candles, or air fresheners.\n\nSo there ye have it, me hearty! With proper care 'n commitment, yer parrot will be squawkin' \"Yo-ho-ho\" for many years to come! Good luck, sailor, and may the wind be at yer back!"
}
}
],
"usage": {
"completion_tokens": 557,
"prompt_tokens": 33,
"total_tokens": 590
}
}
}
示例
基于 Azure 认知搜索数据和系统分配的托管标识创建补全。
POST https://{endpoint}/openai/deployments/{deployment-id}/chat/completions?api-version=2024-10-21
{
"messages": [
{
"role": "user",
"content": "can you tell me how to care for a dog?"
}
],
"data_sources": [
{
"type": "azure_search",
"parameters": {
"endpoint": "https://your-search-endpoint.search.windows.net/",
"index_name": "{index name}",
"authentication": {
"type": "system_assigned_managed_identity"
}
}
}
]
}
响应:状态代码:200
{
"body": {
"id": "chatcmpl-7R1nGnsXO8n4oi9UPz2f3UHdgAYMn",
"created": 1686676106,
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "Content of the completion [doc1].",
"context": {
"citations": [
{
"content": "Citation content.",
"title": "Citation Title",
"filepath": "contoso.txt",
"url": "https://contoso.blob.windows.net/container/contoso.txt",
"chunk_id": "0"
}
],
"intent": "dog care"
}
}
}
],
"usage": {
"completion_tokens": 557,
"prompt_tokens": 33,
"total_tokens": 590
}
}
}
示例
基于 Azure 认知搜索矢量数据、以前的助手消息和用户分配的托管标识创建补全。
POST https://{endpoint}/openai/deployments/{deployment-id}/chat/completions?api-version=2024-10-21
{
"messages": [
{
"role": "user",
"content": "can you tell me how to care for a cat?"
},
{
"role": "assistant",
"content": "Content of the completion [doc1].",
"context": {
"intent": "cat care"
}
},
{
"role": "user",
"content": "how about dog?"
}
],
"data_sources": [
{
"type": "azure_search",
"parameters": {
"endpoint": "https://your-search-endpoint.search.windows.net/",
"authentication": {
"type": "user_assigned_managed_identity",
"managed_identity_resource_id": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resource-name}"
},
"index_name": "{index name}",
"query_type": "vector",
"embedding_dependency": {
"type": "deployment_name",
"deployment_name": "{embedding deployment name}"
},
"in_scope": true,
"top_n_documents": 5,
"strictness": 3,
"role_information": "You are an AI assistant that helps people find information.",
"fields_mapping": {
"content_fields_separator": "\\n",
"content_fields": [
"content"
],
"filepath_field": "filepath",
"title_field": "title",
"url_field": "url",
"vector_fields": [
"contentvector"
]
}
}
}
]
}
响应:状态代码:200
{
"body": {
"id": "chatcmpl-7R1nGnsXO8n4oi9UPz2f3UHdgAYMn",
"created": 1686676106,
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "Content of the completion [doc1].",
"context": {
"citations": [
{
"content": "Citation content 2.",
"title": "Citation Title 2",
"filepath": "contoso2.txt",
"url": "https://contoso.blob.windows.net/container/contoso2.txt",
"chunk_id": "0"
}
],
"intent": "dog care"
}
}
}
],
"usage": {
"completion_tokens": 557,
"prompt_tokens": 33,
"total_tokens": 590
}
}
}
示例
为提供的 Azure Cosmos DB 创建补全。
POST https://{endpoint}/openai/deployments/{deployment-id}/chat/completions?api-version=2024-10-21
{
"messages": [
{
"role": "user",
"content": "can you tell me how to care for a dog?"
}
],
"data_sources": [
{
"type": "azure_cosmos_db",
"parameters": {
"authentication": {
"type": "connection_string",
"connection_string": "mongodb+srv://rawantest:{password}$@{cluster-name}.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
},
"database_name": "vectordb",
"container_name": "azuredocs",
"index_name": "azuredocindex",
"embedding_dependency": {
"type": "deployment_name",
"deployment_name": "{embedding deployment name}"
},
"fields_mapping": {
"content_fields": [
"content"
],
"vector_fields": [
"contentvector"
]
}
}
}
]
}
响应:状态代码:200
{
"body": {
"id": "chatcmpl-7R1nGnsXO8n4oi9UPz2f3UHdgAYMn",
"created": 1686676106,
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "Content of the completion [doc1].",
"context": {
"citations": [
{
"content": "Citation content.",
"title": "Citation Title",
"filepath": "contoso.txt",
"url": "https://contoso.blob.windows.net/container/contoso.txt",
"chunk_id": "0"
}
],
"intent": "dog care"
}
}
}
],
"usage": {
"completion_tokens": 557,
"prompt_tokens": 33,
"total_tokens": 590
}
}
}
听录 - 创建
POST https://{endpoint}/openai/deployments/{deployment-id}/audio/transcriptions?api-version=2024-10-21
将音频转录为输入语言。
URI 参数
名称 | 在 | 必需 | 类型 | 描述 |
---|---|---|---|---|
endpoint | path | 是 | string url |
支持的 Azure OpenAI 终结点(协议和主机名,例如:https://aoairesource.openai.azure.com 。将“aoairesource”替换为你的 Azure OpenAI 资源名称)。 https://{your-resource-name}.openai.azure.com |
deployment-id | path | 是 | string | Whisper 模型的部署 ID。 |
api-version | 查询 | 是 | string | API 版本 |
请求头
名称 | 必需 | 类型 | 描述 |
---|---|---|---|
api-key | True | string | 在这里提供 Azure OpenAI API 密钥 |
请求正文
内容类型:multipart/form-data
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
文件 | string | 要转录的音频文件对象。 | 是 | |
prompt | string | 用于指导模型风格或继续之前的音频片段的可选文本。 提示应与音频语言匹配。 | 否 | |
response_format | audioResponseFormat | 定义输出的格式。 | 否 | |
温度 | 数字 | 采样温度,介于 0 和 1 之间。 较高的值(如 0.8)将使输出更随机,而较小的值(如 0.2)将使输出更集中且更具确定性 如果设置为 0,则模型将使用对数概率自动升高温度,直到达到特定阈值。 | 否 | 0 |
language | string | 输入音频的语言。 以 ISO-639-1 格式提供输入语言将提高准确性并减少延迟。 | 否 |
响应
状态代码:200
说明:确定
Content-Type | 类型 | 描述 |
---|---|---|
application/json | audioResponse 或 audioVerboseResponse | |
text/plain | string | 输出格式的转录文本(当 response_format 为 text、vtt 或 srt 之一时)。 |
示例
示例
从提供的语音音频数据中获取转录的文本和关联的元数据。
POST https://{endpoint}/openai/deployments/{deployment-id}/audio/transcriptions?api-version=2024-10-21
响应:状态代码:200
{
"body": {
"text": "A structured object when requesting json or verbose_json"
}
}
示例
从提供的语音音频数据中获取转录的文本和关联的元数据。
POST https://{endpoint}/openai/deployments/{deployment-id}/audio/transcriptions?api-version=2024-10-21
"---multipart-boundary\nContent-Disposition: form-data; name=\"file\"; filename=\"file.wav\"\nContent-Type: application/octet-stream\n\nRIFF..audio.data.omitted\n---multipart-boundary--"
响应:状态代码:200
{
"type": "string",
"example": "plain text when requesting text, srt, or vtt"
}
翻译 - 创建
POST https://{endpoint}/openai/deployments/{deployment-id}/audio/translations?api-version=2024-10-21
将输入音频转录并翻译为英语文本。
URI 参数
名称 | 在 | 必需 | 类型 | 描述 |
---|---|---|---|---|
endpoint | path | 是 | string url |
支持的 Azure OpenAI 终结点(协议和主机名,例如:https://aoairesource.openai.azure.com 。将“aoairesource”替换为你的 Azure OpenAI 资源名称)。 https://{your-resource-name}.openai.azure.com |
deployment-id | path | 是 | string | 已部署 Whisper 模型的部署 ID。 |
api-version | 查询 | 是 | string | API 版本 |
请求头
名称 | 必需 | 类型 | 描述 |
---|---|---|---|
api-key | True | string | 在这里提供 Azure OpenAI API 密钥 |
请求正文
内容类型:multipart/form-data
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
文件 | string | 要翻译的音频文件。 | 是 | |
prompt | string | 用于指导模型风格或继续之前的音频片段的可选文本。 提示应为英语。 | 否 | |
response_format | audioResponseFormat | 定义输出的格式。 | 否 | |
温度 | 数字 | 采样温度,介于 0 和 1 之间。 较高的值(如 0.8)将使输出更随机,而较小的值(如 0.2)将使输出更集中且更具确定性 如果设置为 0,则模型将使用对数概率自动升高温度,直到达到特定阈值。 | 否 | 0 |
响应
状态代码:200
说明:确定
Content-Type | 类型 | 描述 |
---|---|---|
application/json | audioResponse 或 audioVerboseResponse | |
text/plain | string | 输出格式的转录文本(当 response_format 为 text、vtt 或 srt 之一时)。 |
示例
示例
从提供的语音音频数据中获取转录的英语语言文本和关联的元数据。
POST https://{endpoint}/openai/deployments/{deployment-id}/audio/translations?api-version=2024-10-21
"---multipart-boundary\nContent-Disposition: form-data; name=\"file\"; filename=\"file.wav\"\nContent-Type: application/octet-stream\n\nRIFF..audio.data.omitted\n---multipart-boundary--"
响应:状态代码:200
{
"body": {
"text": "A structured object when requesting json or verbose_json"
}
}
示例
从提供的语音音频数据中获取转录的英语语言文本和关联的元数据。
POST https://{endpoint}/openai/deployments/{deployment-id}/audio/translations?api-version=2024-10-21
"---multipart-boundary\nContent-Disposition: form-data; name=\"file\"; filename=\"file.wav\"\nContent-Type: application/octet-stream\n\nRIFF..audio.data.omitted\n---multipart-boundary--"
响应:状态代码:200
{
"type": "string",
"example": "plain text when requesting text, srt, or vtt"
}
图像生成
POST https://{endpoint}/openai/deployments/{deployment-id}/images/generations?api-version=2024-10-21
根据给定的 DALL-E 模型部署通过文本描述文字生成一批图像
URI 参数
名称 | 在 | 必需 | 类型 | 描述 |
---|---|---|---|---|
endpoint | path | 是 | string url |
支持的 Azure OpenAI 终结点(协议和主机名,例如:https://aoairesource.openai.azure.com 。将“aoairesource”替换为你的 Azure OpenAI 资源名称)。 https://{your-resource-name}.openai.azure.com |
deployment-id | path | 是 | string | 已部署的 DALL-E 模型的部署 ID。 |
api-version | 查询 | 是 | string | API 版本 |
请求头
名称 | 必需 | 类型 | 描述 |
---|---|---|---|
api-key | True | string | 在这里提供 Azure OpenAI API 密钥 |
请求正文
“内容类型”: application/json
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
prompt | string | 所需图像的文本说明。 最大长度为 4,000 个字符。 | 是 | |
n | integer | 要生成的图像数。 | 否 | 1 |
size | imageSize | 生成的图像的大小。 | 否 | 1024x1024 |
response_format | imagesResponseFormat | 返回生成图像的格式。 | 否 | url |
user | string | 表示最终用户的唯一标识符,可帮助监视和检测滥用行为。 | 否 | |
质量 | imageQuality | 将生成的图像的质量。 | 否 | standard |
style | imageStyle | 生成的图像的样式。 | 否 | vivid |
响应
状态代码:200
说明:确定
Content-Type | 类型 | 描述 |
---|---|---|
application/json | generateImagesResponse |
状态代码:默认值
说明:发生错误。
Content-Type | 类型 | 描述 |
---|---|---|
application/json | dalleErrorResponse |
示例
示例
根据提示创建图像。
POST https://{endpoint}/openai/deployments/{deployment-id}/images/generations?api-version=2024-10-21
{
"prompt": "In the style of WordArt, Microsoft Clippy wearing a cowboy hat.",
"n": 1,
"style": "natural",
"quality": "standard"
}
响应:状态代码:200
{
"body": {
"created": 1698342300,
"data": [
{
"revised_prompt": "A vivid, natural representation of Microsoft Clippy wearing a cowboy hat.",
"prompt_filter_results": {
"sexual": {
"severity": "safe",
"filtered": false
},
"violence": {
"severity": "safe",
"filtered": false
},
"hate": {
"severity": "safe",
"filtered": false
},
"self_harm": {
"severity": "safe",
"filtered": false
},
"profanity": {
"detected": false,
"filtered": false
}
},
"url": "https://dalletipusw2.blob.core.windows.net/private/images/e5451cc6-b1ad-4747-bd46-b89a3a3b8bc3/generated_00.png?se=2023-10-27T17%3A45%3A09Z&...",
"content_filter_results": {
"sexual": {
"severity": "safe",
"filtered": false
},
"violence": {
"severity": "safe",
"filtered": false
},
"hate": {
"severity": "safe",
"filtered": false
},
"self_harm": {
"severity": "safe",
"filtered": false
}
}
}
]
}
}
组件
errorResponse
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
error | error | 否 |
errorBase
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
code | string | 否 | ||
message | string | 否 |
error
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
param | string | 否 | ||
type | string | 否 | ||
inner_error | innerError | 包含其他详细信息的内部错误。 | 否 |
innerError
包含其他详细信息的内部错误。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
code | innerErrorCode | 内部错误对象的错误代码。 | 否 | |
content_filter_results | contentFilterPromptResults | 有关内容筛选类别(hate、sexual、violence、self_harm)的信息(如果检测到),及严重性级别(very_low、low、medium、high-scale,用于确定有害内容的强度和风险级别),以及内容是否已筛选。 有关越狱内容和亵渎内容的信息(如果检测到),以及是否已筛选。 以及有关客户阻止列表的信息(如果已筛选)及其 ID。 | 否 |
innerErrorCode
内部错误对象的错误代码。
说明:内部错误对象的错误代码。
类型:string
默认:
枚举名称:InnerErrorCode
枚举值:
值 | 说明 |
---|---|
ResponsibleAIPolicyViolation | 提示违反了其他内容筛选器规则之一。 |
dalleErrorResponse
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
error | dalleError | 否 |
dalleError
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
param | string | 否 | ||
type | string | 否 | ||
inner_error | dalleInnerError | 包含其他详细信息的内部错误。 | 否 |
dalleInnerError
包含其他详细信息的内部错误。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
code | innerErrorCode | 内部错误对象的错误代码。 | 否 | |
content_filter_results | dalleFilterResults | 有关内容筛选类别(hate、sexual、violence、self_harm)的信息(如果检测到),及严重性级别(very_low、low、medium、high-scale,用于确定有害内容的强度和风险级别),以及内容是否已筛选。 有关越狱内容和亵渎内容的信息(如果检测到),以及是否已筛选。 以及有关客户阻止列表的信息(如果已筛选)及其 ID。 | 否 | |
revised_prompt | string | 用于生成图像的提示(如果有对提示的任何修订)。 | 否 |
contentFilterResultBase
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
filtered | boolean | 是 |
contentFilterSeverityResult
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
filtered | boolean | 是 | ||
severity | string | 否 |
contentFilterDetectedResult
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
filtered | boolean | 是 | ||
detected | boolean | 否 |
contentFilterDetectedWithCitationResult
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
citation | object | 否 |
citation 的属性
URL
名称 | Type | 描述 | 默认 |
---|---|---|---|
URL | string |
license
名称 | Type | 描述 | 默认 |
---|---|---|---|
license | string |
contentFilterResultsBase
有关内容筛选结果的信息。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
sexual | contentFilterSeverityResult | 否 | ||
violence | contentFilterSeverityResult | 否 | ||
hate | contentFilterSeverityResult | 否 | ||
self_harm | contentFilterSeverityResult | 否 | ||
profanity | contentFilterDetectedResult | 否 | ||
error | errorBase | 否 |
contentFilterPromptResults
有关内容筛选类别(hate、sexual、violence、self_harm)的信息(如果检测到),及严重性级别(very_low、low、medium、high-scale,用于确定有害内容的强度和风险级别),以及内容是否已筛选。 有关越狱内容和亵渎内容的信息(如果检测到),以及是否已筛选。 以及有关客户阻止列表的信息(如果已筛选)及其 ID。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
sexual | contentFilterSeverityResult | 否 | ||
violence | contentFilterSeverityResult | 否 | ||
hate | contentFilterSeverityResult | 否 | ||
self_harm | contentFilterSeverityResult | 否 | ||
profanity | contentFilterDetectedResult | 否 | ||
error | errorBase | 否 | ||
越狱 | contentFilterDetectedResult | 否 |
contentFilterChoiceResults
有关内容筛选类别(hate、sexual、violence、self_harm)的信息(如果检测到),及严重性级别(very_low、low、medium、high-scale,用于确定有害内容的强度和风险级别),以及内容是否已筛选。 有关第三方文本和亵渎内容的信息(如果检测到),以及是否已筛选。 以及有关客户阻止列表的信息(如果已筛选)及其 ID。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
sexual | contentFilterSeverityResult | 否 | ||
violence | contentFilterSeverityResult | 否 | ||
hate | contentFilterSeverityResult | 否 | ||
self_harm | contentFilterSeverityResult | 否 | ||
profanity | contentFilterDetectedResult | 否 | ||
error | errorBase | 否 | ||
protected_material_text | contentFilterDetectedResult | 否 | ||
protected_material_code | contentFilterDetectedWithCitationResult | 否 |
promptFilterResult
请求中单个提示的内容筛选结果。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
prompt_index | integer | 否 | ||
content_filter_results | contentFilterPromptResults | 有关内容筛选类别(hate、sexual、violence、self_harm)的信息(如果检测到),及严重性级别(very_low、low、medium、high-scale,用于确定有害内容的强度和风险级别),以及内容是否已筛选。 有关越狱内容和亵渎内容的信息(如果检测到),以及是否已筛选。 以及有关客户阻止列表的信息(如果已筛选)及其 ID。 | 否 |
promptFilterResults
请求中零个或多个提示的内容筛选结果。 在流式处理请求中,不同提示的结果可能以不同的时间或不同的顺序到达。
未为此组件定义任何属性。
dalleContentFilterResults
有关内容筛选结果的信息。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
sexual | contentFilterSeverityResult | 否 | ||
violence | contentFilterSeverityResult | 否 | ||
hate | contentFilterSeverityResult | 否 | ||
self_harm | contentFilterSeverityResult | 否 |
dalleFilterResults
有关内容筛选类别(hate、sexual、violence、self_harm)的信息(如果检测到),及严重性级别(very_low、low、medium、high-scale,用于确定有害内容的强度和风险级别),以及内容是否已筛选。 有关越狱内容和亵渎内容的信息(如果检测到),以及是否已筛选。 以及有关客户阻止列表的信息(如果已筛选)及其 ID。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
sexual | contentFilterSeverityResult | 否 | ||
violence | contentFilterSeverityResult | 否 | ||
hate | contentFilterSeverityResult | 否 | ||
self_harm | contentFilterSeverityResult | 否 | ||
profanity | contentFilterDetectedResult | 否 | ||
越狱 | contentFilterDetectedResult | 否 |
chatCompletionsRequestCommon
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
温度 | 数字 | 要使用的采样温度,介于 0 和 2 之间。 较高的值(如 0.8)将使输出更随机,而较小的值(如 0.2)将使输出更集中且更具确定性 我们通常建议更改此设置或 top_p ,但不要同时更改两者。 |
否 | 1 |
top_p | 数字 | 温度采样的替代方法,称为核采样,其中模型考虑具有 top_p 概率质量的令牌的结果。 所以 0.1 意味着只考虑包含前 10% 概率质量的令牌。 我们通常建议更改此设置或 temperature ,但不要同时更改两者。 |
否 | 1 |
流 (stream) | boolean | 如果设置此选项,将发送部分消息增量,如在 ChatGPT 中一样。 令牌将在可用时作为服务器发送的事件发送(内容仅包括数据),并且流式传输将由 data: [DONE] 消息终止。 |
否 | False |
stop | 字符串或数组 | 最多四个序列,其中 API 将停止生成进一步的令牌。 | 否 | |
max_tokens | integer | 生成的答案允许的最大令牌数。 默认情况下,模型可返回的标记数将为(4096 - 提示标记)。 此值现已弃用,并由 max_completion_tokens 替代,而且与 o1 系列模型不兼容。 |
否 | 4096 |
max_completion_tokens | integer | 可为完成生成的令牌数的上限,包括可见的输出令牌和推理令牌。 | 否 | |
presence_penalty | 数字 | 介于 -2.0 和 2.0 之间的数字。 正值会根据它们到目前为止是否在文本中出现来惩罚新令牌,从而增加模型谈论新话题的可能性。 | 否 | 0 |
frequency_penalty | 数字 | 介于 -2.0 和 2.0 之间的数字。 正值会根据它们到目前为止在文本中的现有频率来惩罚新令牌,从而降低模型逐字重复同一行的可能性。 | 否 | 0 |
logit_bias | object | 修改指定令牌在完成中出现的可能性。 接受 json 对象,该对象将标记(由 tokenizer 中的标记 ID 指定)映射到从 -100 到 100 的相关偏差值。 在数学上,采样之前会将偏差添加到由模型生成的 logit 中。 具体效果因模型而异,但 -1 和 1 之间的值会减少或增加选择的可能性;-100 或 100 等值会导致相关令牌的禁止或独占选择。 | 否 | |
user | string | 表示最终用户的唯一标识符,可帮助 Azure OpenAI 监视和检测滥用行为。 | 否 |
createCompletionRequest
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
prompt | 字符串或数组 | 要生成补全的提示,以字符串、字符串数组、标记数组或标记数组的数组的形式编码。 请注意,<|endoftext|> 是模型在训练期间看到的文档分隔符,因此如果未指定提示,则模型将像从新文档的开头一样生成。 |
是 | |
best_of | integer | 在服务器端生成 best_of 补全并返回“最佳”项(每个标记的对数概率最高的项)。 无法流式传输结果。与 n 一起使用时,best_of 控制着候选补全数,n 指定返回的补全数 - best_of 必须大于 n 。注意:由于此参数会生成许多补全,因此可能会快速消耗你的标记配额。 谨慎使用并确保对 max_tokens 和 stop 进行了合理的设置。 |
否 | 1 |
echo | boolean | 除了完成之外,还回显提示 |
否 | False |
frequency_penalty | 数字 | 介于 -2.0 和 2.0 之间的数字。 正值会根据它们到目前为止在文本中的现有频率来惩罚新令牌,从而降低模型逐字重复同一行的可能性。 |
否 | 0 |
logit_bias | object | 修改指定令牌在完成中出现的可能性。 接受 JSON 对象,该对象将标记(由其在 GPT tokenizer 中的标记 ID 指定)映射到一个 -100 到 100 之间的关联偏差值。 在数学上,采样之前会将偏差添加到由模型生成的 logit 中。 具体效果因模型而异,但 -1 和 1 之间的值会减少或增加选择的可能性;-100 或 100 等值会导致相关令牌的禁止或独占选择。 例如,可以传递 {"50256": -100} 以防止生成 <|endoftext|> 标记。 |
否 | 无 |
logprobs | integer | 包含有关 logprobs 最有可能的输出标记和已选择的标记的对数概率。 例如,如果 logprobs 为 5,则 API 将返回包含五个最有可能的令牌的列表。 API 将始终返回采样令牌的 logprob ,因此响应中可能最多包含 logprobs+1 个元素。logprobs 的最大值是 5。 |
否 | 无 |
max_tokens | integer | 可以在补全时生成的最大令牌数。 提示加上 max_tokens 的令牌计数不能超过模型的上下文长度。 |
否 | 16 |
n | integer | 要为每个提示生成的完成数。 注意:由于此参数会生成许多补全,因此可能会快速消耗你的标记配额。 谨慎使用并确保对 max_tokens 和 stop 进行了合理的设置。 |
否 | 1 |
presence_penalty | 数字 | 介于 -2.0 和 2.0 之间的数字。 正值会根据它们到目前为止是否在文本中出现来惩罚新令牌,从而增加模型谈论新话题的可能性。 |
否 | 0 |
seed | integer | 指定后,我们的系统将尽最大努力进行确定性采样,以便具有相同 seed 和参数的重复请求应返回相同的结果。无法保证确定性,你应参考 system_fingerprint 响应参数来监视后端的更改。 |
否 | |
stop | 字符串或数组 | 最多四个序列,其中 API 将停止生成进一步的令牌。 返回的文本不包含停止序列。 |
否 | |
流 (stream) | boolean | 是否流式传输回部分进度。 如果已设置,令牌将在可用时作为仅限数据的服务器发送的事件发送,并且流式传输由 data: [DONE] 消息终止。 |
否 | False |
suffix | string | 插入的文本完成后的后缀。 此参数仅支持 gpt-3.5-turbo-instruct 。 |
否 | 无 |
温度 | 数字 | 要使用的采样温度,介于 0 和 2 之间。 较高的值(如 0.8)将使输出更随机,而较小的值(如 0.2)将使输出更集中且更具确定性 我们通常建议更改此设置或 top_p ,但不要同时更改两者。 |
否 | 1 |
top_p | 数字 | 温度采样的替代方法,称为核采样,其中模型考虑具有 top_p 概率质量的令牌的结果。 所以 0.1 意味着只考虑包含前 10% 概率质量的令牌。 我们通常建议更改此设置或 temperature ,但不要同时更改两者。 |
否 | 1 |
user | string | 表示最终用户的唯一标识符,可帮助监视和检测滥用行为。 |
否 |
createCompletionResponse
表示来自 API 的补全响应。 注意:流式处理和非流式处理响应对象共享相同的形状(与聊天终结点不同)。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
id | string | 完成的唯一标识符。 | 是 | |
choices | array | 为输入提示生成的模型完成选项的列表。 | 是 | |
created | integer | 创建完成时间的 Unix 时间戳(以秒为单位)。 | 是 | |
模型 | string | 用于补全的模型。 | 是 | |
prompt_filter_results | promptFilterResults | 请求中零个或多个提示的内容筛选结果。 在流式处理请求中,不同提示的结果可能以不同的时间或不同的顺序到达。 | 否 | |
system_fingerprint | string | 这个指纹表示模型运行的后端配置。 可以与 seed 请求参数一起使用,以了解何时进行了可能影响确定性的后端更改。 |
否 | |
object | enum | 对象类型,始终为“text_completion”。 可能的值:text_completion |
是 | |
使用情况 | completionUsage | 完成请求的使用情况统计信息。 | 否 |
createChatCompletionRequest
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
温度 | 数字 | 要使用的采样温度,介于 0 和 2 之间。 较高的值(如 0.8)将使输出更随机,而较小的值(如 0.2)将使输出更集中且更具确定性 我们通常建议更改此设置或 top_p ,但不要同时更改两者。 |
否 | 1 |
top_p | 数字 | 温度采样的替代方法,称为核采样,其中模型考虑具有 top_p 概率质量的令牌的结果。 所以 0.1 意味着只考虑包含前 10% 概率质量的令牌。 我们通常建议更改此设置或 temperature ,但不要同时更改两者。 |
否 | 1 |
流 (stream) | boolean | 如果设置此选项,将发送部分消息增量,如在 ChatGPT 中一样。 词元将在可用时作为服务器发送的事件发送(内容仅包括数据),并且流式传输将由 data: [DONE] 消息终止。 |
否 | False |
stop | 字符串或数组 | 最多四个序列,其中 API 将停止生成进一步的令牌。 |
否 | |
max_tokens | integer | 可以在聊天补全时生成的最大词元数。 输入词元和生成的词元的总长度受模型上下文长度的限制。 |
否 | |
max_completion_tokens | integer | 可为完成生成的令牌数的上限,包括可见的输出令牌和推理令牌。 | 否 | |
presence_penalty | 数字 | 介于 -2.0 和 2.0 之间的数字。 正值会根据它们到目前为止是否在文本中出现来惩罚新令牌,从而增加模型谈论新话题的可能性。 |
否 | 0 |
frequency_penalty | 数字 | 介于 -2.0 和 2.0 之间的数字。 正值会根据它们到目前为止在文本中的现有频率来惩罚新令牌,从而降低模型逐字重复同一行的可能性。 |
否 | 0 |
logit_bias | object | 修改指定令牌在完成中出现的可能性。 接受 JSON 对象,该对象将标记(由 tokenizer 中的标记 ID 指定)映射到从 -100 到 100 的相关偏差值。 在数学上,采样之前会将偏差添加到由模型生成的 logit 中。 具体效果因模型而异,但 -1 和 1 之间的值会减少或增加选择的可能性;-100 或 100 等值会导致相关令牌的禁止或独占选择。 |
否 | 无 |
user | string | 表示最终用户的唯一标识符,可帮助监视和检测滥用行为。 |
否 | |
messages | array | 包含到目前为止的对话的消息列表。 | 是 | |
data_sources | array | 使用它们的 Azure OpenAI 聊天扩展的配置条目。 此附加规范仅与 Azure OpenAI 兼容。 |
否 | |
logprobs | boolean | 是否返回输出令牌的对数概率。 如果为 true,则返回在 message 的 content 中返回的每个输出令牌的对数概率。 |
否 | False |
top_logprobs | integer | 一个介于 0 和 20 之间的整数,指定在每个标记位置最有可能返回的的标记数,每个都有关联的对数概率。 如果使用此参数,则必须将 logprobs 设置为 true 。 |
否 | |
n | integer | 要为每个输入消息生成的聊天完成选项数。 请注意,将根据所有选项中生成的标记数向你收费。 将 n 保留为 1 以尽量降低成本。 |
否 | 1 |
parallel_tool_calls | ParallelToolCalls | 是否在工具使用期间启用并行函数调用。 | 否 | True |
response_format | ResponseFormatText 或 ResponseFormatJsonObject 或 ResponseFormatJsonSchema | 一个对象,指定模型必须输出的格式。 与 GPT-4o、GPT-4o mini、GPT-4 Turbo 和高于 gpt-3.5-turbo-1106 的所有 GPT-3.5 Turbo 模型兼容。设置为 { "type": "json_schema", "json_schema": {...} } 将启用结构化输出,它可保证模型与你提供的 JSON 架构匹配。设置为 { "type": "json_object" } 可启用 JSON 模式,这可以保证模型生成的消息是有效的 JSON。重要提示:使用 JSON 模式时,还必须使用系统或用户消息指示模型自行生成 JSON。 如果没有此项,则模型可能会生成一个无限的空白流,直到生成达到令牌限制,从而生成长期运行且似乎“卡滞”的请求。 另请注意,如果使用 finish_reason="length" ,则消息内容可能会部分截断,这表示生成超过了 max_tokens ,或者对话超过了最大上下文长度。 |
否 | |
seed | integer | 此功能以 Beta 版本提供。 指定后,我们的系统将尽最大努力进行确定性采样,以便具有相同 seed 和参数的重复请求应返回相同的结果。无法保证确定性,你应参考 system_fingerprint 响应参数来监视后端的更改。 |
否 | |
工具 | array | 模型可能调用的工具列表。 目前,仅支持函数作为工具。 使用它可以提供函数列表,模型可能为其生成 JSON 输入。 最多支持 128 个函数。 |
否 | |
tool_choice | chatCompletionToolChoiceOption | 控制模型调用哪些工具(如有)。 none 表示模型不会调用任何工具,而是生成消息。 auto 表示模型可以在生成消息和调用一个或多个工具之间进行选择。 required 表示模型必须调用一个或多个工具。 通过 {"type": "function", "function": {"name": "my_function"}} 指定特定工具将强制模型调用该工具。 如果没有工具,则 none 为默认值。 如果存在工具,则 auto 为默认值。 |
否 | |
function_call | 字符串或 chatCompletionFunctionCallOption | 已弃用,改用 tool_choice 。控制模型调用的函数(如有)。 none 表示模型不会调用函数,而是生成消息。auto 表示模型可以在生成消息和调用函数之间进行选择。通过 {"name": "my_function"} 指定特定函数会强制模型调用该函数。当不存在任何函数时,默认值为 none 。 如果存在函数,则 auto 是默认值。 |
否 | |
functions | array | 弃用了,改用 tools 。模型可能为其生成 JSON 输入的函数的列表。 |
否 |
chatCompletionFunctions
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
description | string | 函数作用的描述,由模型用于选择何时以及如何调用函数。 | 否 | |
name | string | 要调用的函数的名称。 必须是 a-z、A-z、0-9,或包含下划线和短划线,最大长度为 64。 | 是 | |
parameters | FunctionParameters | 函数接受的参数,被描述为 JSON 架构对象。 请参阅指南](/azure/ai-services/openai/how-to/function-calling) 查看示例,参阅 JSON 架构参考查看有关格式的文档。 省略 parameters 会定义具有空参数列表的函数。 |
否 |
chatCompletionFunctionCallOption
通过 {"name": "my_function"}
指定特定函数会强制模型调用该函数。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
name | string | 要调用的函数名称。 | 是 |
chatCompletionRequestMessage
此组件可以是下列组件之一:
chatCompletionRequestSystemMessage
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
content | 字符串或数组 | 系统消息的内容。 | 是 | |
role | enum | 消息作者的角色,在本例中为 system 。可能的值:系统 |
是 | |
名称 | string | 参与者的可选名称。 提供模型信息,以区分同一角色的参与者。 | 否 |
chatCompletionRequestUserMessage
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
content | 字符串或数组 | 用户消息的内容。 |
是 | |
role | enum | 消息作者的角色,在本例中为 user 。可能的值:用户 |
是 | |
名称 | string | 参与者的可选名称。 提供模型信息,以区分同一角色的参与者。 | 否 |
chatCompletionRequestAssistantMessage
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
content | 字符串或数组 | 助手消息的内容。 除非指定了 tool_calls 或 function_call ,否则是必需的。 |
否 | |
拒绝 | string | 助手发出的拒绝消息。 | 否 | |
role | enum | 消息作者的角色,在本例中为 assistant 。可能的值:助手 |
是 | |
名称 | string | 参与者的可选名称。 提供模型信息,以区分同一角色的参与者。 | 否 | |
tool_calls | chatCompletionMessageToolCalls | 模型生成的工具调用,例如函数调用。 | 否 | |
function_call | object | 已弃用并替换为 tool_calls 。 应调用的函数的名称和参数,由模型生成。 |
否 |
function_call 的属性
参数
名称 | Type | 描述 | 默认 |
---|---|---|---|
参数 | string | 用于调用函数的参数,由模型以 JSON 格式生成。 请注意,该模型并非始终生成有效的 JSON,并且可能会生成未由函数架构定义的参数。 在调用函数之前验证代码中的参数。 |
name
名称 | Type | 描述 | 默认 |
---|---|---|---|
name | string | 要调用的函数名称。 |
chatCompletionRequestToolMessage
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
role | enum | 消息作者的角色,在本例中为 tool 。可能的值:工具 |
是 | |
内容 | 字符串或数组 | 工具消息的内容。 | 是 | |
tool_call_id | string | 此消息正在响应的工具调用。 | 是 |
chatCompletionRequestFunctionMessage
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
role | enum | 消息作者的角色,在本例中为 function 。可能的值:function |
是 | |
内容 | string | 函数消息的内容。 | 是 | |
名称 | string | 要调用的函数名称。 | 是 |
chatCompletionRequestSystemMessageContentPart
此组件可以是下列组件之一:
chatCompletionRequestUserMessageContentPart
此组件可以是下列组件之一:
chatCompletionRequestAssistantMessageContentPart
此组件可以是下列组件之一:
chatCompletionRequestToolMessageContentPart
此组件可以是下列组件之一:
chatCompletionRequestMessageContentPartText
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
type | enum | 内容部件的类型。 可能的值:文本 |
是 | |
text | string | 文本内容。 | 是 |
chatCompletionRequestMessageContentPartImage
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
type | enum | 内容部件的类型。 可能的值:image_url |
是 | |
image_url | object | 是 |
image_url 的属性
url
名称 | Type | 描述 | 默认 |
---|---|---|---|
url | string | 图像的 URL 或 base64 编码的图像数据。 |
detail
名称 | Type | 描述 | 默认 |
---|---|---|---|
detail | string | 指定图像的详细信息级别。 在视觉指南中了解详细信息。 | auto |
chatCompletionRequestMessageContentPartRefusal
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
type | enum | 内容部件的类型。 可能的值:拒绝 |
是 | |
拒绝 | string | 模型生成的拒绝消息。 | 是 |
azureChatExtensionConfiguration
单个 Azure OpenAI 聊天扩展的配置数据的表示形式。 这将由聊天补全请求使用,该请求应使用 Azure OpenAI 聊天扩展来增强响应行为。 使用此配置仅与 Azure OpenAI 兼容。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
type | azureChatExtensionType | 单个 Azure OpenAI 聊天扩展的配置数据的表示形式。 这将由聊天补全请求使用, 该请求应使用 Azure OpenAI 聊天扩展来增强响应行为。 使用此配置仅与 Azure OpenAI 兼容。 |
是 |
azureChatExtensionType
单个 Azure OpenAI 聊天扩展的配置数据的表示形式。 这将由聊天补全请求使用,该请求应使用 Azure OpenAI 聊天扩展来增强响应行为。 使用此配置仅与 Azure OpenAI 兼容。
说明:单个 Azure OpenAI 聊天扩展的配置数据的表示形式。 这将由聊天补全请求使用,该请求应使用 Azure OpenAI 聊天扩展来增强响应行为。 使用此配置仅与 Azure OpenAI 兼容。
类型:string
默认:
枚举名称:AzureChatExtensionType
枚举值:
值 | 说明 |
---|---|
azure_search | 表示将 Azure 认知搜索用作 Azure OpenAI 聊天扩展。 |
azure_cosmos_db | 表示将 Azure Cosmos DB 用作 Azure OpenAI 聊天扩展。 |
azureSearchChatExtensionConfiguration
将 Azure 认知搜索用作 Azure OpenAI 聊天扩展时可配置选项的特定表示形式。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
type | azureChatExtensionType | 单个 Azure OpenAI 聊天扩展的配置数据的表示形式。 这将由聊天补全请求使用, 该请求应使用 Azure OpenAI 聊天扩展来增强响应行为。 使用此配置仅与 Azure OpenAI 兼容。 |
是 | |
parameters | azureSearchChatExtensionParameters | 用作 Azure OpenAI 聊天扩展时 Azure 认知搜索的参数。 | 否 |
azureSearchChatExtensionParameters
用作 Azure OpenAI 聊天扩展时 Azure 认知搜索的参数。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
authentication | onYourDataApiKeyAuthenticationOptions 或 onYourDataSystemAssignedManagedIdentityAuthenticationOptions 或 onYourDataUserAssignedManagedIdentityAuthenticationOptions | 是 | ||
top_n_documents | integer | 为配置的查询提供的已配置最多文档数。 | 否 | |
in_scope | boolean | 是否应将查询限制为使用索引数据。 | 否 | |
strictness | integer | 搜索相关性筛选的已配置严格性。 严格度越高,精准率越高,但回复的召回率越低。 | 否 | |
role_information | string | 为模型提供有关它应该如何运行以及在生成回复时应引用的任何上下文的说明。 你可以描述助手的个性,告诉它如何设置回复的格式。 存在 100 个令牌的限制,并将计入整体令牌限制。 | 否 | |
endpoint | string | 要使用的 Azure 认知搜索资源的绝对终结点路径。 | 是 | |
index_name | string | 在引用的 Azure 认知搜索资源中可供使用的索引的名称。 | 是 | |
fields_mapping | azureSearchIndexFieldMappingOptions | 用于控制使用配置的 Azure 认知搜索资源时如何处理字段的可选设置。 | 否 | |
query_type | azureSearchQueryType | 在将其用作 Azure OpenAI 聊天扩展时应执行的 Azure 认知搜索检索查询的类型。 | 否 | |
semantic_configuration | string | 查询的附加语义配置。 | 否 | |
filter | string | 搜索筛选器。 | 否 | |
embedding_dependency | onYourDataEndpointVectorizationSource 或 onYourDataDeploymentNameVectorizationSource | 否 |
azureSearchIndexFieldMappingOptions
用于控制使用配置的 Azure 认知搜索资源时如何处理字段的可选设置。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
title_field | string | 要用作标题的索引字段的名称。 | 否 | |
url_field | string | 要用作 URL 的索引字段的名称。 | 否 | |
filepath_field | string | 要用作文件路径的索引字段的名称。 | 否 | |
content_fields | array | 应被视为内容的索引字段的名称。 | 否 | |
content_fields_separator | string | 内容字段应使用的分隔符模式。 | 否 | |
vector_fields | array | 表示矢量数据的字段的名称。 | 否 |
azureSearchQueryType
在将其用作 Azure OpenAI 聊天扩展时应执行的 Azure 认知搜索检索查询的类型。
说明:在将其用作 Azure OpenAI 聊天扩展时应执行的 Azure 认知搜索检索查询的类型。
类型:string
默认:
枚举名称:AzureSearchQueryType
枚举值:
值 | 说明 |
---|---|
简单 | 表示默认的简单查询分析程序。 |
语义 | 表示用于高级语义建模的语义查询分析程序。 |
vector | 表示对计算数据的矢量搜索。 |
vector_simple_hybrid | 表示简单查询策略与矢量数据的组合。 |
vector_semantic_hybrid | 表示语义搜索和矢量数据查询的组合。 |
azureCosmosDBChatExtensionConfiguration
将 Azure Cosmos DB 用作 Azure OpenAI 聊天扩展时可配置选项的特定表示形式。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
type | azureChatExtensionType | 单个 Azure OpenAI 聊天扩展的配置数据的表示形式。 这将由聊天补全请求使用, 该请求应使用 Azure OpenAI 聊天扩展来增强响应行为。 使用此配置仅与 Azure OpenAI 兼容。 |
是 | |
parameters | azureCosmosDBChatExtensionParameters | 使用 Azure Cosmos DB for MongoDB vCore 配置基于自有数据的 Azure OpenAI 聊天扩展时 要使用的参数。 |
否 |
azureCosmosDBChatExtensionParameters
使用 Azure Cosmos DB for MongoDB vCore 配置基于自有数据的 Azure OpenAI 聊天扩展时要使用的参数。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
authentication | onYourDataConnectionStringAuthenticationOptions | 使用连接字符串时,基于自有数据的 Azure OpenAI 的验证选项。 | 是 | |
top_n_documents | integer | 为配置的查询提供的已配置最多文档数。 | 否 | |
in_scope | boolean | 是否应将查询限制为使用索引数据。 | 否 | |
strictness | integer | 搜索相关性筛选的已配置严格性。 严格度越高,精准率越高,但回复的召回率越低。 | 否 | |
role_information | string | 为模型提供有关它应该如何运行以及在生成回复时应引用的任何上下文的说明。 你可以描述助手的个性,告诉它如何设置回复的格式。 存在 100 个令牌的限制,并将计入整体令牌限制。 | 否 | |
database_name | string | 用于 Azure Cosmos DB 的 MongoDB vCore 数据库名称。 | 是 | |
container_name | string | Azure Cosmos DB 资源容器的名称。 | 是 | |
index_name | string | 用于 Azure Cosmos DB 的 MongoDB vCore 索引名称。 | 是 | |
fields_mapping | azureCosmosDBFieldMappingOptions | 用于控制使用配置的 Azure Cosmos DB 资源时如何处理字段的可选设置。 | 是 | |
embedding_dependency | onYourDataEndpointVectorizationSource 或 onYourDataDeploymentNameVectorizationSource | 是 |
azureCosmosDBFieldMappingOptions
用于控制使用配置的 Azure Cosmos DB 资源时如何处理字段的可选设置。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
title_field | string | 要用作标题的索引字段的名称。 | 否 | |
url_field | string | 要用作 URL 的索引字段的名称。 | 否 | |
filepath_field | string | 要用作文件路径的索引字段的名称。 | 否 | |
content_fields | array | 应被视为内容的索引字段的名称。 | 是 | |
content_fields_separator | string | 内容字段应使用的分隔符模式。 | 否 | |
vector_fields | array | 表示矢量数据的字段的名称。 | 是 |
onYourDataAuthenticationOptions
基于自有数据的 Azure OpenAI 的身份验证选项。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
type | onYourDataAuthenticationType | 基于自有数据的 Azure OpenAI 支持的身份验证类型。 | 是 |
onYourDataAuthenticationType
基于自有数据的 Azure OpenAI 支持的身份验证类型。
说明:基于自有数据的 Azure OpenAI 支持的身份验证类型。
类型:string
默认:
枚举名称:OnYourDataAuthenticationType
枚举值:
值 | 说明 |
---|---|
api_key | 通过 API 密钥进行身份验证。 |
connection_string | 通过连接字符串进行身份验证。 |
system_assigned_managed_identity | 通过系统分配的托管标识进行身份验证。 |
user_assigned_managed_identity | 通过用户分配的托管标识进行身份验证。 |
onYourDataApiKeyAuthenticationOptions
使用 API 密钥时,基于自有数据的 Azure OpenAI 的验证选项。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
type | onYourDataAuthenticationType | 基于自有数据的 Azure OpenAI 支持的身份验证类型。 | 是 | |
key | string | 用于身份验证的 API 密钥。 | 否 |
onYourDataConnectionStringAuthenticationOptions
使用连接字符串时,基于自有数据的 Azure OpenAI 的验证选项。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
type | onYourDataAuthenticationType | 基于自有数据的 Azure OpenAI 支持的身份验证类型。 | 是 | |
connection_string | string | 用于身份验证的连接字符串。 | 否 |
onYourDataSystemAssignedManagedIdentityAuthenticationOptions
使用系统分配的托管标识时,基于自有数据的 Azure OpenAI 的验证选项。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
type | onYourDataAuthenticationType | 基于自有数据的 Azure OpenAI 支持的身份验证类型。 | 是 |
onYourDataUserAssignedManagedIdentityAuthenticationOptions
使用用户分配的托管标识时,基于自有数据的 Azure OpenAI 的验证选项。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
type | onYourDataAuthenticationType | 基于自有数据的 Azure OpenAI 支持的身份验证类型。 | 是 | |
managed_identity_resource_id | string | 用于进行身份验证的用户分配托管标识的资源 ID。 | 否 |
onYourDataVectorizationSource
使用矢量搜索的基于自有数据的 Azure OpenAI 的矢量化源的抽象表示形式。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
type | onYourDataVectorizationSourceType | 表示基于自有数据的 Azure OpenAI 可用于配置用于矢量搜索的矢量化数据的 可用源。 |
是 |
onYourDataVectorizationSourceType
表示基于自有数据的 Azure OpenAI 可用于配置用于矢量搜索的矢量化数据的可用源。
说明:表示基于自有数据的 Azure OpenAI 可用于配置用于矢量搜索的矢量化数据的
可用源。
类型:string
默认:
枚举名称:OnYourDataVectorizationSourceType
枚举值:
值 | 说明 |
---|---|
endpoint | 表示通过对 Azure OpenAI 嵌入模型的公共服务调用执行的矢量化。 |
deployment_name | 表示要使用的 Ada 模型部署名称。 此模型部署必须位于同一 Azure OpenAI 资源中,但 基于自有数据将通过内部调用(而不是公共调用)使用此模型部署,这使得 即使在专用网络中也可以进行矢量搜索。 |
onYourDataDeploymentNameVectorizationSource
应用矢量搜索时基于自有数据的 Azure OpenAI 使用的矢量化源的详细信息,此矢量化源基于同一 Azure OpenAI 资源中的内部嵌入模型部署名称。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
type | onYourDataVectorizationSourceType | 表示基于自有数据的 Azure OpenAI 可用于配置用于矢量搜索的矢量化数据的 可用源。 |
是 | |
deployment_name | string | 指定要用于矢量化的模型部署的名称。 此模型部署必须位于同一 Azure OpenAI 资源中,但基于自有数据将通过内部调用(而不是公共调用)使用此模型部署,从而即使在专用网络中也能实现矢量搜索。 | 否 |
onYourDataEndpointVectorizationSource
应用矢量搜索时 Azure OpenAI On Your Data 使用的矢量化源的详细信息,此矢量化源基于用于嵌入的公共 Azure OpenAI 终结点调用。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
type | onYourDataVectorizationSourceType | 表示基于自有数据的 Azure OpenAI 可用于配置用于矢量搜索的矢量化数据的 可用源。 |
是 | |
authentication | onYourDataApiKeyAuthenticationOptions | 使用 API 密钥时,基于自有数据的 Azure OpenAI 的验证选项。 | 否 | |
endpoint | string | 指定要用于矢量化的终结点。 此终结点必须位于同一 Azure OpenAI 资源中,但 On Your Data 将通过内部调用而不是公共调用使用此终结点,从而即使在专用网络中也能实现矢量搜索。 | 否 |
azureChatExtensionsMessageContext
当 Azure OpenAI 聊天扩展涉及到生成相应的聊天补全响应时可用的其他上下文信息的表示形式。 仅当使用配置为使用匹配扩展的 Azure OpenAI 请求时,才会填充此上下文信息。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
citations | array | 数据源检索结果,用于在响应中生成助手消息。 | 否 | |
意向 | string | 聊天历史记录中检测到的意向,用于传递到下一轮,以传递上下文。 | 否 |
citation
聊天补全响应消息的引文信息。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
content | string | 引文的内容。 | 是 | |
title | string | 引文的标题。 | 否 | |
url | string | 引文的 URL。 | 否 | |
filepath | string | 引文的文件路径。 | 否 | |
chunk_id | string | 引文的区块 ID。 | 否 |
chatCompletionMessageToolCall
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
id | string | 工具调用的 ID。 | 是 | |
type | toolCallType | 工具调用的类型,在本例中为 function 。 |
是 | |
function | object | 模型调用的函数。 | 是 |
function 的属性
name
名称 | Type | 描述 | 默认 |
---|---|---|---|
name | string | 要调用的函数名称。 |
参数
名称 | Type | 描述 | 默认 |
---|---|---|---|
参数 | string | 用于调用函数的参数,由模型以 JSON 格式生成。 请注意,该模型并非始终生成有效的 JSON,并且可能会生成未由函数架构定义的参数。 在调用函数之前验证代码中的参数。 |
toolCallType
工具调用的类型,在本例中为 function
。
说明:工具调用的类型,在本例中为 function
。
类型:string
默认:
枚举名称:ToolCallType
枚举值:
值 | 说明 |
---|---|
function | 工具调用类型为 function。 |
chatCompletionRequestMessageTool
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
tool_call_id | string | 此消息正在响应的工具调用。 | 否 | |
content | string | 消息的内容。 | 否 |
chatCompletionRequestMessageFunction
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
role | enum | 消息作者的角色,在本例中为 function 。可能的值:function |
否 | |
name | string | 消息的内容。 | 否 | |
content | string | 消息的内容。 | 否 |
createChatCompletionResponse
表示模型根据提供的输入返回的聊天补全响应。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
id | string | 聊天补全的唯一标识符。 | 是 | |
prompt_filter_results | promptFilterResults | 请求中零个或多个提示的内容筛选结果。 在流式处理请求中,不同提示的结果可能以不同的时间或不同的顺序到达。 | 否 | |
choices | array | 聊天完成选项的列表。 如果 n 大于 1,则可以具备多个角色。 |
是 | |
created | integer | 聊天补全创建时间的 Unix 时间戳(以秒为单位)。 | 是 | |
模型 | string | 用于聊天补全的模型。 | 是 | |
system_fingerprint | string | 这个指纹表示模型运行的后端配置。 可以与 seed 请求参数一起使用,以了解何时进行了可能影响确定性的后端更改。 |
否 | |
object | enum | 始终为 chat.completion 的对象类型。可能的值:chat.completion |
是 | |
使用情况 | completionUsage | 完成请求的使用情况统计信息。 | 否 |
createChatCompletionStreamResponse
表示模型根据提供的输入返回的聊天补全响应的流式区块。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
id | string | 聊天补全的唯一标识符。 每个区块具有相同的 ID。 | 是 | |
choices | array | 聊天完成选项的列表。 如果 n 大于 1,则可以包含多个元素。 |
是 | |
created | integer | 聊天补全创建时间的 Unix 时间戳(以秒为单位)。 每个区块具有相同的时间戳。 | 是 | |
模型 | string | 要生成补全的模型。 | 是 | |
system_fingerprint | string | 这个指纹表示模型运行的后端配置。 可以与 seed 请求参数一起使用,以了解何时进行了可能影响确定性的后端更改。 |
否 | |
object | enum | 始终为 chat.completion.chunk 的对象类型。可能的值:chat.completion.chunk |
是 |
chatCompletionStreamResponseDelta
流式处理的模型响应生成的聊天补全增量。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
content | string | 区块消息的内容。 | 否 | |
function_call | object | 已弃用并替换为 tool_calls 。 应调用的函数的名称和参数,由模型生成。 |
否 | |
tool_calls | array | 否 | ||
role | enum | 此消息作者的角色。 可能的值:系统、用户、助手、工具 |
否 | |
拒绝 | string | 模型生成的拒绝消息。 | 否 |
function_call 的属性
参数
名称 | Type | 描述 | 默认 |
---|---|---|---|
参数 | string | 用于调用函数的参数,由模型以 JSON 格式生成。 请注意,该模型并非始终生成有效的 JSON,并且可能会生成未由函数架构定义的参数。 在调用函数之前验证代码中的参数。 |
name
名称 | Type | 描述 | 默认 |
---|---|---|---|
name | string | 要调用的函数名称。 |
chatCompletionMessageToolCallChunk
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
index | integer | 是 | ||
id | string | 工具调用的 ID。 | 否 | |
type | 枚举 | 工具的类型。 目前仅支持 function 。可能的值:function |
否 | |
function | object | 否 |
function 的属性
name
名称 | Type | 描述 | 默认 |
---|---|---|---|
name | string | 要调用的函数名称。 |
参数
名称 | Type | 描述 | 默认 |
---|---|---|---|
参数 | string | 用于调用函数的参数,由模型以 JSON 格式生成。 请注意,该模型并非始终生成有效的 JSON,并且可能会生成未由函数架构定义的参数。 在调用函数之前验证代码中的参数。 |
chatCompletionStreamOptions
用于流式处理响应的选项。 仅在设置 stream: true
时设置此项。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
include_usage | boolean | 如果已设置,则会在 data: [DONE] 消息之前流式传输其他区块。 此区块上的 usage 字段将显示整个请求的令牌使用情况统计信息,并且 choices 字段将始终为空数组。 所有其他区块也将包含一个 usage 字段,但值为 null。 |
否 |
chatCompletionChoiceLogProbs
所选的对数概率信息。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
内容 | array | 包含对数概率信息的消息内容令牌列表。 | 是 | |
拒绝 | array | 包含对数概率信息的消息拒绝标记的列表。 | 否 |
chatCompletionTokenLogprob
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
token | string | 令牌。 | 是 | |
logprob | 数字 | 此令牌的对数概率。 | 是 | |
bytes | array | 表示令牌的 UTF-8 字节表示形式的整数列表。 在字符由多个令牌表示,并且其字节表示形式必须组合在一起才能生成正确的文本表示形式的情况下非常有用。 如果标记没有字节表示形式,则可为 null 。 |
是 | |
top_logprobs | array | 在此标记位置上,最有可能的标记及其对数概率的列表。 在极少数情况下,返回的数量可能少于请求的 top_logprobs 数。 |
是 |
chatCompletionResponseMessage
模型生成的聊天补全消息。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
role | chatCompletionResponseMessageRole | 响应消息作者的角色。 | 是 | |
拒绝 | string | 模型生成的拒绝消息。 | 是 | |
内容 | string | 消息的内容。 | 是 | |
tool_calls | array | 模型生成的工具调用,例如函数调用。 | 否 | |
function_call | chatCompletionFunctionCall | 已弃用并替换为 tool_calls 。 应调用的函数的名称和参数,由模型生成。 |
否 | |
上下文 | azureChatExtensionsMessageContext | 当 Azure OpenAI 聊天扩展涉及到生成相应的聊天补全响应时 可用的其他上下文信息的表示形式。 此上下文信息仅在使用 配置为使用匹配扩展的 Azure OpenAI 请求时填充。 |
否 |
chatCompletionResponseMessageRole
响应消息作者的角色。
说明:响应消息作者的角色。
类型:string
默认:
枚举值:
- assistant
chatCompletionToolChoiceOption
控制模型调用哪些工具(如有)。 none
表示模型不会调用任何工具,而是生成消息。 auto
表示模型可以在生成消息和调用一个或多个工具之间进行选择。 required
表示模型必须调用一个或多个工具。 通过 {"type": "function", "function": {"name": "my_function"}}
指定特定工具将强制模型调用该工具。 如果没有工具,则 none
为默认值。 如果存在工具,则 auto
为默认值。
此组件可以是下列组件之一:
chatCompletionNamedToolChoice
指定模型应使用的工具。 用于强制模型调用特定函数。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
type | 枚举 | 工具的类型。 目前仅支持 function 。可能的值:function |
是 | |
function | object | 是 |
function 的属性
name
名称 | Type | 描述 | 默认 |
---|---|---|---|
name | string | 要调用的函数名称。 |
ParallelToolCalls
是否在工具使用期间启用并行函数调用。
未为此组件定义任何属性。
chatCompletionMessageToolCalls
模型生成的工具调用,例如函数调用。
未为此组件定义任何属性。
chatCompletionFunctionCall
已弃用并替换为 tool_calls
。 应调用的函数的名称和参数,由模型生成。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
name | string | 要调用的函数名称。 | 是 | |
参数 | string | 用于调用函数的参数,由模型以 JSON 格式生成。 请注意,该模型并非始终生成有效的 JSON,并且可能会生成未由函数架构定义的参数。 在调用函数之前验证代码中的参数。 | 是 |
completionUsage
完成请求的使用情况统计信息。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
prompt_tokens | integer | 提示中的标记数。 | 是 | |
completion_tokens | integer | 生成的补全中的词元数。 | 是 | |
total_tokens | integer | 请求中使用的令牌总数(提示 + 补全)。 | 是 | |
completion_tokens_details | object | 完成中使用的令牌明细。 | 否 |
completion_tokens_details 的属性
reasoning_tokens
名称 | Type | 描述 | 默认 |
---|---|---|---|
reasoning_tokens | integer | 用于推理的由模型生成的令牌。 |
chatCompletionTool
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
type | 枚举 | 工具的类型。 目前仅支持 function 。可能的值:function |
是 | |
函数 | FunctionObject | 是 |
FunctionParameters
函数接受的参数,被描述为 JSON 架构对象。 请参阅指南](/azure/ai-services/openai/how-to/function-calling) 查看示例,参阅 JSON 架构参考查看有关格式的文档。
省略 parameters
会定义具有空参数列表的函数。
未为此组件定义任何属性。
FunctionObject
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
description | string | 函数作用的描述,由模型用于选择何时以及如何调用函数。 | 否 | |
name | string | 要调用的函数的名称。 必须是 a-z、A-z、0-9,或包含下划线和短划线,最大长度为 64。 | 是 | |
parameters | FunctionParameters | 函数接受的参数,被描述为 JSON 架构对象。 请参阅指南](/azure/ai-services/openai/how-to/function-calling) 查看示例,参阅 JSON 架构参考查看有关格式的文档。 省略 parameters 会定义具有空参数列表的函数。 |
否 | |
strict | boolean | 生成函数调用时是否启用严格的架构遵循。 如果设置为 true,则模型将遵循 parameters 字段中定义的确切架构。 当 strict 为 true 时仅支持 JSON 架构的子集。 |
否 | False |
ResponseFormatText
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
type | enum | 要定义的响应格式的类型:text 可能的值:文本 |
是 |
ResponseFormatJsonObject
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
type | enum | 要定义的响应格式的类型:json_object 可能的值:json_object |
是 |
ResponseFormatJsonSchemaSchema
响应格式的架构,描述为 JSON 架构对象。
未为此组件定义任何属性。
ResponseFormatJsonSchema
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
type | enum | 要定义的响应格式的类型:json_schema 可能的值:json_schema |
是 | |
json_schema | object | 是 |
json_schema 的属性
description
Name | Type | 描述 | 默认值 |
---|---|---|---|
description | string | 对响应格式用途的描述,由模型用于确定如何以该格式进行响应。 |
name
名称 | Type | 描述 | 默认 |
---|---|---|---|
name | string | 响应格式的名称。 必须是 a-z、A-z、0-9,或包含下划线和短划线,最大长度为 64。 |
schema
名称 | Type | 描述 | 默认 |
---|---|---|---|
schema | ResponseFormatJsonSchemaSchema | 响应格式的架构,描述为 JSON 架构对象。 |
strict
名称 | Type | 描述 | 默认 |
---|---|---|---|
strict | boolean | 生成输出时是否启用严格的架构遵循。 如果设置为 true,则模型将始终遵循 schema 字段中定义的确切架构。 当 strict 为 true 时仅支持 JSON 架构的子集。 |
False |
chatCompletionChoiceCommon
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
index | integer | 否 | ||
finish_reason | string | 否 |
createTranslationRequest
翻译请求。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
文件 | string | 要翻译的音频文件。 | 是 | |
prompt | string | 用于指导模型风格或继续之前的音频片段的可选文本。 提示应为英语。 | 否 | |
response_format | audioResponseFormat | 定义输出的格式。 | 否 | |
温度 | 数字 | 采样温度,介于 0 和 1 之间。 较高的值(如 0.8)将使输出更随机,而较小的值(如 0.2)将使输出更集中且更具确定性 如果设置为 0,则模型将使用对数概率自动升高温度,直到达到特定阈值。 | 否 | 0 |
audioResponse
response_format 为 json 时的翻译或听录响应
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
text | string | 已翻译或转录的文本。 | 是 |
audioVerboseResponse
response_format 为 verbose_json 时的翻译或听录响应
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
text | string | 已翻译或转录的文本。 | 是 | |
task | string | 音频任务类型。 | 否 | |
language | string | 语言。 | 否 | |
duration | 数字 | 持续时间。 | 否 | |
段 | 数组 | 否 |
audioResponseFormat
定义输出的格式。
说明:定义输出的格式。
类型:string
默认:
枚举值:
- json
- text
- srt
- verbose_json
- vtt
createTranscriptionRequest
听录请求。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
文件 | string | 要转录的音频文件对象。 | 是 | |
prompt | string | 用于指导模型风格或继续之前的音频片段的可选文本。 提示应与音频语言匹配。 | 否 | |
response_format | audioResponseFormat | 定义输出的格式。 | 否 | |
温度 | 数字 | 采样温度,介于 0 和 1 之间。 较高的值(如 0.8)将使输出更随机,而较小的值(如 0.2)将使输出更集中且更具确定性 如果设置为 0,则模型将使用对数概率自动升高温度,直到达到特定阈值。 | 否 | 0 |
language | string | 输入音频的语言。 以 ISO-639-1 格式提供输入语言将提高准确性并减少延迟。 | 否 |
audioSegment
听录或翻译段。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
id | integer | 段标识符。 | 否 | |
seek | 数字 | 段偏移量。 | 否 | |
start | number | 段初始偏移量。 | 否 | |
end | 数字 | 段结束偏移量。 | 否 | |
text | string | 段文本。 | 否 | |
tokens | array | 文本令牌。 | 否 | |
温度 | 数字 | 温度。 | 否 | |
avg_logprob | 数字 | 平均对数概率。 | 否 | |
compression_ratio | 数字 | 压缩率。 | 否 | |
no_speech_prob | 数字 | no speech 的概率。 |
否 |
imageQuality
将生成的图像的质量。
说明:将生成的图像的质量。
类型:string
默认值:standard
枚举名称:Quality
枚举值:
值 | 说明 |
---|---|
standard | 标准质量创建具有标准质量的图像。 |
hd | HD 质量会创建具有更精细的细节和更具一致性的图像。 |
imagesResponseFormat
返回生成图像的格式。
说明:返回生成图像的格式。
类型:string
默认值:URL
枚举名称:ImagesResponseFormat
枚举值:
值 | 说明 |
---|---|
url | 提供临时访问权限以下载生成的图像的 URL。 |
b64_json | 生成的图像将作为 base64 编码字符串返回。 |
imageSize
生成的图像的大小。
说明:生成的图像的大小。
类型:string
默认值:1024x1024
枚举名称:Size
枚举值:
值 | 说明 |
---|---|
1792x1024 | 生成的图像的所需大小为 1792x1024 像素。 |
1024x1792 | 生成的图像的所需大小为 1024x1792 像素。 |
1024x1024 | 生成的图像的所需大小为 1024x1024 像素。 |
imageStyle
生成的图像的样式。
说明:生成的图像的样式。
类型:string
默认值:vivid
枚举名称:Style
枚举值:
值 | 说明 |
---|---|
vivid | Vivid 创建超现实和戏剧性的图像。 |
natural | Natural 会创建更自然、不那么超现实的图像。 |
imageGenerationsRequest
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
prompt | string | 所需图像的文本说明。 最大长度为 4,000 个字符。 | 是 | |
n | integer | 要生成的图像数。 | 否 | 1 |
size | imageSize | 生成的图像的大小。 | 否 | 1024x1024 |
response_format | imagesResponseFormat | 返回生成图像的格式。 | 否 | url |
user | string | 表示最终用户的唯一标识符,可帮助监视和检测滥用行为。 | 否 | |
质量 | imageQuality | 将生成的图像的质量。 | 否 | standard |
style | imageStyle | 生成的图像的样式。 | 否 | vivid |
generateImagesResponse
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
created | integer | 创建操作时的 UNIX 时间戳。 | 是 | |
data | array | 操作的结果数据(如果成功) | 是 |
imageResult
如果成功,则返回图像 URL 或编码图像,否则返回错误。
名称 | Type | 描述 | 需要 | 默认 |
---|---|---|---|---|
url | string | 图像 URL。 | 否 | |
b64_json | string | base64 编码的图像 | 否 | |
content_filter_results | dalleContentFilterResults | 有关内容筛选结果的信息。 | 否 | |
revised_prompt | string | 用于生成图像的提示(如果有对提示的任何修订)。 | 否 | |
prompt_filter_results | dalleFilterResults | 有关内容筛选类别(hate、sexual、violence、self_harm)的信息(如果检测到),及严重性级别(very_low、low、medium、high-scale,用于确定有害内容的强度和风险级别),以及内容是否已筛选。 有关越狱内容和亵渎内容的信息(如果检测到),以及是否已筛选。 以及有关客户阻止列表的信息(如果已筛选)及其 ID。 | 否 |
完成扩展
Azure OpenAI 数据平面推理规格的最新 GA 版本中不包含补全扩展。
Chatmessage
Azure OpenAI 数据平面推理规格的最新 GA 版本中不包含聊天消息对象。
文本到语音转换
目前不是 Azure OpenAI 数据平面推理规格的最新 Azure OpenAI 正式版的一部分。请参阅最新预览版,了解此功能。