@cloudbase/aiagent-framework
    Preparing search index...

    @cloudbase/aiagent-framework

    @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))
    }

    目前 @cloudbase/aiagent-framework 提供了 IBot 抽象接口 和 BotCore 基类,提供了开发 云开发AI智能体 所需的基本接口定义以基础方法。

    基于这两个 IBot & BotCore 可以更简单方便的实现 云开发 AI 智能体 的开发,并部署到 云函数2.0 上。

    使用方法:

    class MyBot extends BotCore implements IBot {}
    

    MyBot 类继承了 BotCore 类,并实现 IBot 定义的接口,即可实现 云开发 AI 智能体

    该抽象类定义了云开发 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 查询用户反馈

    该类定义了以下属性:

    • BotCore#context - 云函数上下文
    • BotCore#botId - 云开发 BotId
    • BotCore#botTag - 云开发 BotTag
    • BotCore#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)
      • 返回经过整理的聊天记录,保证:
        1. 以用户消息开头
        2. 用户和Agent消息交替出现
        3. 默认以Agent消息结尾(当 removeLastUser 为 true 时)
        4. 无空内容的消息