跳到主要内容

多模态 RAG 以文搜图在 RAGFlow 中的实践,自动化测试为 API 质量保驾护航,KnowFlow 全新 UI 重磅来袭

前言

KnowFlow v2.1.6 版本正式发布,本版本迎来一下三个功能的更新:

  • 以文搜图:将文档上传知识库后,通过文本搜索便可以精准召回文档中的图片

  • API 自动化测试:由于版本迭代频繁,为保证 KnowFlow API 调用方便,将 API 纳入 CI 流程,确保 API 可用

  • 全新 UI 交互:重新定义设计规范,兼顾视觉效果和加速性能,全面重构 UI

KnowFlow 是基于 RAGFlow 二开的企业级知识库产品,专注于知识库高准确率、私有化部署,让企业的知识真正可问、可信、可控。

以文搜图

KnowFlow 支持通过 MinerU 和 Dots OCR 模型解析文件,将 MarkDown 文件进行解析分块并向量化存储。虽然 MinerU 和 Dots 模型可以解析出文档中的图片,但 LLM chat 模型并不能理解图片,用户根据语义搜索相关图片。

KnowFlow 交付的客户中有不少反馈需要搜图这个功能,我们第一时间进行了支撑。

产品使用

  1. 配置视觉模型

  1. 在切片方法中开启图片理解

  1. 等待文件解析完成后,在聊天助手中进行回答

技术实现

技术上相对简单,通过视觉模型对 MinerU 和 Dots 中的图片输出图片增强描述,并将描述输出到 MarkDown 文档进行向量化。 需要注意的是,部分模型对图片的输入 token 有限制,所以我们做了前端的配置项,针对单次送入到模型的图片数量做成可配置,同时也支持自定义图片描述的 format 格式。

全新 UI 设计

KnowFlow 早期的 UI 是找三方设计人员来设计的,其中背景图较大且颜色多样,整体设计规范缺失。我们这次尝试全部交给 AI 来定义设计规范,然后整体进行调整优化 ,设计规范如下:

| 项目   | 值                            | 说明        |
|------|------------------------------|-----------|
| 主色调 | #3b82f6 | 品牌蓝色 |
| 背景色 | #ffffff/#f8fafc | 白色/浅灰 |
| 边框颜色 | #e2e8f0/#f1f5f9 | 轻量边框 |
| 圆角 | 6px/8px/12px | 统一圆角 |
| 阴影 | @shadow-xs | 轻量化 |
| 间距 | 8px/16px/24px/32px/48px/64px | 基于 8px 系统 |
| 过渡动画 | 200ms | 流畅体验 |
| 字体 | 12px-24px | 分级字体系统 |

去除一些花里胡哨的不必要背景图,使用了更快的 CSS 渲染,显著提升前端加载速度。

API 接入自动化测试

由于版本迭代频繁,为保证 API 调用可信,我们编写了 API 自动化测试用例,覆盖了近 80 个接口,验证通过后,将最新的 API 文档输出到官网

缺陷修复

  • 移除 Mineru/Dots/gotenberg 的超时限制,默认不再设置超时
  • 修复聊天引用可能出现的删除线问题
  • 修复 mineru/dots 分块大小修改失效问题

优化

  • 父子分块追加在子标题下面增加父标题,以获取更加完整的上下文语义;优化父子检索复用已有的 retrival 接口
  • 聊天助手默认提示词优化,支持默认显示图文输出
  • 优化创建知识库默认加载 mineru PDF 解析器和 smart 分块方法
  • 父子模式在调试模式下,支持输出父子分块内容和映射关系
  • Mineru/Dots 仅允许选择 smart/regex/title/parent_child 分块方法

未来展望

本版本围绕产品体验,将产品不断打磨,使用户体验更加友好。近期在和客户交流的过程中,KnowFlow 的产品定位也瑜伽清晰:将结构化与非结构化数据治理成对大模型更可信的输入,构建面向未来的数据治理平台,重塑 AI 时代的数据根基。

基于此定位,后续我们将围绕以下产品方向进行迭代:

  • 深入和 dify 框架等 agent 平台的融合
  • 智能问数(含 excel 和各种数据库)

开源

本项目社区版已更新至 v2.0.8 版本,支持 RBAC 简略版以及适配 v0.20.1 版本。 欢迎关注公众号 KnowFlow 企业知识库 加入内部交流群,学习和分享 RAG 知识库。