方舟高代码应用基于 veFaaS 函数服务等多个云产品,提供了便捷的在线部署流程和生产级的运行环境。本文将介绍如何完成火山方舟高代码应用的在线创建、部署、体验和修改全流程。
注意
高代码应用功能已对个人用户开放使用。如需使用,请 完成实名认证。 - 进入高代码应用创建页时,您需具备高代码应用所需权限,将进行 IAM 权限校验。
- 高代码在线部署依赖 veFaaS 函数服务,需要授权 IAM 角色 ServerlessApplicationRole。
- 首次创建 IAM 角色需由主账号操作,如您登录的为子账号,可先点击立即开通,并根据提示点击复制信息并发送给主账号管理员,由主账号管理员创建角色并对子账号授权。
-
- 您可直接点击立即开通,进行 ServerlessApplicationRole 授权。
- 您也可请前往 访问控制- 角色管理 模块,进行空白角色服务新建,并在后续应用创建时,需根据提示添加权限。具体操作如下:
-
- 选择信任身份类型为「服务」,选择服务为「函数服务」,点击下一步。
-
- 角色名填写:ServerlessApplicationRole,其余均不填,点击下一步。
-
- 后续在高代码应用创建时,根据提示按需配置策略:CloudMonitorReadOnlyAccess,TLSFullAccess,VPCFullAccess,VeFaaSFullAccess,STSAssumeRoleAccess,APIGFullAccess
-
-
- 高代码应用在线部署依赖函数服务等多个云产品提供的服务,需要开通相关云产品。
- 若存在未开通产品,可通过页面上的立即开通,在阅读相关协议文档后批量开通相关云产品。
-
-
填写应用名称等基础信息后,点击页面右上角“发布”按钮。
保存后即可通过创建新函数去部署高代码应用相关联的函数服务。
选择应用原型为“示例”。然后完成“创建函数应用”页面的配置,进行高代码应用函数服务的创建部署。
- 若在创建高代码应用时完成了权限获取和云产品开通,应当已具备所需权限和服务。
- 若 IAM 角色未授权或关联云服务未开通,请联系管理员进行授权或开通,可参考 1.1 权限获取。
-
填写函数名称等基础信息。
启用 Trace 日志服务后,系统将自动采集您请求的 input 和 output 及各阶段耗时信息,并记录在您的日志服务中,便于后续运维和排查。
选择启用“日志服务-Trace”后,需要填写 API 访问密钥(AK/SK),可参考 获取 AK/SK。
为了在调用时触发执行函数,需要在创建函数时关联触发器,现为您提供以下类型触发器。
-
- 部署需耗时约数分钟,请耐心等候。页面上将展示部署日志,若部署失败可根据日志信息定位原因。
- 部署成功后,可通过页面右上角按钮跳转到函数代码页编辑代码,或返回体验应用。
完成部署后,您可根据业务需求对函数代码进行修改、更新、发布。
等待应用完成部署,函数完成发布后,您就可以在高代码应用页面上和应用交互进行体验了。
在体验中得到的回答,可以点击右侧的“调试按钮”,获取调试信息。
您也可以参考下文修改优化高代码应用,让应用的表现更符合您的预期。
在高代码应用编辑页,点击“更新代码”进入函数代码管理页修改代码。
- 您可在线进行代码修改,按照您的配置调整各插件参数,以进行效果和性能优化或实现业务逻辑。详见 SDK 说明文档
- 完成编辑后,点击保存按钮保存代码,保存完成后可进行函数发布。
您可在函数代码页下载最新版本服务对应的代码包。
您可在本地 IDE 进行代码修改,按照您的配置调整插件参数,以进行效果和性能优化或实现业务逻辑。
将本地代码包打包为 zip 文件后,上传更新函数代码。
如线上预览耗时较久,可能是代码包较大。建议在本地预览后,上传到函数服务进行发布。
可以联系我们获取 vefaas 命令行工具使用说明文档使用命令行工具,结合本地 IDE 进行代码编辑和发布等操作。
- 完成代码修改、上传、保存后,可根据需求进行全量发布/灰度发布,并配置函数版本。
-
-
- 可在函数详情-发布管理找到灰度发布的版本,并调整灰度比例直至全量发布。
-
完成发布后,可点击对话测试返回。
- 方舟触发器:如果您配置了方舟触发器,可通过 Bot API 接口调用,使用 API key 鉴权。接口文档请参见应用(bot) API。
- APIG 触发器:如果您配置了 APIG 触发器,可通过您配置的 APIG 访问地址进行调用。调用时需使用 JWT token 鉴权。
当前高代码应用已支持添加 MCP 服务,以下为具体操作指南:
根据步骤一的指引创建高代码应用,并点击创建新函数,在随后弹出的原型应用选择弹窗中,选择示例-大模型 MCP 应用,点击确认
- 函数创建的基础配置请参照“步骤二”,例如权限及产品开通、推理接入点和 API Key、触发器选择、日志服务-Trace 等。
- 点击添加更多 MCP 服务,随后的弹窗已为您列出 火山引擎大模型生态广场 中的 MCP 服务,并支持添加自定义 MCP 服务。
-
- 根据业务需求选择所需的 MCP 服务。前往 火山引擎大模型生态广场 生成专属的 JSON 配置信息。如需填写相关环境变量参数,可根据详情中的 Readme 进行获取。(注:Remote MCP 添加较为便捷,但生成的 URL 存在 48 小时有效期,如需长期使用建议选择 Local MCP 或云部署 MCP 版本)
-
- 将生成的配置信息粘贴至 MCP 服务设置的 config.json 中,点击确认并更新。完成其他函数配置后,点击确定进行部署函数。
-
- 等待函数部署成功后,即可进行对话体验,并调用相应的 MCP 服务
-
- 您可对 MCP 服务进行二次编辑,点击需要编辑的 MCP 服务或添加更多 MCP 服务按钮,操作流程同 4.2
-
- 完成编辑后,点击确认并更新,等待函数更新完成后,即可再次进行对话测试
-
由于不同 MCP Tool 对 Python 版本及工具版本的依赖存在差异,且火山 MCP Hub 生态持续迭代,方舟高代码模板无法预先安装所有 MCP 工具及其依赖。因此,当用户需在模板中调用特定工具时,需在高代码对应的 FaaS 函数中手动完成依赖安装与配置更新。
接入的 MCP Tool 需满足以下条件:
- 支持通过启动命令参数-t 定义 MCP Server 的连接方式;
- 支持通过环境变量 PORT 定义 MCP Server 的部署端口;
- 该 MCP Server 的依赖与现有模板中 requirements.txt 的工具版本无冲突。
若满足前置条件(以 mcp_server_vefaas_sandbox 为例)
-
- 在 requirements.txt 中添加该工具依赖。
- 更新 mcp_servers_connection.json。
- 在 available_mcp_servers 对象中新增配置项"mcp-server-vefaas-sandbox",内容如下:
- 压缩代码包并上传至 FaaS,完成依赖安装后发布。
若不满足前置条件(以 mcp_server_rds_mysql 为例)
若 MCP Tool 不满足前置条件(如 mcp_server_rds_mysql 通过环境变量 MCP_SERVER_PORT 定义端口,且依赖 mcp[cli]>=1.10.0 与现有环境冲突),需先修改 MCP Server 实现,参考方式如下:
- 修改 server/mcp_server_rds_mysql 下的工具实现,使其满足前置条件:
- 调整部署端口读取方式(适配 PORT 环境变量):
- 更新依赖工具的版本,并确保版本变更不会影响工具的使用效果。若无法直接修改版本,请根据依赖冲突原因,调整高代码模板的 requirements.txt 以解决冲突。
- 在模板的 requirements.txt 中添加个人仓库的依赖:
这种情况大多数是因为 mcp server 连接失败。可以前往 faas 实例 -> 资源管理,进入实例 webshell 中排查连接问题。可以参考下面的常用手段。
Step 1:查看 MCP Server 连接信息
执行以下命令查看所有 MCP Server 的连接配置:
你可能会看到类似的信息:
请依次对这些 url 执行 curl 测试,确认 MCP Server 是否可访问。
Step 2:检查无法访问的 MCP Server
如果某个 url 无法访问,则说明对应的 MCP Server 启动失败。
可以通过查看该 MCP Server 的启动日志来确认失败原因:
例如: