@cloudbase/aiagent-framework
v1.0.0-beta.26
Published
云开发 AI 智能体开发框架
Maintainers
Keywords
Readme
@cloudbase/aiagent-framework
云开发 AI 智能体开发框架
使用示例:
import { TcbEventFunction } from '@cloudbase/functions-typings'
import { BotRunner, BotCore, IBot } from '@cloudbase/aiagent-framework'
class MyBot extends BotCore implements IBot {
// 按接口约定实现对应的方法即可
}
export const main: TcbEventFunction<unknown> = function (event, context) {
return BotRunner.run(event, context, new MyBot(context))
}API 说明
目前 @cloudbase/aiagent-framework 提供了 IBot 抽象接口 和 BotCore 基类,提供了开发 云开发AI智能体 所需的基本接口定义以基础方法。
基于这两个 IBot & BotCore 可以更简单方便的实现 云开发 AI 智能体 的开发,并部署到 云函数2.0 上。
使用方法:
class MyBot extends BotCore implements IBot {}MyBot 类继承了 BotCore 类,并实现 IBot 定义的接口,即可实现 云开发 AI 智能体。
interface IBot 抽象接口
该抽象类定义了云开发 AI 智能体的基本接口,开发者需要对其进行实现。可以通过继承 BotCore 获取基本能力,更加便捷地实现 Ibot 接口。
接口实际是对 AI Agent 中定义的 API的实现。
| HTTP API | IBot Method Name | Description |
|---------------------------------------------------|-----------------------------------|-------------------------|
| POST /v1/aibot/bots/:botId/send-message | sendMessage | 进行 Agent 问答对话 |
| GET /v1/aibot/bots/:botId/records | getChatRecords | 查询 Agent 历史对话信息 |
| POST /v1/aibot/bots/:botId/recommend-questions | getRecommendQuestions | 获取推荐问题 |
| POST /v1/aibot/bots/:botId/feedback | sendFeedback | 提交用户反馈 |
| GET /v1/aibot/bots/:botId/feedback | getFeedback | 查询用户反馈 |
class BotCore 基类
该类定义了以下属性:
BotCore#context- 云函数上下文BotCore#botId- 云开发BotIdBotCore#botTag- 云开发BotTagBotCore#sseSender- 调用BotCore#sseSender.send方法可以向客户端回复Server-Sent Events消息BotCore#chatRecord- 对话记录云开发数据模型
该类还定义了以下方法:
createUserRecord({ record })- 创建用户聊天记录record: 必须包含content(消息内容)和reply(回复的 record_id)- 返回完整的用户聊天记录对象(包含自动生成的 record_id 等字段)
createBotRecord({ record })- 创建 Agent 聊天记录record: 必须包含record_id(记录ID)- 返回包含基础字段的 Agent 聊天记录对象
createRecordPair({ userContent })- 创建 用户-Agent 聊天记录对userContent: 用户消息内容- 返回包含:
userRecord: 用户聊天记录对象botRecord: Agent 聊天记录对象updateBotRecord(content): 异步更新 Agent 聊天记录内容的方法
getChatRecords(params)- 获取聊天记录(IBot 接口默认实现)- 参数包含分页和排序参数
- 返回格式化后的聊天记录列表和总数
getHistoryMessages(option?)- 获取整理后的历史消息option.size: 获取的消息数量(默认20)option.removeLastUser: 是否移除最后一条用户消息(默认true)- 返回经过整理的聊天记录,保证:
- 以用户消息开头
- 用户和Agent消息交替出现
- 默认以Agent消息结尾(当 removeLastUser 为 true 时)
- 无空内容的消息
