更新时间:2025-06-13 GMT+08:00
分享

步骤四:创建自定义连接器并编排对接DeepSeek

在智能助手模板应用中,创建一个自定义连接器和服务编排,用于对接DeepSeek。

  1. 获取模型部署接口地址和参数。

    本实践以华为ModelArts Studio中部署的DeepSeek体验示例为例,实际使用时请根据实际模型部署情况,获取接口地址和参数。

    1. 登录ModelArts控制台 ,区域选择“华东二”
      图1 选择华东二区域
    2. 在左侧导航栏中,选择“模型部署”,领取DeepSeek免费额度服务。
      请记录服务名称,后续在创建服务编排时需要设置。
      图2 领取DeepSeek免费额度服务
    3. 在左侧导航栏中,选择“鉴权管理”,单击“创建API Key”
      图3 创建API Key
    4. 获取API Key,用于后续调用DeepSeek服务。
      创建好API Key后,单击复制按钮,复制密钥。密钥请妥善保存,若未复制保存,后续无法重新复制获取。
      图4 获取API Key
    5. 返回模型部署页面,单击“调用”,进入调用页面。
      图5 选择调用
    6. 复制API地址和模型名称并保存,单击“API调用指南”
      图6 单击API调用指南
      在调用指南中,可以看到通过接口调用DeepSeek的请求消息结构以及各个参数的作用(截图仅展示请求参数,返回参数在操作中下拉即可阅读)。根据业务需求,此处仅需要请求参数中的model(模型名称)和messages(请求内容,后续自定义),请求地址url即API地址,Authorization为Bearer+ApiKey二者之间需有一个空格)。
      图7 查看接口参数
      图8 查看接口请求参数

  2. 返回智能助手模板应用设计器,创建自定义连接器。

    1. 在智能助手模板应用设计器的左侧菜单栏中,选择“集成 > 连接器 > 连接器实例”
    2. 选择“自定义连接器”,单击,进入创建自定义连接器页面。
      图9 新建自定义连接器
    3. 输入连接器的标签和名称,单击“保存”
      图10 设置连接器信息
      表1 自定义连接器参数说明

      参数

      说明

      示例

      标签

      自定义连接器的标签,创建后可修改。

      取值范围:1~64个字符。

      ds

      名称

      自定义连接器的名称,名称是连接器在系统中的唯一标识,创建后不可修改。命名要求如下:

      • 长度不能超过64个字符,包括前缀命名空间的长度。

        名称前的内容为命名空间,在华为云Astro轻应用中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。

      • 必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不能以下划线结尾。

      ds

    4. 在已创建连接器的“动作”页签,单击“新建”
      图11 选择新建
    5. 设置动作基本信息,单击“下一步”
      图12 设置基本信息
      表2 动作基本信息参数说明

      参数

      说明

      示例

      标签

      新建动作的标签名,用于在页面显示。

      取值范围:1~64个字符。

      ds

      名称

      新建动作的名称,名称是动作在系统中的唯一标识。命名要求如下:

      • 长度不能超过64个字符,包括前缀命名空间的长度。

        名称前的内容为命名空间,在华为云Astro轻应用中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。

      • 必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不能以下划线结尾。

      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秒

    6. 设置消息头入参,本示例无需配置,单击删除后,再单击“下一步”
      图13 删除消息头入参
    7. 设置输入参数,单击“下一步”
      图14 设置输入参数
      表3 输入参数说明

      参数

      说明

      示例

      标签

      输入参数的标签名,用于在页面显示。

      model、messages

      名称

      新建输入参数的名称,名称是输入参数在系统中的唯一标识。

      model、messages

      参数位置

      设置输入参数的位置,取值如下:

      • 消息体
      • URL查询参数
      • URL路径参数

      消息体

      数据类型

      设置输入参数的数据类型,取值如下:
      • 日期:日期类型,精度到天。
      • 日期/时间:时间类型,精度到秒。
      • 数字:数字类型。
      • 字符串:字符串类型。
      • 布尔值:布尔类型,取值为“true”和“false”。
      • 全局结构体
      • 键值对(Map):Map集合类型。
      • 对象:对象标识类型。
      • 敏感文本,如姓名、手机号等。

      字符串、键值对(Map)

      必填

      输入参数是否设置为必填。

      勾选

      集合

      输入参数是否设置为数组类型。

      输入参数messages,请勾选集合

    8. 设置输出参数,“消息体格式”修改为“值”,“数据类型”选择“键值对(Map)”,单击“保存”
      图15 设置输出参数
    9. 动作创建完成后,在“认证信息”页签,单击“新建”
      图16 选择新建
    10. 设置认证信息,单击“保存”
      图17 设置认证基本信息
      图18 鉴权设置
      表4 添加认证信息参数说明

      参数

      说明

      示例

      标签

      认证的标签名,用于在页面显示。

      取值范围:1~64个字符。

      ds

      名称

      认证的名称,名称是认证在系统中的唯一标识。命名要求如下:

      • 长度不能超过64个字符,包括前缀命名空间的长度。

        名称前的内容为命名空间,在华为云Astro轻应用中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。

      • 必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不能以下划线结尾。

      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的值,两者之间需要有一个空格。

    11. 保存成功后,在“动作”页签,单击动作后的,启用动作。
      动作创建后必须要启用,否则在服务编排中无法选择到。
      图19 动作已启用

  3. 新建服务编排。

    1. 在应用设计器的左侧导航栏中,选择“逻辑”
    2. 单击编排后的,输入服务编排的标签和名称,单击“添加”
      图20 新建服务编排
      表5 添加服务编排参数说明

      参数

      说明

      示例

      标签

      新建服务编排的标签名,用于在界面展示,创建后可修改。

      取值范围:1~64个字符。

      dss

      名称

      服务编排在系统中的唯一标识,创建后不支持修改。系统会自动在名称前添加“{命名空间}__”,当其他功能调用服务编排时,调用的是服务编排的名称,而不是标签。

      命名要求如下:

      • 长度不能超过64个字符,包括前缀命名空间的长度。

        名称前的内容为命名空间,在华为云Astro轻应用中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。

      • 名称必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不能以下划线结尾。

      dss

    3. 在服务编排设计器中,单击,进入全局上下文页面。
    4. 单击“变量”后的,创建表6中的变量。
      图21 新建变量
      图22 新建变量result
      图23 新建变量messages
      表6 变量说明

      变量名

      数据类型

      是否为数组

      result

      任意

      messages

      任意

    5. 连接器 > 自定义中,拖拽2中创建的自定义连接器到画布中。
      如果此处选择不到连接器,请确认2中创建的连接器是否已启用。
      图24 拖拽自定义连接器到画布中
    6. 选中开始图元,单击,为图元设置入参和出参。
      图25 设置开始图元的入参和出参
    7. 选中连接器图元,单击,选择动作。
      图26 为连接器添加动作
    8. 设置连接器的输入参数和输出参数。
      输入参数model请配置为1.b中的模型名称。假设模型名称为DeepSeek-R1-Distill-Qwen-32B,此处的model请配置为“"DeepSeek-R1-Distill-Qwen-32B"”
      图27 设置连接器的输入输出参数
    9. 连接开始图元和连接器图元。
      图28 连接图元
    10. 单击页面上方的,保存服务编排。
    11. 保存成功后,单击,运行服务编排。
      输入参数可自定义,运行速度取决于大模型返回的速度。
      图29 设置输入参数
      图30 查看运行结果
    12. 返回服务编排设计页面,单击,启用服务编排。

      服务编排启用后,才可以被其他资源引用。

相关文档