步骤四:创建自定义连接器并编排对接DeepSeek
在智能助手模板应用中,创建一个自定义连接器和服务编排,用于对接DeepSeek。
- 获取模型部署接口地址和参数。
    
    本实践以华为ModelArts Studio中部署的DeepSeek体验示例为例,实际使用时请根据实际模型部署情况,获取接口地址和参数。 - 登录ModelArts控制台 ,区域选择“华东二”。 
      图1 选择华东二区域  
- 在左侧导航栏中,选择“模型部署”,领取DeepSeek免费额度服务。 
      请记录服务名称,后续在创建服务编排时需要设置。图2 领取DeepSeek免费额度服务  
- 在左侧导航栏中,选择“鉴权管理”,单击“创建API Key”。 
      图3 创建API Key  
- 获取API Key,用于后续调用DeepSeek服务。
- 返回模型部署页面,单击“调用”,进入调用页面。 
      图5 选择调用  
- 复制API地址和模型名称并保存,单击“API调用指南”。 
      图6 单击API调用指南 在调用指南中,可以看到通过接口调用DeepSeek的请求消息结构以及各个参数的作用(截图仅展示请求参数,返回参数在操作中下拉即可阅读)。根据业务需求,此处仅需要请求参数中的model(模型名称)和messages(请求内容,后续自定义),请求地址url即API地址,Authorization为Bearer+ApiKey(二者之间需有一个空格)。图7 查看接口参数 在调用指南中,可以看到通过接口调用DeepSeek的请求消息结构以及各个参数的作用(截图仅展示请求参数,返回参数在操作中下拉即可阅读)。根据业务需求,此处仅需要请求参数中的model(模型名称)和messages(请求内容,后续自定义),请求地址url即API地址,Authorization为Bearer+ApiKey(二者之间需有一个空格)。图7 查看接口参数 图8 查看接口请求参数 图8 查看接口请求参数  
 
- 登录ModelArts控制台 ,区域选择“华东二”。 
      
- 返回智能助手模板应用设计器,创建自定义连接器。
    
    - 在智能助手模板应用设计器的左侧菜单栏中,选择“集成 > 连接器 > 连接器实例”。
- 选择“自定义连接器”,单击 ,进入创建自定义连接器页面。 
      图9 新建自定义连接器 ,进入创建自定义连接器页面。 
      图9 新建自定义连接器  
- 输入连接器的标签和名称,单击“保存”。 
      图10 设置连接器信息  
- 在已创建连接器的“动作”页签,单击“新建”。 
      图11 选择新建  
- 设置动作基本信息,单击“下一步”。 
      图12 设置基本信息  表2 动作基本信息参数说明 参数 说明 示例 标签 新建动作的标签名,用于在页面显示。 取值范围:1~64个字符。 ds 名称 新建动作的名称,名称是动作在系统中的唯一标识。命名要求如下: ds URL 第三方提供的,协议服务的URL地址。例如,/path/test (认证信息需要配置主机地址)、http://www.域名.com或者http://系统参数。 配置为1.f中获取的URL地址 方法 在下拉框中,选择请求的方法。- GET:获取资源。
- POST:创建资源。
- PUT:更新资源。
- PATCH:用于更新资源的部分内容。
- DELETE:删除资源。
- OPTIONS:用于获取当前URL所支持的方法。
 方法选择“PUT”或“POST”时,可自定义输入消息体参数。当第三方入参为数组或非JSON类型时,需要在定义输入参数设置为“键-值”形式。勾选后系统会引入一个通用的入参变量“$in”,将数组或非JSON类型的变量存到“$in”中,变成“键-值”格式传入到Rest Action中。 POST 内容类型 输入内容的类型,该值取决于第三方支持哪种类型,是在HTTP标准协议中定义的。 - application/json
- application/x-www-form-urlencoded
- application/xml
- multipart/form-data
- text/html
- text/plain
 application/json 返回类型 取值为“application/json”时,表示会忽略第三方实际返回的“content-type”,使用第三方配置的“content-type”来解析第三方返回的内容。 如果该参数取值为空,表示使用http返回中的“content-type”,来解析第三方返回的内容。 application/json 超时时间 当超出该参数设定的时间,第三方没有返回结果时系统报错。 单位:秒。 自定义,30秒 
- 设置消息头入参,本示例无需配置,单击 删除后,再单击“下一步”。 
      图13 删除消息头入参 删除后,再单击“下一步”。 
      图13 删除消息头入参  
- 设置输入参数,单击“下一步”。 
      图14 设置输入参数  表3 输入参数说明 参数 说明 示例 标签 输入参数的标签名,用于在页面显示。 model、messages 名称 新建输入参数的名称,名称是输入参数在系统中的唯一标识。 model、messages 参数位置 设置输入参数的位置,取值如下: - 消息体
- URL查询参数
- URL路径参数
 消息体 数据类型 设置输入参数的数据类型,取值如下:- 日期:日期类型,精度到天。
