你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
参考:图像嵌入 | Azure AI Studio
重要
本文中标记了“(预览版)”的项目目前为公共预览版。 此预览版未提供服务级别协议,不建议将其用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款。
创建表示输入图像和文本对的嵌入矢量。
POST /images/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 | EmbeddingInput[] | 要嵌入的输入图像。 若要在单个请求中嵌入多个输入,请传递数组。 输入不能超过模型的最大输入令牌。 |
dimensions | integer | 生成的输出嵌入应有的维度数。 传递 null 会导致模型使用其默认值。 如果模型不支持值或参数,则返回 422 错误。 | |
encoding_format | EmbeddingEncodingFormat | 嵌入的返回格式。 base64、float、int8、uint8、binary 或 ubinary。 如果模型不支持值或参数,则返回 422 错误。 |
响应
名称 | Type | 说明 |
---|---|---|
200 OK | CreateEmbeddingResponse | 确定 |
401 未授权 | UnauthorizedError | 访问令牌缺失或无效 标头 x-ms-error-code: string |
404 未找到 | NotFoundError | 模型不支持模态。 查看模型的文档,查看哪些路由可用。 标头 x-ms-error-code: string |
422 不可处理实体 | UnprocessableContentError | 请求包含无法处理的内容。 当指示的有效负载根据此规范判定为有效时,将返回该错误。 但是,有效负载中指示的某些指令在基础模型中不受支持。 参照 details 部分了解违规的参数。标头 x-ms-error-code: string |
429 请求次数过多 | TooManyRequestsError | 你已达到指定的速率限制,需要调整请求的速度。 标头 x-ms-error-code: string |
其他状态代码 | ContentFilterError | 无效的请求 标头 x-ms-error-code: string |
安全性
授权
带有 Bearer:
前缀的令牌,例如 Bearer abcde12345
Type: apiKey
In: header
AADToken
Azure Active Directory OAuth2 身份验证
类型:oauth2
流:应用程序
令牌 URL:https://login.microsoftonline.com/common/oauth2/v2.0/token
示例
创建表示输入文本和图像的嵌入矢量
示例请求
POST /images/embeddings?api-version=2024-04-01-preview
{
"input": [
{
"text": "A nice picture of a cat",
"image": "data:image/jpeg;base64,iVBORw0KG..."
}
],
"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": "DINO",
"usage": {
"prompt_tokens": 15,
"total_tokens": 15
}
}
定义
名称 | 描述 |
---|---|
ContentFilterError | 当提示按配置触发内容筛选器时,API 调用将失败。 修改提示,然后重试。 |
CreateEmbeddingResponse | |
CreateImageEmbeddingRequest | |
详细信息 | |
嵌入 | 表示生成的图像。 |
EmbeddingEncodingFormat | 嵌入的返回格式。 base64、float、int8、uint8、binary 或 ubinary。 如果模型不支持值或参数,则返回 422 错误。 |
EmbeddingObject | 对象类型,始终为“embedding”。 |
EmbeddingInput | 表示具有可选文本的图像。 |
ListObject | 对象类型,始终为“list”。 |
NotFoundError | |
TooManyRequestsError | |
UnauthorizedError | |
UnprocessableContentError | 请求包含无法处理的内容。 当指示的有效负载根据此规范判定为有效时,将返回该错误。 但是,有效负载中指示的某些指令在基础模型中不受支持。 参照 details 部分了解违规的参数。 |
使用情况 | 请求的使用情况信息。 |
ContentFilterError
当提示按配置触发内容筛选器时,API 调用将失败。 修改提示,然后重试。
名称 | Type | 说明 |
---|---|---|
code | string | 错误代码。 |
error | string | 错误说明。 |
message | string | 错误消息。 |
param | string | 触发内容筛选器的参数。 |
status | integer | HTTP 状态代码。 |
CreateEmbeddingResponse
名称 | Type | 说明 |
---|---|---|
data | Embedding[] | 模型生成的嵌入列表。 |
model | string | 用于生成嵌入的模型的名称。 |
object | ListObject | 对象类型,始终为“list”。 |
使用情况 | 使用情况 | 请求的使用情况信息。 |
CreateImageEmbeddingRequest
名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
dimensions | integer | 生成的输出嵌入应有的维度数。 传递 null 会导致模型使用其默认值。 如果模型不支持值或参数,则返回 422 错误。 | |
encoding_format | EmbeddingEncodingFormat | FLOAT | 嵌入的返回格式。 base64、float、int8、uint8、binary 或 ubinary。 如果模型不支持值或参数,则返回 422 错误。 |
input | EmbeddingInput[] | 要嵌入的输入图像。 若要在单个请求中嵌入多个输入,请传递数组。 输入不能超过模型的最大输入令牌。 |
详细信息
名称 | Type | 描述 |
---|---|---|
loc | string[] | 导致问题的参数 |
value | string | 传递给参数导致问题的值。 |
嵌入
表示生成的图像。
名称 | Type | 描述 |
---|---|---|
embedding (嵌入) | number[] | 嵌入矢量,一个浮点数列表。 矢量的长度取决于所使用的模型。 |
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 |
EmbeddingObject
对象类型,始终为“embedding”。
名称 | Type | 描述 |
---|---|---|
embedding (嵌入) | string |
EmbeddingInput
表示具有可选文本的图像。
名称 | Type | 描述 |
---|---|---|
图像 | string | base64 字符串中编码为数据 URL 的输入图像。 示例:data:image/{format};base64,{data} 。 |
text | string | 可选。 要馈送到模型中的文本输入(如 DINO、CLIP)。 如果模型不支持值或参数,则返回 422 错误。 |
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_patches | integer | 映像提示使用的映像修补程序数。 |
prompt_tokens | integer | 提示使用的令牌数。 |
total_patches | integer | 请求使用的修补程序总数。 |
total_tokens | integer | 请求使用的令牌总数。 |