You need to enable JavaScript to run this app.
导航
基于方舟平台部署高代码智能体 AI Chat 应用
最近更新时间:2024.12.13 14:28:45首次发布时间:2024.12.13 10:46:48

本文为您介绍基于火山方舟平台的高代码智能体、以及函数服务 veFaaS 的业务代码部署能力,快速部署一个 AI Chat 应用。

背景信息

火山方舟平台的高代码智能体面向具有专业开发能力的企业开发者客户,提供基于 SDK 的高代码智能体编排方式,能够提升开发效率。高代码智能体支持基于函数服务 veFaaS 在线部署,部署成功后可在方舟智能体中心进行效果体验。
如需了解高代码智能体的更多能力和应用场景,请参见高代码产品使用说明

说明

如果在方舟平台上创建智能体的流程无法满足您的要求,您也可以选择使用高代码智能体 SDK 在本地或其他环境进行开发。

功能限制

目前火山方舟的高代码智能体的创建流程和高代码智能体 SDK 为 Beta 版本,正在持续迭代中,仅对有明确需求的客户开放。如需使用高代码智能体,请联系产品技术支持申请开白

前提条件

  • 已开通火山方舟服务和函数服务。
  • IAM 用户需确保已被赋予SeverlessApplicationRole角色。如果没有授权,请向管理员申请授予子账号权限iam:CreateServiceLinkedRole以便授权该 IAM 角色。
  • 高代码智能体函数支持方舟触发器和 API 网关触发器,方舟触发器系统自动创建,API 网关触发器则需要提前创建 API 网关实例。如需创建 API 网关实例,请参见创建实例
  • 高代码智能体部署后,往往需要根据实际智能业务场景更新代码,持续进行效果和性能优化。至少需要将pipeline.yaml中预设的 endpoint_id 替换为真实模型的推理接入点(endpoint_id),方可正常调用模型推理服务。本文选择为模型Dopubao-pro-128k创建推理接入点,具体操作请参见创建接入点

操作视频

部署高代码智能体 AI Chat 应用

步骤一:创建高代码智能体

  1. 登录火山方舟平台

  2. 在左侧导航栏选择智能体中心,然后单击创建智能体

  3. 选择高代码,然后单击确定创建
    Image

  4. 配置智能体基本信息和开通相关云服务。
    Image

    配置项

    参数

    说明

    基本信息

    名称

    自定义设置智能体名称。

    描述

    智能体的备注信息。

    封面

    可以为智能体设置一个封面。

    配置信息

    IAM 角色

    自动进行 IAM 权限校验。高代码智能体在线部署依赖函数服务 veFaaS,需要授权SeverlessApplicationRole角色。

    说明

    若提示未授权,您需向管理员申请授予子账号权限iam:CreateServiceLinkedRole以便授权该IAM角色,或由管理员进入高代码智能体创建页授权该角色后再使用。

    关联云服务

    高代码智能体在线部署依赖函数服务等多个云产品提供的服务,需要开通相关云产品。
    若存在未开通产品,可通过页面上的立即开通,在阅读相关协议后开通相关云产品。

  5. 高代码智能体配置完成后,单击页面右上角的保存,即可保存到智能体中心。
    如果单击立即创建函数,则直接开始创建 veFaaS 函数。

步骤二:部署高代码智能体

