RAGFlow 接入企业微信应用实现原理剖析与最佳实践

背景

近期有医美行业客户咨询我们智能客服产品,期望将自己企业的产品、服务以及报价信息以企微应用的方式给到客户进行体验互动,提升企业运营效率。关于企业微信对接,我们分享下最佳实践,抛砖引玉。效果图如下:

这里也给大家说下我们产品 KnowFlow 企业知识库产品背景:KnowFlow 企业知识库是基于 RAGFlow 深度定开的产品,在原 RAGFlow 产品基础上,我们围绕真实客户落地后的需求反馈,迭代了一些必要的功能,实现企业知识库落地到企业的最后一公里服务。包括不限于以下产品功能点:

  • 用户和团队管理

  • 全新的 UI 交互体验

  • 回答结果支持图文混排

  • 支持 MinerU 等 OCR 引擎增强文档解析能力

  • 增强三方接入能力

关于三方接入,近期经过调研,其实目前整个行业产品形态处于特别初期的阶段,有很大的提升空间,后续 KnowFlow 将会进一步增强三方接口的能力以及配套产品体验。

企业微信应用

企业微信的应用共分为基础应用、三方应用、自建应用。

基础应用:企业微信平台默认提供的一些基础功能和应用。包括像【打卡】、【审批】、【会议】、【微文档】、【邮箱】、【日程】等;

三方应用:第三方服务商(如钉钉打卡宝、OA系统开发商等)为多个企业提供服务所开发的应用,由软件服务商开发,企业在应用市场中选择安装;

自建应用:企业自身开发并使用,仅为自己公司服务的应用。企业开发人员或外包开发,仅面向本企业内部用户

图片

对于智能客服场景,我们选择的自建应用,因客户期望自己能维护知识库,并可以进行校正标注,自建应用可以很方便承载客户需求。

实现原理

要想实现企微的对接,核心的流程如下:

 1.收到消息 ---> 2.产生回复 ---> 3.包装回复 ---> 4.发送回复

要想收发企业微信的消息,比较关键的问题是如何将已有的企业知识库产品和企业微信进行打通。因考虑到产品的扩展性和可维护性,需要持续适配微信、公众号、飞书、钉钉等应用。经过评估,我们选择了 chatgpt-on-wechat 项目对接三方。该项目的优势核心在于开放性,已封装好和各大平台的收发信息接口。我们通过他提供的插件能力迅速的个性化开发。

图片

在上述包装回复阶段,基于 RAGFlow 已开放的 API 能力,我们可以很方便的获取到调用 RAGFlow 的 API。

图片

产品细节

众所周知,企微里支持文本、图片、语音、图文混排等消息类型。如需要全面对接企业微信,是需要花很大精力进行产品设计。

  • 如给客户发节假日祝福,此时如用图文信息,可能会更加适合。

图片

  • 如知识库内容包含图片,是否需要把图片信息发到企业微信

  • 如文档中存在敏感词,是否需要进行过滤

  • 企业微信不支持 MarkDown 语法格式,知识库文本格式如何适配等等

上述问题我们经过不断地调优和迭代,最终实现了现在的产品效果。我们站在客户视角来看, 就会发现诸多产品的瑕疵和问题,但正也是因为这些问题,倒逼着我们的产品朝着更好的方向持续演进。

总结

受制于篇幅,本文着重介绍了企微应用该场景,事实上企业微信近期还推出了「智能机器人」产品,可以在群聊里提供智能机器人能力。这里就不再展开,有兴趣的同学可以深入交流交流。另外 KnowFlow 发布了 v0.2.0 版本,图文混排能力再度升级,支持自定义分块以及坐标溯源在保障文档解析和分块效果的前提下准确定位分块在原文档的位置。

上述所有源码均已开源,欢迎关注「KnowFlow 企业知识库」获取源码和相互交流。

未来展望

RAG 系统最核心的无非是准确性和回复速度,后续将会专注解决 KnowFlow 实战场景下的专项问题,如 Excel 解析MCP 对接提速回复速度等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/79456.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【心海资源】子比主题新增注册与会员用户展示功能模块及实现方法

内容改写: 本次分享的是子比主题顶部展示注册用户与会员信息的功能模块及其实现方式。 你可以通过两种方式启用该功能: 直接在后台进入“外观 → 小工具”启用该展示模块,操作简便;也可将提供的代码覆盖至子比主题目录中&#…

CSDN积分详解(介绍、获取、用途)

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 积分**一、积分类型及用途****二、积分获取途…

【iview】es6变量结构赋值(对象赋值)