- 日期/时间:时间类型,精度到秒。
- 数字:数字类型。
- 字符串:字符串类型。
- 布尔值:布尔类型,取值为“true”和“false”。
- 全局结构体
- 键值对(Map):Map集合类型。
- 对象:对象标识类型。
- 敏感文本,如姓名、手机号等。
 字符串、键值对(Map) 必填 输入参数是否设置为必填。 勾选 集合 输入参数是否设置为数组类型。 输入参数messages,请勾选集合 
- 设置输出参数,“消息体格式”修改为“值”,“数据类型”选择“键值对(Map)”,单击“保存”。 
      图15 设置输出参数  
- 动作创建完成后,在“认证信息”页签,单击“新建”。 
      图16 选择新建  
- 设置认证信息,单击“保存”。 
      图17 设置认证基本信息 图18 鉴权设置 图18 鉴权设置  表4 添加认证信息参数说明 参数 说明 示例 标签 认证的标签名,用于在页面显示。 取值范围:1~64个字符。 ds 名称 认证的名称,名称是认证在系统中的唯一标识。命名要求如下: ds 鉴权设置 - 鉴权协议:设置鉴权协议,支持OAuth、简单消息头和JWT(JSON Web Tokens)三种。
- 鉴权模式:设置为“client credentials”,此处只支持OAuth2的client credentials鉴权模式。
- 鉴权地址:第三方系统OAuth2协议,获取的token地址。例如,AstroZero获取token的地址为“https://{host}:{port}/baas/auth/v1.0/oauth2/token”,这里需要填入第三方系统的。
- Client ID:OAuth2协议中的client id。
- Client Secret:OAuth2协议中的client secret。
 简单消息头 消息头属性 定义调用业务接口时,所用的消息头的映射规则。 当使用获取的token,去返回具体rest action时,按照OAuth2的标准一般是将token放到请求头上。例如,Authorization: Bearer ${access_token}。 但是由于各个第三方接口实现的差异性,不一定叫Authorization,也不一定会在token前面加Bearer,例如访问平台的接口,token直接放在请求头Access-Token上,且不需要Bearer前缀,所以需要配置消息头属性。 “键”设置为“Authorization”,“值”设置为1.f中获取的Bearer+apiKey的值,两者之间需要有一个空格。 
- 保存成功后,在“动作”页签,单击动作后的 ,启用动作。 
      动作创建后必须要启用,否则在服务编排中无法选择到。图19 动作已启用 ,启用动作。 
      动作创建后必须要启用,否则在服务编排中无法选择到。图19 动作已启用  
 
- 新建服务编排。
    
    - 在应用设计器的左侧导航栏中,选择“逻辑”。
- 单击编排后的 ,输入服务编排的标签和名称,单击“添加”。 
      图20 新建服务编排 ,输入服务编排的标签和名称,单击“添加”。 
      图20 新建服务编排  表5 添加服务编排参数说明 参数 说明 示例 标签 新建服务编排的标签名,用于在界面展示,创建后可修改。 取值范围:1~64个字符。 dss 名称 服务编排在系统中的唯一标识,创建后不支持修改。系统会自动在名称前添加“{命名空间}__”,当其他功能调用服务编排时,调用的是服务编排的名称,而不是标签。 命名要求如下: dss 
- 在服务编排设计器中,单击 ,进入全局上下文页面。 ,进入全局上下文页面。
- 单击“变量”后的 ,创建表6中的变量。 
      图21 新建变量 ,创建表6中的变量。 
      图21 新建变量 图22 新建变量result 图22 新建变量result 图23 新建变量messages 图23 新建变量messages  
- 在中,拖拽2中创建的自定义连接器到画布中。 
      如果此处选择不到连接器,请确认2中创建的连接器是否已启用。图24 拖拽自定义连接器到画布中  
- 选中开始图元,单击 ,为图元设置入参和出参。 
      图25 设置开始图元的入参和出参 ,为图元设置入参和出参。 
      图25 设置开始图元的入参和出参  
- 选中连接器图元,单击 ,选择动作。 
      图26 为连接器添加动作 ,选择动作。 
      图26 为连接器添加动作  
- 设置连接器的输入参数和输出参数。 
      输入参数model请配置为1.b中的模型名称。假设模型名称为DeepSeek-R1-Distill-Qwen-32B,此处的model请配置为“"DeepSeek-R1-Distill-Qwen-32B"”。图27 设置连接器的输入输出参数  
- 连接开始图元和连接器图元。 
      图28 连接图元  
- 单击页面上方的 ,保存服务编排。 ,保存服务编排。
- 保存成功后,单击 ,运行服务编排。 
      输入参数可自定义,运行速度取决于大模型返回的速度。图29 设置输入参数 ,运行服务编排。 
      输入参数可自定义,运行速度取决于大模型返回的速度。图29 设置输入参数 图30 查看运行结果 图30 查看运行结果  
- 返回服务编排设计页面,单击 ,启用服务编排。 ,启用服务编排。服务编排启用后,才可以被其他资源引用。 
 
 
   
    