当前位置: 首页 > backend >正文

突破DIFY沙箱限制,高效处理大文件

DIFY获取传入文件路径并处理文件内容

由于dify代码沙箱自身的安全限制,用户在沙箱环境下的代码无法实现对系统文件的写入和读取操作。如果想利用dify来处理文件数据,就不得不使用官方提供的文档提取器插件,但是使用该插件提取如.xlsx,.csv等格式的数据时,得到的数据可能是原本数据的数倍之大!后续的大模型结点根本接收不了这么庞大的数据量,因此绕过dify的代码沙箱环境是很有必要的。

如图:570kb的.xlsx数据解析出来达到了30mb!

请添加图片描述

1.修改沙箱镜像。

由于官方的sandbox镜像会有安全隔离限制,因此需要先修改官方镜像
请添加图片描述

同时修改代码沙箱配置文件:docker/volumes/sandbox/conf/config.yaml,将代码沙箱的读写权限打开:该配置文件通过allowed_syscalls参数来控制允许开放哪些系统调用命令。
请添加图片描述

2.将本地文件挂载到沙箱容器下。

由于用户上传的文件是临时保存在系统中的,保存路径为app/storage/upload_files/租户id 文件夹下,因此需要将该文件夹挂载到容器下。这样用户就可以直接编写代码对系统文件进行操作。

请添加图片描述

3.编写python代码获取文件路径

参考开源项目:https://github.com/svcvit/Awesome-Dify-Workflow/blob/main/DSL/File_read.yml

成功获取文件路径,接下来就可以对文件类型的数据自行编写python脚本处理了!

![image-20250427150534430](实习.assets/image-20250427150534430.png
请添加图片描述

读取到的Excel数据:

请添加图片描述

http://www.xdnf.cn/news/10125.html

相关文章:

  • 人工智能在智能金融中的创新应用与未来趋势
  • 【面试】喜茶Java面试题目
  • 数学建模之最短路径问题
  • Spring Boot中使用@JsonAnyGetter和@JsonAnySetter处理动态JSON属性
  • Linux中的shell脚本
  • 基于Vite的前端自动化部署方案
  • (一)微服务(垂直AP/分布式缓存/装饰器Pattern)
  • Bootstrap项目 - 个人作品与成就展示网站
  • 【数据集】高分辨率(1 km)月尺度中国气候(降水+最高/低温)数据集(1952–2019)
  • 【目标检测】【ICCV 2021】条件式DETR实现快速训练收敛
  • Flume 自定义拦截器开发实战:添加时间戳与 JSON 处理
  • AI感知与行动:考拉悠然发布空间智能世界模型,让AI走进物理世界
  • AcroForm 表单:动态字段值调整及避免使用 “event.value“
  • 中国城市间地理距离矩阵(2024)
  • 历年南京理工大学计算机保研上机真题
  • linux常用命令笔记
  • 进程生命周期
  • Java八股-数据类型转换有哪些?类型互转会有什么问题?为什么用bigDecimal 不用double ?自动装箱和拆箱?包装类?
  • 简单说一说Modern ABAP这个概念
  • ZC-OFDM雷达通信一体化减小PAPR——直接限幅法
  • CSS级联样式(基础知识)备忘录
  • C# 结合PaddleOCRSharp搭建Http网络服务
  • MySQL大表结构变更利器:pt-online-schema-change原理与实战指南
  • ⼤模型驱动的DeepInsight Copilot在蚂蚁的技术实践
  • LINUX530 rsync定时同步 环境配置
  • 【c语言输入不大于26的整数,输出全部大写字母输入3输出ABC】2022-1-30
  • Java限制单价小数位数方法
  • sward V1.1.4版本发布,支持文档审批及文档导出
  • 天气预报中的AI:更准确的预测如何实现
  • quic为什么没有被大规模应用?