我比较关注两个功能
1,Agent 中支持code组件
2,增强了图片显示,聊天和搜索中的图片现在直接在响应中渲染,而非作为外部引用。知识检索测试可以直接检索图片,而非从图片中提取的文本。
agent中的code 组件
ragflow的agent 我们理解为工作流即可。在前端agent的设计中,新增了一个代码节点。我们可以在代码节点写脚本来处理一些问题。
• 代码节点依赖的变量来资源其他节点 • 从开始节点获取,这个是靠用户的输入 • 组件输出,这个靠大模型整理或模板转换,建议由模板转换处理 • 从代码提交来看,代码的执行需要 sandbox
在docker-compose-base.yml 中已经有sandbox-executor-manager的容器配置。
图片增强
图片增强我01.18.0的时候,就想写了,刚起头发现已经有人提交了,我就删除了。最开始只是从pdf中提取图片。后来又增加了markdown图片的显示。
我们可以通过解析看到图片都提取出来了
markdown中的图片抽取实现
从代码上可以看到先转成了html,然后获取了所有的img的图片连接,然后作为bytes放到了chunck中,如果一个分片中有多张图片,ragflow会进行合并。(我是直接通过正则获取url)
task_executor.py中又把解析出来的图片流转成了jpg存入到了mino中。上传成功以后,将返回的id放到了chunck中。
前端返回的是一个图片的id
我们看下访问地址,根据访问地址查看下源码
最终从mino中查询到图片,然后返回文件流。
聊天应用
以上是markdown文档中的图片显示效果。
以上是pdf中的文档显示效果。
工具调用
在生成回答节点中,支持工具调用,但是这个功能有点鸡肋,没有外部工具接入,还不如增加MCP的调用。
关于dify和ragflow
• dify作为智能体平台,需要快速构建智能体上dify • ragflow作为rag平台,需要精准rag的上ragflow
