写点什么

开发实践,通过融云 IM + Dify 实现 AI 机器人

  • 2025-06-19
    北京
  • 本文字数:1643 字

    阅读完需:约 5 分钟

融云 AI 机器人上线,支持对接 Dify 平台,实现 AI 对话的上下文感知与智能响应。


融云 IM 通过与 Dify 平台的深度无缝集成,打通了 C 端用户与大语言模型(LLM)之间的端到端对话链路,支持流式响应和多轮对话上下文,可广泛应用于 AI 陪伴、智能问答、内容生成等场景,助力开发者和企业构建流畅的智能交互体验。


本文主要介绍如何基于融云 IM 平台集成 AI 机器人,并接入 Dify 平台大模型服务。

整体架构


工作流程:


☑ App Server:管理机器人,处理 Webhook 回调,接收机器人消息。


☑ 用户终端:发送用户消息,接收机器人响应。


☑ IM Server:


▪消息转发,根据回调类型(如 dify_chat, dify_completion)转发至 Dify 对应接口,支持流式/非流式模式。


▪响应处理与会话管理:

流式:实时推送 Dify 增量内容。

非流式:整合完整文本后发送。

会话上下文:存储首次交互的 conversation_id(24 小时有效),后续对话携带此 ID 确保多轮上下文。


☑ Dify:接收消息,推理生成响应,返回流式数据或完整文本。

快速部署


准备工作


在开始集成机器人之前,请确保以下准备工作已完成:


☑ 已在融云开发者控制台创建应用,并获取有效的 App Key 和 App Secret。


☑ 已完成 Dify 的部署(支持自部署或使用云平台服务)。


机器人回调方式


用于将机器人集成到不同平台或系统中,当前支持以下回调方式:


webhook:通过 Webhook 实现自定义回调,适用于灵活对接外部系统。


dify_chat:接入 Dify 平台的“聊天助手”模式,用于构建多轮对话机器人。


dify_completion:接入 Dify 平台的“文本生成”模式,用于生成式内容应用场景。


dify_chatflow:接入 Dify 平台的“Chatflow”模式,用于流程化对话构建。

接入步骤


☑ 创建 Dify 应用:在 Dify 中创建应用,并获取对应的 API 密钥(API Key)。


消息助手采用 dify_chatflow 模式接入大模型服务,该模式支持记忆的复杂多轮对话工作流。

查看 dify-chatflow-dsl.yml 文件来了解完整的 DSL 配置示例。


☑ 创建真实用户:在系统中创建一个用于与机器人交互的真实用户账号。


curl -X POST "https://api.rong-api.com/user/getToken.json" \-H "App-Key: 填写您的App-Key" \ -H "Nonce: 填写您的 Nonce" \ -H "Timestamp: 填写您的 Timestamp" \  -H "Signature: 填写您的Signature" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "userId=LoDld8izA"
复制代码


☑ 配置机器人与回调地址:创建机器人,并配置消息回调地址。当用户向机器人发送消息时,消息将回调至您的系统或 Dify 平台。


与 Dify 集成,可根据实际业务场景选择消息响应模式:


流式模式:适用于大模型生成内容较长或需逐步生成的场景,系统将以流消息(Streaming)方式将响应内容实时发送至用户终端,提升响应速度与用户交互体验。


非流式模式:适用于需要完整响应后再展示的场景,系统将在接收到完整内容后一次性发送给用户。


开发者可按需配置响应模式,灵活适配不同交互体验需求。


☑ 验证接入效果:使用第二步创建的用户账号向机器人发送一条单聊消息,确认用户终端是否能收到来自 Dify 的对话响应。

curl -X POST "https://api.rong-api.com/message/private/publish.json" \  -H "App-Key: 填写您的App-Key" \  -H "Nonce: 填写您的 Nonce" \ -H "Timestamp: 填写您的 Timestamp" \  -H "Signature: 填写您的Signature" \ -H "Content-Type: application/x-www-form-urlencoded" \  --data-urlencode "fromUserId=BesqX1FTg33" \  --data-urlencode "toUserId=bot-001" \  --data-urlencode "objectName=RC:TxtMsg" \ --data-urlencode 'content={"content":"能给我几个 AI 应用场景的点子吗?","extra":""}' 
复制代码


☑ 验证连续对话效果:使用同一用户持续向同一机器人发送消息,验证对话上下文是否正确延续。融云将自动维持与 Dify 的上下文会话,实现连续对话体验。


如下图示,Dify 日志显示共记录了 4 条消息,验证了多轮对话过程中上下文得以正确延续,说明聊天会话在同一上下文中持续进行。


用户头像

专业、简单、稳定的全球互联网通信云 2021-01-26 加入

全球智能通信云服务领导者 连续 9 年,专业 IM 即时通讯云行业第一。 关注【融云全球互联网通信云】,了解更多~

评论

发布
暂无评论
开发实践,通过融云 IM + Dify 实现 AI 机器人_融云 RongCloud_InfoQ写作社区