本文介绍如何通过API调用自定义部署服务。
公共说明
URI
从控制台上服务部署里的管理页面获取访问的域名(公网或者私网域名)。
单击目标服务操作列的调用信息,在弹窗中查看公网API域名、私网API域名及对应的访问Token。
Header
-
Content-Type: application/json
-
Authorization: Bearer ${工作空间的API Key}
-
Token: ${服务部署的Token},可以在服务部署>调用信息中获取。
多模态向量化模型
请求参数
|
字段名 |
类型 |
描述 |
示例 |
|
type |
String |
可选值:
|
image |
|
data |
List[String] |
每个元素代表一个需要向量化的文本或一张图片。建议一次请求不要超过16个图片。图片支持png与jpeg,格式为data:image/{format};base64,{base64_image} |
|
请求示例
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 您的API Key" \
-H "Token: 替换为服务部署的Token" \
"http://xxxxxx.opensearch.aliyuncs.com/v3/openapi/xxxxxx" \
-d '{
"type": "image",
"data": ["data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoHCB..."]
}'
单个请求中不允许混合传递text与image。
响应示例
{
"embeddings": [{
"index": 0,
"embedding": [0.02272411249577999, -0.0535903535783],
"type": "image"
}, {
"index": 1,
"embedding": [0.02272411249577999, -0.0535903535783],
"type": "image"
}
]
}
文本向量化接口
请求参数
|
参数名 |
类型 |
是否必须 |
位置 |
描述 |
示例 |
|
input |
Array/String |
是 |
body |
支持多条文本输入,每次请求最多 16 条;每一条的长度大小取决于选择的模型。不支持空的字符串。 |
["科学技术是第一生产力","opensearch产品文档"] |
|
input_type |
String |
否 |
body |
指明input的数据类型,取值:
默认值为document |
document |
|
dimension |
Int |
否 |
body |
输出的维度。 说明
当部署的模型是定制的模型并开启向量降维时才会生效,且不能大于基础模型的维度。 |
567 |
请求示例
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 您的API Key" \
-H "Token: 替换为服务部署的Token" \
"http://xxxxxx.opensearch.aliyuncs.com/v3/openapi/xxxxxx" \
-d '{
"input":[
"科学技术是第一生产力",
"opensearch产品文档"
],
"input_type" : "document",
"dimension": 567 # 当开启向量降维训练时,才会生效,且维度不能大于基础模型的维度
}'
返回参数
|
字段 |
类型 |
描述 |
示例 |
|
embeddings |
List |
本次请求的算法输出内容,是一个由结构组成的数组,每一个数组中包含一个对应的输入 text 的算法输出内容。 |
|
|
embeddings[].index |
Int |
对应请求文本在input中的序号。 |
0 |
|
embeddings[].embedding |
List(Double) |
向量化结果。 |
[0.003143,0.009750,省略,-0.017395] |
响应示例
{
"embeddings":[
{
"index":0,
"embedding":[0.003143,0.009750,...,-0.017395]
},
{
"index":1,
"embedding":[]
}
]
}
reranker接口
请求参数
|
参数名 |
类型 |
是否必须 |
位置 |
描述 |
|
query |
String[] |
是 |
body |
查询内容。 |
|
docs |
List<String> |
是 |
body |
多个文档内容,不超过16个doc。 |
请求示例
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 您的API Key" \
-H "Token: 替换为服务部署的Token" \
"http://xxxxxx.opensearch.aliyuncs.com/v3/openapi/xxxxxx" \
-d '{
"query": "opensearch产品文档",
"docs": [
"opensearch产品文档",
"elasticsearch产品文档"
]
}'
返回参数
|
参数名 |
参数类型 |
描述 |
示例 |
|
scores |
List<Double> |
对应docs里面每个doc分数 |
[0.9860338568687439,0.793461263179779] |
响应示例
{
"scores":[
0.9999276399612427,
0.8209319710731506
]
}
状态码说明
请参见AI搜索开放平台状态码说明。