以编程方式使用文档

E2B 提供云沙箱,用于在隔离环境中运行 AI 生成的代码。请参阅 E2B 文档 了解注册、身份验证和平台详情。

安装

pip install langchain-e2b
uv add langchain-e2b

身份验证

设置您的 E2B API 密钥:

通过 E2B SDK 创建沙箱时,配置特定于 E2B 的选项,如模板或沙箱生命周期。

创建沙箱

在 Python 中,您使用 E2B SDK 创建沙箱,然后使用 deepagents 后端.

from e2b import Sandbox
from langchain_e2b import E2BSandbox

e2b_sandbox = Sandbox.create()
backend = E2BSandbox(sandbox=e2b_sandbox)

try:
    result = backend.execute("echo hello")
    print(result.output)
finally:
    e2b_sandbox.kill()

与 Deep Agents 配合使用

from e2b import Sandbox
from deepagents import create_deep_agent
from langchain_anthropic import ChatAnthropic
from langchain_e2b import E2BSandbox

e2b_sandbox = Sandbox.create()
backend = E2BSandbox(sandbox=e2b_sandbox)

agent = create_deep_agent(
    model=ChatAnthropic(model="claude-sonnet-4-6"),
    system_prompt="You are a coding assistant with sandbox access.",
    backend=backend,
)

try:
    result = agent.invoke(
        {
            "messages": [
                {"role": "user", "content": "Create a hello world Python script and run it"}
            ]
        }
    )
finally:
    e2b_sandbox.kill()

与 Deep Agents Code 配合使用

langchain-e2b 还发布了用于 Deep Agents Code, so dcode 可以在 E2B 沙箱中运行代理工具调用。将包安装到 dcode 环境,设置您的 API 密钥,然后选择提供商:

dcode --install langchain-e2b --package

dcode --sandbox e2b

E2B 沙箱使用 /home/user 作为默认工作目录。要从特定的 E2B 模板创建沙箱,请设置 E2B_TEMPLATE;要更改沙箱生命周期,请设置 E2B_SANDBOX_TIMEOUT (以秒为单位)。每个变量也接受一个 DEEPAGENTS_CODE_前缀形式(例如, DEEPAGENTS_CODE_E2B_API_KEY),后者优先。

Deep Agents Code 为您管理沙箱生命周期,在启动时创建沙箱,在退出时删除沙箱。

清理

完成后请务必终止 E2B 沙箱,以避免持续消耗资源。

另请参阅: 沙箱.