变量的解构赋值 以iview的src/index.js中Vue.prototype.$IVIEW改造为例练习下怎么使用变量的解构赋值 原来的写法: const install function(Vue, opts {}) {if (install.installed) return;locale.use(opts.locale);locale.i18n(opts.i18n);Object.keys(iview).fo…

【c++深入系列】:万字详解vector(附模拟实现的vector源码)

🔥 本文专栏:c 🌸作者主页:努力努力再努力wz 💪 今日博客励志语录: 种子破土时从不问‘会不会有光’,它只管生长 ★★★ 本文前置知识: 模版 1.什么是vector 那么想必大家都学过顺…

MySQL基础关键_007_DQL 练习

目 录 一、题目 二、答案(不唯一) 1.查询每个部门薪资最高的员工信息 2.查询每个部门高于平均薪水的员工信息 3. 查询每个部门平均薪资等级 4.查询部门中所有员工薪资等级的平均等级 5.不用分组函数 max 查询最高薪资 6.查询平均薪资最高的部门编…

Jenkis安装、配置及账号权限分配保姆级教程

Jenkis安装、配置及账号权限分配保姆级教程 安装Jenkins下载Jenkins启动Jenkins配置Jenkins入门Jenkins配置配置中文配置前端自动化任务流新建任务拉取代码打包上传云服务并运行配置后端自动化任务流新建任务拉取代码打包上传云服务并运行账号权限分配创建用户分配视图权限安装…

虚函数 vs 纯虚函数 vs 静态函数(C++)

🧩 一图看懂:虚函数 vs 纯虚函数 特性虚函数(Virtual)纯虚函数(Pure Virtual)语法virtual void foo();virtual void foo() 0;是否必须实现✅ 必须在类中实现❌ 不在基类实现,派生类必须实现是…

2025年渗透测试面试题总结-拷打题库36(题目+回答)

网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 2025年渗透测试面试题总结-拷打题库36 PHP代码常见入口函数查找 PHP框架路由方法熟悉度 PHP变量覆盖…

STL之vector容器

vector的介绍 1.vector是可变大小数组的容器 2.像数组一样,采用连续的空间存储,也就意味着可以通过下标去访问,但它的大小可以动态改变 3.每次的插入都要开空间吗?开空间就要意味着先开临时空间,然后在拷贝旧的到新…

[学成在线]22-自动部署项目

自动部署 实战流程 下边使用jenkins实现CI/CD的流程。 1、将代码使用Git托管 2、在jenkins创建任务,从Git拉取代码。 3、拉取代码后进行自动构建:测试、打包、部署。 首先将代码打成镜像包上传到docker私服。 自动创建容器、启动容器。 4、当有代…

74HC123的电路应用场景

74HC123的电路应用场景 **1. 引脚功能示例****2. 核心功能****(1)单稳态触发器****(2)双独立通道****(3)灵活触发方式** **3. 工作原理****4. 典型应用场景****(1)定时与延时控制***…

【人工智能】大模型安全的深度剖析:DeepSeek漏洞分析与防护实践

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 随着大语言模型(LLM)的广泛应用,其安全性问题日益凸显。DeepSeek作为中国领先的开源AI模型,以低成本和高性能著称,但近期暴露的数据库…

《ESP32音频开发实战:I2S协议解析与WAV音频录制/播放全指南》

前言 在智能硬件和物联网应用中,音频处理能力正成为越来越重要的功能——无论是语音交互、环境音采集,还是音乐播放,都离不开高效的音频数据传输与处理。而I2S(Inter-IC Sound)作为专为音频设计的通信协议&#xff0c…

大数据实时数仓的数据质量监控解决方案

实时数仓不仅仅是传统数据仓库的升级版,它更强调数据的实时性、流动性和高可用性,通过对海量数据的即时处理和分析,为企业提供近乎实时的洞察力。这种能力在金融、零售、制造、互联网等行业中尤为关键,例如,电商平台可以通过实时数仓监控用户行为,动态调整推荐算法;金融…

56认知干货:智能化产业

如果在不久的未来,一座高楼大厦的建设,只需将图纸输入系统,无数台机器人就能精准协作完成任务; 电影节的主角不再是人类,动漫与影视作品将不再需要人类创作; 当播种和收获的工作无人参与,所有过程都能自动化进行; 这将预示着我们将迎来一个智能化社会,在这个社会中,…

使用synchronized关键字同步Java线程

问题 在Java多线程编程中,你需要保护某些数据,防止多个线程同时访问导致数据不一致或程序错误。 解决方案 在需要保护的方法或代码段上使用synchronized关键字。 讨论 synchronized关键字是Java提供的同步机制,用于确保在同一时刻只有一…

MATLAB基于格拉姆角场与2DCNN-BiGRU的轴承故障诊断模型

本博客来源于CSDN机器鱼,未同意任何人转载。 更多内容,欢迎点击本专栏目录,查看更多内容。 目录 0 引言 1 格拉姆角场原理 2 2DCNN-BiGRU网络结构 3 应用实例 3.1 数据准备 3.2 格拉姆角场数据提取 3.3 网络模型搭建-重中之重 3.4 …

电气设备器件选型参数---断路器

断路器 一、基本电气参数 额定电压(Ue) 必须≥系统最高工作电压(如380V、660V等)。 注意直流/交流系统的区别,直流断路器需专门设计。 额定电流(In) 根据负载的持续工作电流选择,…

Linux常用命令30——groupadd创建新的用户组

在使用Linux或macOS日常开发中,熟悉一些基本的命令有助于提高工作效率,groupadd命令的功能是创建新的用户组。每个用户在创建时都有一个与其同名的基本组,后期可以使用groupadd命令创建出新的用户组信息,让多个用户加入指定的扩展…

微信小程序 自定义组件 标签管理

环境 小程序环境: 微信开发者工具:RC 1.06.2503281 win32-x64 基础运行库:3.8.1 概述 基础功能 标签增删改查:支持添加/删除单个标签、批量删除、重置默认标签 数据展示:通过对话框展示结构化数据并支持复制 动…