You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bot Framework Composer能否通过自定义动作/HTTP调用保存对话数据到外部关系型数据库

Bot Framework Composer 保存对话Transcript到外部关系型数据库的实现方案

答案是完全可以,你提到的两种方式都能实现需求,具体操作方案如下:

方案1:通过HTTP调用实现(新手友好,无需修改后端代码框架)

  • 第一步:自行开发对应后端接口,接口接收POST请求,内部封装好和你的关系型数据库(MySQL、SQL Server、PostgreSQL等)的连接、数据写入逻辑即可。
  • 第二步:在Composer的设置页面,将你部署的接口域名添加到允许的外部服务调用列表中。
  • 第三步:在对话流的对应节点(单轮交互结束节点、会话结束节点均可)添加Send an HTTP request内置动作,请求方式选POST,请求地址填你的接口地址,请求体传入需要存储的对话字段即可,常用的transcript字段都可以从Composer内置变量中直接获取:
    • 会话ID:turn.activity.conversation.id
    • 消息发送方ID:turn.activity.from.id
    • 消息内容:turn.activity.text
    • 消息时间戳:turn.activity.timestamp
    • 发送方类型(用户/机器人):turn.activity.from.role

方案2:通过Custom Actions实现(适合复杂存储逻辑,性能更高)

  • 第一步:使用C#创建自定义动作类,继承OnDialogEvent基类,在类内部直接编写关系型数据库的连接、写入逻辑,可直接获取当前会话上下文的全量transcript数据。
  • 第二步:将编写完成的自定义动作打包后导入Composer,之后可以像使用平台内置动作一样,在对话流中拖拽调用该自定义存储动作即可。

额外优化建议

如果需要存储全量完整的对话Transcript,不需要在每个对话节点单独添加存储动作,可以直接配置全局对话中间件,拦截每一轮交互事件自动触发存储逻辑,开发效率更高。

内容的提问来源于stack exchange,提问作者liyk50

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 06:30:00