AI搜索开放平台是阿里云智能开放搜索OpenSearch提供的服务平台,通过将各项服务能力组件化,串联业务专属的RAG链路。您可以选择服务中不同的模型或策略,同时也可结合业务情况进行部分能力的替换。目前,AI搜索开放平台已支持模型部署功能,您可以将来自不同渠道的模型独立部署至AI搜索开放平台。本文介绍如何在ES中使用部署在AI搜索开放平台上的模型进行模型推理服务。
前提条件
已开通AI搜索开放平台。如您未开通,请根据开通服务开通AI搜索开放平台。
步骤一、在AI搜索开放平台部署模型
前往AI搜索开放平台, 单击 ,进入服务部署页面。
单击部署服务,进入部署服务页面。
配置部署服务的各项基础信息后,单击部署即可部署服务。
建议在ES同地域部署服务,以便ES可以通过私网访问部署的服务,从而实现更低的时延和更稳定的连接。
参数
说明
参数
说明
服务名称
服务名称。您可以自定义名称。
部署地域
部署地域。您可以自行选择地域进行部署。
模型类别
模型的类别。支持文本向量化(text-embedding)、排序服务(text-reranker)两种模型,本示例选择文本向量化(text-embedding)。
模型来源
模型的来源。仅可选择AI搜索开放平台。
选择模型
选择模型。所支持的模型类别下的所有模型均已提供支持,本示例选择OpenSearch通用文本向量化服务-002(ops-text-embedding-002)。
等待服务状态正常时,单击目标服务的调用信息,即可查看服务的域名以及访问
Token
。对于同一区域的服务,ES可以通过私网域名进行访问。而对于不同区域的服务,则需要通过公网域名进行访问。
步骤二、在阿里云ES中创建AI搜索开放平台的模型推理服务
您可以在阿里云ES实例的Kibana中运行以下代码,以创建模型推理服务。
各类型方法如下:
创建模型语法模板:
PUT _inference/text_embedding/os_deployment_emb
{
"service":"alibaba-cloud-custom-model",
"service_settings":{
"secret_parameters":{
"api_key":"<替换为您的api_key>",
"Token":"<替换为您的Token>"
},
"url":"<替换为您的url>",
"path":{
"<替换为您的path>":{
"POST":{
"headers":{
"Authorization": "Bearer ${api_key}",
"Token":"${Token}"
},
"request":{
"format":"string",
"content":"""
{"input":${input},"input_type":"${input_type}"}
"""
},
"response":{
"json_parser":{
"text_embeddings":"$.embeddings[*].embedding"
}
}
}
}
}
},
"task_settings":{
"parameters":{
"input_type":"document"
}
}
}
示例:
PUT _inference/text_embedding/os_deployment_emb
{
"service":"alibaba-cloud-custom-model",
"service_settings":{
"secret_parameters":{
"api_key":"OS-xxx",
"Token":"xxx"
},
"url":"http://xxx.platform-pre-hangzhou.opensearch.aliyuncs.com",
"path":{
"/v3/openapi/deployments/xxx/predict":{
"POST":{
"headers":{
"Authorization": "Bearer ${api_key}",
"Token":"${Token}"
},
"request":{
"format":"string",
"content":"""
{"input":${input},"input_type":"${input_type}"}
"""
},
"response":{
"json_parser":{
"text_embeddings":"$.embeddings[*].embedding"
}
}
}
}
}
},
"task_settings":{
"parameters":{
"input_type":"document"
}
}
}
调用模型:
POST _inference/text_embedding/os_deployment_emb
{
"input":"hello"
}
POST _inference/text_embedding/os_deployment_emb
{
"input":["hello", "world"]
}
POST _inference/text_embedding/os_deployment_emb
{
"input":"hello",
"task_settings":{
"parameters":{
"input_type":"query"
}
}
}
创建模型语法模板:
PUT _inference/rerank/os_deployment_custom_rerank
{
"service":"alibaba-cloud-custom-model",
"service_settings":{
"secret_parameters":{
"api_key":"<替换为您的api_key>",
"Token":"<替换为您的Token>"
},
"url":"<替换为您的url>",
"path":{
"<替换为您的path>":{
"POST":{
"headers":{
"Authorization": "Bearer ${api_key}",
"Token":"${Token}"
},
"request":{
"format":"string",
"content":"""
{"docs":${input},"query":"${query}"}
"""
},
"response":{
"json_parser":{
"relevance_score":"$.scores[*]"
}
}
}
}
}
}
}
示例:
PUT _inference/rerank/os_deployment_custom_rerank
{
"service":"alibaba-cloud-custom-model",
"service_settings":{
"secret_parameters":{
"api_key":"OS-xxx",
"Token":"xxx"
},
"url":"http://xxx.platform-pre-hangzhou.opensearch.aliyuncs.com",
"path":{
"/v3/openapi/deployments/xxx/predict":{
"POST":{
"headers":{
"Authorization": "Bearer ${api_key}",
"Token":"${Token}"
},
"request":{
"format":"string",
"content":"""
{"docs":${input},"query":"${query}"}
"""
},
"response":{
"json_parser":{
"relevance_score":"$.scores[*]"
}
}
}
}
}
}
}
调用模型:
POST _inference/rerank/os_deployment_custom_rerank
{
"input":["什么是opensearch", "什么是智能问答版", "智能问答版有什么优势"],
"query":"opensearch产品文档"
}
创建模型语法模板:
PUT _inference/custom/os_deployment_custom
{
"service":"alibaba-cloud-custom-model",
"service_settings":{
"secret_parameters":{
"api_key":"<替换为您的api_key>",
"Token":"<替换为您的Token>"
},
"url":"<替换为您的url>",
"path":{
"<替换为您的path>":{
"POST":{
"headers":{
"Authorization": "Bearer ${api_key}",
"Token":"${Token}"
},
"request":{
"format":"string",
"content":"""
{"input":${input},"input_type":"${input_type}"}
"""
}
}
}
}
},
"task_settings":{
"parameters":{
"input_type":"document"
}
}
}
示例:
PUT _inference/custom/os_deployment_custom
{
"service":"alibaba-cloud-custom-model",
"service_settings":{
"secret_parameters":{
"api_key":"OS-xxx",
"Token":"xxx"
},
"url":"http://xxx.platform-pre-hangzhou.opensearch.aliyuncs.com",
"path":{
"/v3/openapi/deployments/xxx/predict":{
"POST":{
"headers":{
"Authorization": "Bearer ${api_key}",
"Token":"${Token}"
},
"request":{
"format":"string",
"content":"""
{"input":${input},"input_type":"${input_type}"}
"""
}
}
}
}
},
"task_settings":{
"parameters":{
"input_type":"document"
}
}
}
调用模型:
POST _inference/custom/os_deployment_custom
{
"input":"hello"
}
POST _inference/custom/os_deployment_custom
{
"input":["hello", "world"]
}
POST _inference/custom/os_deployment_custom
{
"input":"hello",
"task_settings":{
"parameters":{
"input_type":"query"
}
}
}
- 本页导读
- 前提条件
- 步骤一、在AI搜索开放平台部署模型
- 步骤二、在阿里云ES中创建AI搜索开放平台的模型推理服务