你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
参考:嵌入项 | Azure 机器学习
创建表示输入文本的嵌入矢量。
POST /embeddings?api-version=2024-04-01-preview
URI 参数
名称 | 在 | 必需 | 类型 | 说明 |
---|---|---|---|---|
api-version |
查询 | 正确 | string | 格式为“YYYY-MM-DD”或“YYYY-MM-DD-preview”格式的 API 版本。 |
请求头
名称 | 必需 | 类型 | 描述 |
---|---|---|---|
其他参数 | string | 在有效负载中指示其他参数时 API 的行为。 使用 pass-through 让 API 将参数传递给基础模型。 如果要传递基础模型可以支持的参数,请使用此值。 使用 ignore 让 API 删除任何不受支持的参数。 如果需要在不同模型中使用相同的有效负载,请使用此值,但如果不受支持,其中一个其他参数可能会使模型出错。 使用 error 让 API 拒绝有效负载中的任何其他参数。 只能指示此 API 中指定的参数,否则将返回 400 错误。 |
|
azureml-model-deployment | string | 要将请求路由到的部署的名称。 支持支持多个部署的终结点。 |
请求正文
名称 | 必需 | 类型 | 描述 |
---|---|---|---|
input | True | string[] | 要嵌入的输入文本,编码为字符串或令牌数组。 若要在单个请求中嵌入多项输入,请传递一个由字符串构成的数组或一个由令牌数组构成的数组。 |
dimensions | integer | 生成的输出嵌入应有的维度数。 如果模型不支持值或参数,则返回 422 错误。 | |
encoding_format | EmbeddingEncodingFormat | 嵌入的返回格式。 base64、float、int8、uint8、binary 或 ubinary。 如果模型不支持值或参数,则返回 422 错误。 | |
input_type | EmbeddingInputType | 输入的类型。 text 、query 或 document 。 如果模型不支持值或参数,则返回 422 错误。 |
响应
名称 | Type | 说明 |
---|---|---|
200 OK | CreateEmbeddingResponse | 确定 |
401 未授权 | UnauthorizedError | 访问令牌缺失或无效 标头 x-ms-error-code: string |
404 未找到 | NotFoundError | 模型不支持模态。 查看模型的文档,查看哪些路由可用。 标头 x-ms-error-code: string |
422 不可处理实体 | UnprocessableContentError | 请求包含无法处理的内容 标头 x-ms-error-code: string |
429 请求次数过多 | TooManyRequestsError | 你已达到指定的速率限制,需要调整请求的速度。 标头 x-ms-error-code: string |
其他状态代码 | ContentFilterError | 无效的请求 标头 x-ms-error-code: string |
安全性
授权
带有 Bearer: prefix
的令牌,例如 Bearer abcde12345
类型:apiKey In:标头
AADToken
Azure Active Directory OAuth2 身份验证
类型:oauth2 Flow:应用程序 令牌 URL:https://login.microsoftonline.com/common/oauth2/v2.0/token
示例
创建表示输入文本的嵌入矢量
示例请求
POST /embeddings?api-version=2024-04-01-preview
{
"input": [
"This is a very good text"
],
"input_type": "text",
"encoding_format": "float",
"dimensions": 1024
}
示例响应
状态代码:200
{
"data": [
{
"index": 0,
"object": "embedding",
"embedding": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]
}
],
"object": "list",
"model": "BERT",
"usage": {
"prompt_tokens": 15,
"total_tokens": 15
}
}
定义
名称 | 描述 |
---|---|
ContentFilterError | 当提示按配置触发内容筛选器时,API 调用将失败。 修改提示,然后重试。 |
CreateEmbeddingRequest | 创建嵌入的请求。 |
CreateEmbeddingResponse | 来自嵌入请求的响应。 |
详细信息 | 错误详细信息。 |
嵌入 | 表示生成的嵌入对象。 |
EmbeddingEncodingFormat | 嵌入的返回格式。 base64、float、int8、uint8、binary 或 ubinary。 如果模型不支持值或参数,则返回 422 错误。 |
EmbeddingInputType | 输入的类型。 text 、query 或 document 。 如果模型不支持值或参数,则返回 422 错误。 |
EmbeddingObject | 对象类型,始终为“embedding”。 |
ListObject | 对象类型,始终为“list”。 |
NotFoundError | 路由对已部署的模型无效。 |
TooManyRequestsError | 你已达到分配的速率限制,并且你的请求需要调整步调。 |
UnauthorizedError | 身份验证缺失或无效。 |
UnprocessableContentError | 请求包含无法处理的内容。 当指示的有效负载根据此规范判定为有效时,将返回该错误。 但是,有效负载中指示的某些指令在基础模型中不受支持。 参照 details 部分了解违规的参数。 |
使用情况 | 请求的使用情况信息。 |
ContentFilterError
当提示按配置触发内容筛选器时,API 调用将失败。 修改提示,然后重试。
名称 | Type | 说明 |
---|---|---|
code | string | 错误代码。 |
error | string | 错误说明。 |
message | string | 错误消息。 |
param | string | 触发内容筛选器的参数。 |
status | integer | HTTP 状态代码。 |
CreateEmbeddingRequest
创建嵌入的请求。
名称 | 必需 | 类型 | 描述 |
---|---|---|---|
input | True | string[] | 要嵌入的输入文本,编码为字符串或令牌数组。 若要在单个请求中嵌入多项输入,请传递一个由字符串构成的数组或一个由令牌数组构成的数组。 |
dimensions | integer | 生成的输出嵌入应有的维度数。 如果模型不支持值或参数,则返回 422 错误。 | |
encoding_format | EmbeddingEncodingFormat | 嵌入的返回格式。 base64、float、int8、uint8、binary 或 ubinary。 如果模型不支持值或参数,则返回 422 错误。 | |
input_type | EmbeddingInputType | 输入的类型。 text 、query 或 document 。 如果模型不支持值或参数,则返回 422 错误。 |
CreateEmbeddingResponse
来自嵌入请求的响应。
名称 | Type | 说明 |
---|---|---|
data | Embedding[] | 模型生成的嵌入列表。 |
model | string | 用于生成嵌入的模型的名称。 |
object | ListObject | 对象类型,始终为“list”。 |
使用情况 | 使用情况 | 请求的使用情况信息。 |
详细信息
UnprocessableContentError 错误的详细信息。
名称 | Type | 描述 |
---|---|---|
loc | string[] | 导致问题的参数 |
value | string | 传递给参数导致问题的值。 |
嵌入
表示生成的嵌入。
名称 | Type | 描述 |
---|---|---|
embedding (嵌入) | [] | 嵌入矢量。 矢量的长度取决于所使用的模型,类型取决于所使用的 encoding_format 。 |
index | integer | 嵌入列表的嵌入索引。 |
object | EmbeddingObject | 对象类型,始终为“embedding”。 |
EmbeddingEncodingFormat
嵌入的返回格式。 base64、float、int8、uint8、binary 或 ubinary。 如果模型不支持值或参数,则返回 422 错误。
名称 | Type | 描述 |
---|---|---|
base64 | string | |
binary | string | |
FLOAT | string | |
int8 | string | |
ubinary | string | |
uint8 | string |
EmbeddingInputType
输入的类型。 text
、query
或 document
。 如果模型不支持值或参数,则返回 422 错误。
名称 | Type | 描述 |
---|---|---|
document | string | 指示输入表示存储在矢量数据库中的文档。 |
query | string | 指示输入表示搜索查询,该查询可在矢量数据库中查找最相关的文档。 |
text | string | 指示输入是常规文本输入。 |
EmbeddingObject
名称 | Type | 描述 |
---|---|---|
embedding (嵌入) | string |
ListObject
对象类型,始终为“list”。
名称 | Type | 说明 |
---|---|---|
list | string |
NotFoundError
名称 | Type | 说明 |
---|---|---|
error | string | 错误说明。 |
message | string | 错误消息。 |
status | integer | HTTP 状态代码。 |
TooManyRequestsError
名称 | Type | 说明 |
---|---|---|
error | string | 错误说明。 |
message | string | 错误消息。 |
status | integer | HTTP 状态代码。 |
UnauthorizedError
名称 | Type | 说明 |
---|---|---|
error | string | 错误说明。 |
message | string | 错误消息。 |
status | integer | HTTP 状态代码。 |
UnprocessableContentError
请求包含无法处理的内容。 当指示的有效负载根据此规范判定为有效时,将返回该错误。 但是,有效负载中指示的某些指令在基础模型中不受支持。 参照 details
部分了解违规的参数。
名称 | Type | 说明 |
---|---|---|
code | string | 错误代码。 |
detail | 详细信息 | |
error | string | 错误说明。 |
message | string | 错误消息。 |
status | integer | HTTP 状态代码。 |
使用情况
请求的使用情况信息。
名称 | Type | 描述 |
---|---|---|
prompt_tokens | integer | 提示使用的令牌数。 |
total_tokens | integer | 请求使用的令牌总数。 |