调用自定义部署服务

本文介绍如何通过API调用自定义部署服务

公共说明

URI

从控制台上服务部署里的管理页面获取访问的域名(公网或者私网域名)。

image

Header

  • Content-Type: application/json

  • Authorization: Bearer ${工作空间的API Key}

  • Token: ${服务部署的Token},参考上图可以在服务部署>调用信息中获取。

多模态向量化模型

请求参数

字段名

类型

描述

示例

type

String

可选值:

  • text:文本。

  • image:图片。

image

data

List[String]

每个元素代表一个需要向量化的文本或一张图片。建议一次请求不要超过16个图片。图片支持pngjpeg,格式为data:image/{format};base64,{base64_image}

  • imgae类型:

    ["data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoHCB..."]

  • text类型:

    ["a", "b", "c"]

请求示例

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..."]
}'
说明

单个请求中不允许混合传递textimage。

响应示例

{
	"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的数据类型,取值:

  • query

  • document

默认值为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 的算法输出内容。

[
    {
      "index": 0,
      "embedding": [0.003143,0.009750,省略,-0.017395]
    },
    {}
]

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

多个文档内容,不超过16doc。

请求示例

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搜索开放平台状态码说明