cohere-terrarium:一款简易Python沙盒环境

cohere-terrarium:一款简易Python沙盒环境

cohere-terrarium A simple Python sandbox for helpful LLM data agents cohere-terrarium 项目地址: https://gitcode.com/gh_mirrors/co/cohere-terrarium

在当今的云计算和代码执行场景中,确保代码执行的安全性是至关重要的。cohere-terrarium 是一款设计巧妙的简易 Python 沙盒环境,适用于执行不可信用户或大型语言模型(LLM)生成的 Python 代码。以下是关于此项目的详细介绍。

项目介绍

cohere-terrarium 是一种低延迟、易于使用且经济的 Python 沙盒环境。它被设计为可以作为 Docker 容器部署,例如在 GCP Cloud Run 上运行,以执行不可信的或由 LLM 生成的代码。其主要特点如下:

  • 执行速度快:在 GCP Cloud Run 上,生成一个简单的 matplotlib 条形图(200 dpi 的 png 格式)仅需 900 毫秒,SVG 版本则仅需 500 毫秒。
  • 成本效益高:在内部测试中,我们在 GCP 上托管 cohere-terrarium 的月费用不到 30 美元(2GB 内存 + 1vCPU,至少一个活动实例 + 按需自动扩展)。
  • 完全隔离:每次调用后,沙盒会完全重置,不保留任何状态。
  • 支持原生输入和输出文件:可以发送任意数量和类型的文件作为请求的一部分,系统将这些文件放入 Python 文件系统中。执行代码后,系统收集所有生成的文件并随响应返回。
  • 支持多种常用包:由于 cohere-terrarium 在 Pyodide 上运行,因此支持 numpy、pandas、matplotlib、sympy 等标准 Python 包。

项目技术分析

cohere-terrarium 的设计采用了多层结构,确保了代码执行的安全性:

  1. 代码执行:Python 代码在 Node.js 进程内解析、编译和执行,通过 CPython 编译为 WebAssembly,不直接在本地运行。这种方法限制了不可信代码的能力:

    • 无法访问文件系统(Pyodide 提供一个隔离的内存文件系统)
    • 无法使用多线程和多进程
    • 无法调用子进程
    • 无法访问主机内存
    • 无法访问其他调用状态:每次调用后,Pyodide 环境会完全重置
    • 无法访问网络或互联网(这是当前设计选择,但将来可能更改)
  2. 部署:Node.js 主机部署在 GCP Cloud Run 容器中,进一步限制了运行时和隔离性。

项目技术应用场景

cohere-terrarium 适用于多种场景,特别是需要执行不可信代码或 LLM 生成的代码的环境。以下是一些典型的应用场景:

  • 在线代码执行平台:为用户提供一个安全的环境,以便在不影响主系统安全的情况下执行用户上传的代码。
  • 数据处理和分析:在处理敏感数据时,确保数据处理环境的安全性,避免数据泄露。
  • 教育和研究:为学生和研究人员提供一个安全的实验环境,以便他们可以自由地测试和执行代码。

项目特点

cohere-terrarium 的特点使其成为一个强大且灵活的解决方案:

  • 安全性:通过完全隔离的沙盒环境和严格的权限控制,确保代码执行的安全性。
  • 易用性:用户可以通过简单的 HTTP 请求执行代码,无需复杂的配置。
  • 扩展性:支持多种常用 Python 包,满足不同用户的需求。

总结而言,cohere-terrarium 是一个理想的 Python 沙盒环境,适用于多种安全和隔离需求。无论是执行不可信代码还是 LLM 生成的代码,cohere-terrarium 都提供了一个安全、高效且经济的解决方案。通过其易于使用的接口和强大的功能,该项目已经成为许多开发者和研究人员的首选工具。

cohere-terrarium A simple Python sandbox for helpful LLM data agents cohere-terrarium 项目地址: https://gitcode.com/gh_mirrors/co/cohere-terrarium

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宋溪普Gale

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值