跳到主要内容

开发函数型智能体

本文介绍如何基于函数型云托管开发、调试、并部署一个AI智能体。

以下为一个简单的 函数型 AI 智能体 示例代码:

const { BotRunner, BotCore } = require("@cloudbase/aiagent-framework");

const ANSWER = "你好,我是一个智能体,但我只会说这一句话。";

class MyBot extends BotCore {
async sendMessage() {
for (let i = 0; i < ANSWER.length; i++) {
// 发送消息给客户端
this.sseSender.send({ data: { content: ANSWER[i] } });
}
// 发送完毕
this.sseSender.end();
}
}

exports.main = (event, context) => BotRunner.run(event, context, new MyBot(context));

该代码的完整项目示例可参考模板:GithubGitee

新建一个文件夹,创建 index.js 并填入以上代码,并运行 npm i @cloudbase/aiagent-framework 安装相关依赖,即可实现一个简单的函数型智能体。

实现 Agent 的关键在于实现 IBot 接口上定义好的方法。借助 BotCore,我们只需要几段代码即可完成实现:

以上代码实现了一个 MyBot 类,它有这几个特点:

云开发智能体开发框架 @cloudbase/aiagent-framework 使用可以参考:https://www.npmjs.com/package/@cloudbase/aiagent-framework

本地开发调试智能体

新建 package.json 文件,并写入以下内容:

{
"name": "function-agent-test",
"main": "index.js",
"scripts": {
"login": "tcb login",
"dev": "tcb cloudrunfunction run -w",
"deploy": "tcb cloudrunfunction deploy"
},
"dependencies": {
"@cloudbase/aiagent-framework": "^1.0.0-beta.10"
},
"devDependencies": {
"@cloudbase/cli": "^2.6.16"
}
}

安装依赖:

npm install

安装完成后,可以输入以下命令进行登录:

npm run login

启动智能体服务

运行以下命令启动服务:

npm run dev

调用智能体服务

命令行使用 cURL 访问

curl 'http://127.0.0.1:3000/v1/aibot/bots/ibot-myBot-botTag/send-message' \
-H 'Accept: text/event-stream' \
-H 'Content-Type: application/json' \
--data-raw '{"msg":"hi"}'

运行结果如下:

Web 使用 @cloudbase/js-sdk 访问

@cloudbase/js-sdk 提供了客户端接入 Agent 接口的方法,可前往 云开发文档 查看。

以下是个使用 @cloudbase/js-sdk 的 HTML 示例:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Test Agent</title>
</head>

<body>
<p id="result"></p>
</body>
<script src="//static.cloudbase.net/cloudbase-js-sdk/2.9.0/cloudbase.full.js"></script>
<script>
const p = document.getElementById("result");

async function main() {
const app = cloudbase.init({
env: "your-env-id", // 填入云开发环境 id
});
const auth = app.auth();
await auth.signInAnonymously();

const ai = await app.ai();
const res = await ai.bot.sendMessage({
botId: "ibot-myBot-botTag",
msg: "hi",
});
for await (let x of res.textStream) {
console.log(x);
p.innerText += x;
}
}

main();
</script>
</html>

本地启动一个服务器,以便能够通过浏览器访问这个 HTML 文件。我们还需要配置一定代理服务,以便能将请求访问到本地服务。以 whistle 举例,按照如下配置:

/.*.api.tcloudbasegateway.com/([^S]*)/ http://localhost:3000/$1

打开网页,查看调用结果:

本地开发部署智能体

运行以下命令部署智能体:

npm run deploy

按提示选择环境、服务名即可。服务名格式须符合 ibot-xxx 格式。

云端开发调试智能体

Step.1: 创建函数型智能体

参考文档 https://docs.cloudbase.net/ai/cbrf-agent/quickstart 描述的流程,创建 函数型智能体。

创建完成后,可在智能体列表也查看到对应的智能体。

cbrf-aiagent-detail

点击 在线开发 后可以进入在线开发页面,进行基于函数型云托管的智能体开发。

Step.2: 开发调试智能体代码

更多示例代码可查看:

  • 空白 Agent 示例 Github
  • 基于 DeepSeek Agent 示例 Github
  • 元器 Agent 示例 Github
  • 基于 Mastra Agent 示例 Github

参考文档