高代码智能体支持基于函数服务 veFaaS 在线部署,即通过创建 veFaaS 应用函数来部署高代码智能体。

  1. 在方舟平台的智能体中心页面查找智能体,然后单击编辑

  2. 应用函数后面,单击立即创建,然后单击对话框上的确定
    Image
    Image

  3. 在创建函数应用的基础信息区域,配置应用名称,确认 IAM 角色和关联云服务是否开通。
    Image

    配置

    说明

    已选模板

    固定为ark-bot-procode,无需修改。

    名称

    veFaaS 应用的名称,提供默认名称,支持自定义修改。

    IAM 角色

    自动进行 IAM 权限校验。在创建高代码智能体时已经赋予了SeverlessApplicationRole角色,在该角色中包含了应用需要访问的部分云资源权限。

    关联云服务

    展示当前应用需要使用的所有云服务名称、开通状态及开通目的。
    若存在未开通产品,可通过页面上的立即开通,在阅读相关协议后开通相关云产品。

  4. 在创建函数应用的高级配置区域,配置函数名称,设置 API 访问密钥函数触发器
    Image

    配置

    说明

    地域

    函数所属地域,与高代码智能体所属地域相同。

    函数名称

    veFaaS 函数的名称,提供默认名称,支持自定义修改。

    API 访问密钥

    根据配置的访问密钥进行方舟模型的调用鉴权。
    API访问密钥(Access Key)是请求火山引擎 API 的安全凭证,包含 Access Key ID 和 Secret Access Key。如何获取访问密钥,请参见获取用户密钥

    函数触发器

    配置函数触发器,可以在调用时触发执行函数。

    • 方舟触发器(推荐):默认提供,面向无特殊要求的大部分群体。选用方舟触发器,系统自动创建触发器,并将函数关联到高代码智能体。
    • API 网关实例:有独立部署网关需求,对信息传输安全性要求高,需要通过 VPC 保障数据安全的场景。选用 API 网关触发器时,需要提前创建网关实例。如需新建网关实例,请参见创建实例

    说明

    不同触发器的调用方式和鉴权方式不同,详情请见调用和鉴权

  5. 函数应用配置完成后,单击确定,开始部署高代码智能体。

  6. 查看部署进度。
    部署过程可能持续数分钟,请耐心等候。您可以在部署页面查看部署日志,若部署失败可根据日志信息定位原因;部署完成后,显示为部署成功
    在页面右上角可以跳转到函数代码页编辑代码,或返回体验智能体。
    Image

步骤三:修改智能体代码

高代码智能体部署后,往往需要根据实际智能业务场景更新代码,按需调整各 endpoint、插件参数,持续进行效果和性能优化。

  1. 在方舟平台的智能体中心页面查找智能体,然后单击编辑
  2. 应用函数后面,单击更新代码
    系统将自动跳转到 veFaaS 智能体函数的代码页面。您也可以直接在 veFaaS 控制台进入目标函数详情页面。
    Image
  3. 按需更新智能体业务场景代码。

    说明

    本文暂不考虑使用意图模型、联网搜索、Query 改写等智能模型来进行效果和性能优化,直接选择用一个方舟大语言模型来实现简单的聊天对话,只需要替换掉智能体函数预设的 endpoint_id,就能正常调用推理服务。

    1. 在函数代码页签下的资源管理器区域,单击pipeline.yaml文件。
    2. 修改 yaml 文件中的 endpoint_id 参数取值,配置为方舟大语言模型的接入点 ID,然后单击保存
      需要提前为方舟大语言模型创建推理接入点,本文选用的模型为Dopubao-pro-128k。如何创建推理接入点,请参见创建接入点
      Image
    3. 重新发布函数。
      智能体业务代码更新完成后,单击右上角的发布按钮,然后重新发布函数使配置生效。

步骤四:体验 AI Chat 应用

高代码智能体业务代码修改完成并成功发布后,您可以在方舟智能体中心体验部署的 AI Chat 应用。

  1. 在方舟平台的智能体中心页面查找智能体,然后单击立即体验
    Image
  2. 输入聊天内容,开始简单的 AI 对话。
    Image

更多操作

更新函数代码

高代码智能体部署后,往往需要根据实际智能业务场景更新代码,按需调整各 endpoint、插件参数,持续进行效果和性能优化。
至少需要将pipeline.yaml中预设的 endpoint_id 替换为真实模型的推理接入点(endpoint_id),方可正常调用模型推理服务。
支持以下几种编辑代码的方式:

  • 在线编辑:直接修改函数业务代码。相关文档,请参见在线编辑
  • 下载代码包编辑:下载智能体业务代码包,然后在本地 IDE 修改后再上传代码包。相关文档,请参见上传代码包
  • veFaaS Code Deployer 插件编辑:使用插件,在本地 IDE 修改后业务代码然后重新部署。相关文档,请参见使用 veFaaS Code Deployer 插件管理函数

