沙盒是隔离环境,允许代理安全地执行潜在风险操作(如运行任意代码或与文件系统交互),而不会影响您的主基础设施。
从 LangSmith 主页,选择 **沙盒** 来管理您所有的沙盒资源。
环境可用性
| 环境 | 状态 |
|---|---|
GCP US (smith.langchain.com) | 正式发布 |
GCP EU (eu.smith.langchain.com) | 正式发布 |
GCP APAC (apac.smith.langchain.com) | 正式发布 |
AWS US (aws.smith.langchain.com) | 正式发布 |
开始使用
1. 安装 SDK
# uv
uv add "langsmith[sandbox]"
# pip
pip install "langsmith[sandbox]"
npm install langsmith
2. 设置您的 API 密钥
3. 创建并运行沙盒
from langsmith.sandbox import SandboxClient
client = SandboxClient()
with client.sandbox() as sb:
result = sb.run("python -c 'print(2 + 2)'")
print(result.stdout) # "4\n"
const client = new SandboxClient();
const sandbox = await client.createSandbox();
const result = await sandbox.run("node -e 'console.log(2 + 2)'");
console.log(result.stdout); // "4\n"
await sandbox.delete();
4. 将沙盒与您的代理配合使用
要将沙盒接入代理代码,请参阅开源文档:
- 深度代理: 使用
LangSmithSandbox作为后端,涵盖安装、后端创建和清理。 - 沙盒作为代理后端: 将任何沙盒配置为执行后端 为您的代理提供
execute和文件系统工具。 - LangChain / LangGraph integrations:将 LangSmith 沙盒作为第一方选项,或 连接第三方提供商 如 AgentCore、Daytona、E2B、Modal、Runloop 和 Vercel。
资源
Snapshots
从 Docker 镜像构建文件系统镜像或捕获正在运行的沙盒,然后从中启动沙盒。
Service URLs
通过经过身份验证的 URL 访问在沙盒内运行的 HTTP 服务。
Auth proxy
将凭据注入出站 API 请求,而无需硬编码密钥。
Mounts
将 S3 存储桶、GCS 存储桶和公共 Git 仓库附加到沙盒文件系统。
Permissions
控制哪些工作区成员可以在沙盒创建后与其交互。
CLI
从命令行构建快照、管理沙盒、打开控制台和隧道 TCP 端口。
SDK usage
使用 Python 或 TypeScript SDK 以编程方式创建和管理沙盒。
Harbor
在 LangSmith 沙盒上运行 Harbor 评估和部署。