跳到主要内容

HTTP 云函数部署

HTTP 云函数是部署 Agent 最快捷的方式,支持自动扩缩容、按量计费,适合轻量级 Agent 和低频调用场景。

前置条件

  • 已开通云开发环境
  • 已安装 Node.js 18+
  • 已完成 Agent 开发

快速部署

1. 项目结构

my-agent/
├── index.js # 入口文件
├── agent.js # Agent 逻辑
└── package.json # 依赖配置

2. Agent 逻辑

// agent.js
const { createAgent: createLangchainAgent } = require("langchain");
const { MemorySaver } = require("@langchain/langgraph");
const { ChatOpenAI } = require("@langchain/openai");
const { clientTools } = require("@cloudbase/agent-adapter-langchain");

const checkpointer = new MemorySaver();

function createLcAgent() {
// 使用云开发内置的大模型端点
const model = new ChatOpenAI({
model: process.env.TCB_AI_MODEL || "hunyuan-turbos-latest",
apiKey: process.env.TCB_API_KEY,
configuration: {
baseURL: `https://${process.env.TCB_ENV_ID}.api.tcloudbasegateway.com/v1/ai/hunyuan/v1`,
},
});

return createLangchainAgent({
model,
checkpointer,
middleware: [clientTools()],
});
}

module.exports = { createLcAgent };

3. 入口文件

// index.js
const { LangchainAgent } = require("@cloudbase/agent-adapter-langchain");
const { createExpressRoutes } = require("@cloudbase/agent-server");
const { createLcAgent } = require("./agent");
const express = require("express");

function createAgent() {
const lcAgent = createLcAgent();
return {
agent: new LangchainAgent({ agent: lcAgent }),
};
}

const app = express();
createExpressRoutes({ createAgent, express: app });

// 云函数入口
exports.main = app;

4. 依赖配置

{
"name": "my-agent",
"version": "1.0.0",
"main": "index.js",
"dependencies": {
"@cloudbase/agent-adapter-langchain": "latest",
"@cloudbase/agent-server": "latest",
"langchain": "latest",
"@langchain/openai": "latest",
"@langchain/langgraph": "latest",
"express": "latest"
}
}

5. 部署

通过云开发控制台上传代码包进行部署:

  1. 进入云开发控制台
  2. 选择「云函数」
  3. 点击「新建云函数」
  4. 选择「HTTP 函数」类型
  5. 上传代码包或在线编辑代码

配置说明

环境变量

在云函数配置中设置环境变量:

变量名说明示例
TCB_ENV_ID云开发环境 IDyour-env-id
TCB_API_KEY云开发 API Keyak-xxx
TCB_AI_MODEL模型名称hunyuan-turbos-latest
TCB_AI_PROVIDER模型提供商(可选)hunyuandeepseek
提示

云开发内置了腾讯混元和 DeepSeek 大模型,无需额外申请外部 API Key。支持的模型列表请参考 大模型配置指南

超时配置

Agent 通常需要较长的执行时间,建议设置较大的超时时间:

  • 推荐超时时间:60-120 秒
  • 最大超时时间:900 秒(15 分钟)

内存配置

根据 Agent 复杂度配置内存:

场景推荐内存
简单对话256MB
带工具调用512MB
复杂工作流1024MB+

HTTP 访问配置

创建 HTTP 访问

部署后需要创建 HTTP 访问才能通过 HTTP 调用:

  1. 进入云开发控制台
  2. 选择「云函数」-「HTTP 访问」
  3. 点击「新建」
  4. 配置路径和鉴权方式

访问地址

配置完成后,Agent 可通过以下地址访问:

https://{envId}.{region}.app.tcloudbase.com/{path}

例如:

https://my-env-xxx.ap-shanghai.app.tcloudbase.com/agent

鉴权配置

鉴权方式说明适用场景
无鉴权公开访问测试环境
云开发鉴权需要登录态生产环境
危险

生产环境强烈建议开启鉴权,避免接口被滥用。

本地调试

本地运行

# 安装依赖
npm install

# 设置环境变量
export TCB_ENV_ID=your-env-id
export TCB_API_KEY=your-api-key
export TCB_AI_MODEL=hunyuan-turbos-latest

# 运行
node -e "const app = require('./index').main; app.listen(3000, () => console.log('Running on http://localhost:3000'))"

测试请求

curl -X POST http://localhost:3000 \
-H "Content-Type: application/json" \
-d '{
"messages": [
{"id": "1", "role": "user", "content": "你好"}
]
}'

监控与日志

查看日志

通过云开发控制台查看函数日志:

  1. 进入云开发控制台
  2. 选择「云函数」-「日志」
  3. 选择对应的函数查看日志

性能监控

在控制台查看:

  • 调用次数
  • 平均耗时
  • 错误率
  • 内存使用

常见问题

1. 超时错误

问题:函数执行超时

解决

  • 增加超时时间配置
  • 优化 Agent 逻辑,减少不必要的 API 调用
  • 考虑使用云托管部署

2. 冷启动慢

问题:首次调用响应慢

解决

  • 减少依赖包大小
  • 使用预置并发
  • 优化初始化逻辑

3. 内存不足

问题:OOM 错误

解决

  • 增加内存配置
  • 优化内存使用
  • 避免加载大型模型

最佳实践

  1. 使用环境变量:敏感信息通过环境变量配置
  2. 设置合理超时:根据 Agent 复杂度设置超时时间
  3. 开启鉴权:生产环境必须开启鉴权
  4. 监控日志:定期检查日志和性能指标
  5. 错误处理:实现完善的错误处理逻辑

相关文档