完成智能体函数业务代码修改、上传、保存后,可根据需求进行全量发布或灰度发布,并配置函数版本。建议使用灰度发布,防止变更失误影响线上服务。

调用和鉴权

在高代码智能体函数中,支持方舟触发器和 API 网关服务触发器,两种触发器的调用方式和鉴权方式存在不同:

  • 方舟触发器:调用时通过方舟统一域名+BotID,使用 API key 鉴权。如何获取方舟 API Key,请参见获取API Key
  • API 网关触发器:API 网关触发器会提供访问域名,通过 JWT Token 鉴权。如何获取有效期 7 天的 JWT Token,请参见JWT Token 鉴权

(可选)关联 Trace 日志

部署高代码智能体函数应用时,默认打开函数的日志功能,用户可以选择将函数服务关联到 Trace 日志,以采集记录用户的请求 input 和 output 及各阶段的耗时信息。
用户可以通过日志记录查看原生打印的 debug 信息;通过 Trace 结构化分析各部分调用时间和进行错误追踪。

说明

veFaaS 函数打开日志功能后,默认的日志项目为tls-vefaas,日志主题为tls-vefaas-logstore

  1. 登录日志服务控制台,进入与高代码智能体函数相同的地域。
  2. 在左侧导航栏选择 Trace 服务,然后单击创建 Trace 实例
  3. 设置实例名称,关联**tls-vefaas日志项目,然后单击创建**。
    Image
  4. 配置 Trace 索引。
    1. 单击新建的 Trace 实例所关联的日志项目。
    2. 获取日志服务私网访问地址和tls-vefaas-logstore日志主题的 ID。
      Image
    3. 筛选新建的 Trace 实例,然后单击操作列中的索引配置
      Image
    4. Attributes 字段下,配置二级索引request_idclient_request_id inputoutput,然后单击确定
      Image
  5. 配置高代码智能体函数的环境变量。
    1. 在函数详情页面的函数配置页签下,找到环境变量区域,然后单击编辑按钮。
      Image

    2. 按需配置以下环境变量。

      环境变量类型

      Key

      Value

      说明

      鉴权

      VOLC_ACCESSKEY

      火山 Access Key。
      部署高代码智能体函数应用时已经配置,无需修改。

      Trace 上报需要。

      VOLC_SECRETKEY

      火山 Secret Access Key。
      部署高代码智能体函数应用时已经配置,无需修改。

      Trace 上报需要。

      (Optional) EXPOSE_HEADERS

      true

      透传鉴权信息。
      如果不开启 APIg 网关鉴权,需配置这个环境变量。

      (Optional) ARK_API_KEY

      /-

      如果配置了EXPOSE_HEADERSARK_API_KEY建议配置为特定空值。否则 SDK 会根据 aksk 自动刷新 API Key。

      Trace依赖
      (Optional)

      REGION(tls地域)

      例:cn-beijing

      配置后可查看各函数调用时间并追踪函数错误栈。

      TRACE_ENDPOINT
      (tls私网访问地址:4317)

      例:https://tls-cn-beijing.ivolces.com:4317

      TRACE_TOPIC
      (trace日志主题id)

      例:abcd1234-12ab-1234-a******

      自定义信息
      (Optional)

      ACCOUNT_ID

      例:210000**

      用于设置 Trace 中的部分属性,便于链路追踪。
      如果需要动态变化,也可引用core.utils.context中的 set_account_id/...

      RESOURCE_TYPE

      例:bot

      RESOURCE_ID

      例:browsing-pipeline

    3. 函数的环境变量修改后,单击页面右上角的发布,重新发布函数使配置生效。