本文将介绍如何完成火山方舟高代码应用的在线创建、部署、体验和修改全流程。
对于高代码应用的介绍请参考高代码产品使用说明--火山方舟大模型服务平台-火山引擎。
方舟高代码应用基于veFaaS函数服务等多个云产品,提供了便捷的在线部署流程和生产级的运行环境。如无法满足需求,您也可以选择使用高代码应用sdk在本地或其他环境进行开发。
注意
高代码应用功能已对个人用户开放使用。如需使用,请完成实名认证。
登录火山方舟控制台,访问“应用广场-创建应用-创建高代码应用”。
SeverlessApplicationRole。如您登录的为主账号,且已完成企业认证,
点击 新建角色。
选择信任身份类型为「服务」,选择服务为「函数服务」,点击下一步。
角色名填写:ServerlessApplicationRole,其余均不填,点击下一步。
不选择策略,点击跳过,完成角色授权。
后续在高代码应用创建时,根据提示按需配置策略:CloudMonitorReadOnlyAccess,TLSFullAccess,VPCFullAccess,VeFaaSFullAccess,STSAssumeRoleAccess,APIGFullAccess
完成授权后,将提示「IAM角色已授权」
填写应用名称等基础信息后,点击页面右上角“发布”按钮。
保存后即可通过【创建新函数】去部署高代码应用相关联的函数服务。
选择应用原型为“示例”。然后完成“创建函数应用”页面的配置,进行高代码应用函数服务的创建部署。
填写函数名称等基础信息。
启用 Trace 日志服务后,系统将自动采集您请求的 input 和 output 及各阶段耗时信息,并记录在您的日志服务中,便于后续运维和排查。
注意
启用 Trace 日志服务将可能产生额外费用,详见日志服务计费说明。
选择启用“日志服务-Trace”后,需要填写API 访问密钥(AK/SK),可参考获取AK/SK。
为了在调用时触发执行函数,需要在创建函数时关联触发器,现为您提供以下类型触发器。
触发器类型 | 目标群体 | 创建流程 | 调用流程 |
|---|---|---|---|
方舟触发器(推荐使用) | 默认提供,面向无特殊要求的大部分群体。 | 创建高代码应用时选用方舟触发器,即可将函数服务关联到指定的高代码应用ID。 | 获取方舟长效/短效API key,调用时通过方舟统一域名+BotID,使用API key鉴权。 |
APIG触发器-API 网关服务 | 有独立部署网关需求 | 已有APIG:选择关联的APIG。确认部署应用后将创建关联的APIG触发器。 | 获取有效期7天的jwt token,通过APIG调用,使用jwt token鉴权。 |
完成部署后,您可根据业务需求对函数代码进行修改、更新、发布。
等待应用完成部署,函数完成发布后,您就可以在高代码应用页面上和应用交互进行体验了。
在体验中得到的回答,可以点击右侧的“调试按钮”,获取调试信息。
您也可以参考下文修改优化高代码应用,让应用的表现更符合您的预期。
在高代码应用编辑页,点击“更新代码”进入函数代码管理页修改代码。
您可在函数代码页下载最新版本服务对应的代码包。
详见SDK说明文档 应用SDK说明文档--火山方舟大模型服务平台-火山引擎。
将本地代码包打包为zip文件后,上传更新函数代码。
如线上预览耗时较久,可能是代码包较大。建议在本地预览后,上传到函数服务进行发布。
可以联系我们获取 vefaas命令行工具使用说明文档 使用命令行工具,结合本地IDE进行代码编辑和发布等操作。
建议使用灰度发布,防止变更失误影响线上服务
可在函数详情-发布管理找到灰度发布的版本,并调整灰度比例直至全量发布。
完成发布后,可点击对话测试返回
当前高代码应用已支持添加MCP服务,以下为具体操作指南:
由于不同MCP Tool对Python版本及工具版本的依赖存在差异,且火山MCP Hub生态持续迭代,方舟高代码模板无法预先安装所有MCP工具及其依赖。因此,当用户需在模板中调用特定工具时,需在高代码对应的FaaS函数中手动完成依赖安装与配置更新。
接入的MCP Tool需满足以下条件:
-t定义MCP Server的连接方式;PORT定义MCP Server的部署端口;requirements.txt的工具版本无冲突。mcp_server_vefaas_sandbox为例)requirements.txt中添加该工具依赖。# ...其他requirement mcp-server-vefaas-sandbox @ git+https://github.com/volcengine/mcp-server#subdirectory=server/mcp_server_vefaas_sandbox
mcp_servers_connection.json。在available_mcp_servers对象中新增配置项"mcp-server-vefaas-sandbox",内容如下:
"mcp-server-vefaas-sandbox": { "transport": { "command": "-t" }, "port": { "env": "8000" } }
mcp_server_rds_mysql为例)若MCP Tool不满足前置条件(如mcp_server_rds_mysql通过环境变量MCP_SERVER_PORT定义端口,且依赖mcp[cli]>=1.10.0与现有环境冲突),需先修改MCP Server实现,参考方式如下:
将火山MCP Hub代码库 fork至个人仓库;
修改server/mcp_server_rds_mysql下的工具实现,使其满足前置条件:
PORT环境变量):mcp_server = FastMCP("rds_mysql_mcp_server", port=int(os.getenv("PORT", "8000")))
[project] name = "mcp-server-rds-mysql" version = "0.1.0" description = "MCP server for RDS MySQL" readme = "README.md" requires-python = ">=3.10" dependencies = [ "mcp[cli]>=1.9.2", # 调整版本以解决冲突 "volcengine-python-sdk>=3.0.1", "aiohttp>=3.11.14", "deprecated>=1.2.18", ] [project.scripts] mcp-server-rds-mysql = "mcp_server_rds_mysql.server:main" [build-system] requires = ["hatchling"] build-backend = "hatchling.build"
在模板的requirements.txt中添加个人仓库的依赖:
# ...其他requirement mcp-server-vefaas-sandbox @ git+https://github.com/{你的github id}/mcp-server#subdirectory=server/mcp_server_vefaas_sandbox
后续请参考前文满足条件后的操作。
这种情况大多数是因为mcp server连接失败。可以前往faas实例 -> 资源管理,进入实例webshell中排查连接问题。可以参考下面的常用手段。
Step 1 查看 MCP Server 连接信息
执行以下命令查看所有 MCP Server 的连接配置:
cat /tmp/mcp_config/merged_mcp_servers_config.json
你可能会看到类似的信息:
{ "mcpServers": { "mcp-server-rds-mysql": { "url": "http://localhost:7001/sse" }, // 其他mcp server的连接信息 } }
请依次对这些 url 执行 curl 测试,确认 MCP Server 是否可访问。
Step 2 检查无法访问的 MCP Server
如果某个 url 无法访问,则说明对应的 MCP Server 启动失败。
可以通过查看该 MCP Server 的启动日志来确认失败原因:
cat /tmp/{mcp_server_name}.err.out
例如:
cat /tmp/mcp-server-rds-mysql.err.out