Skip to content
View as Markdown

LangChain 与 deepagents ​

sandrpod 自带 LangChain 后端,所以 deepagents 智能体可以跑在你自己硬件上的沙箱里, 而不是某个托管服务。

bash
pip install langchain-sandrpod
python
import os
from langchain_sandrpod import SandrPodClient
from deepagents import create_deep_agent

client = SandrPodClient(api_url=os.environ["SANDRPOD_API_URL"],
                        token=os.environ["SANDRPOD_API_TOKEN"])

sb = client.get_sandbox("my-sandbox")
agent = create_deep_agent(model=model, backend=sb)
result = agent.invoke({"messages": [{"role": "user", "content": "画一下 /workspace 里的数据"}]})

或者让客户端管理沙箱生命周期:

python
with client.sandbox("temp-sb") as sb:
    agent = create_deep_agent(model=model, backend=sb)
    agent.invoke({"messages": [{"role": "user", "content": "ls"}]})
# 退出时沙箱被删除

环境变量 ​

变量含义
SANDRPOD_API_URL你的控制面
SANDRPOD_API_TOKENsk_ 工作区 key,或平台 token

如果你已经在用 langchain-e2b ​

在 deepagents 集成里,两个后端驱动的十二项行为完全一致。只要把 E2B_DOMAIN 指向你的 服务器,E2B 那个在 SandrPod 上原样可用 —— 见 E2B 直接替换。选哪个取决于你 已经依赖哪个包,而不是哪个更强。

常见做法 ​

想要怎么做
隔离单个任务with client.sandbox(...),退出即删
复用准备好的环境装好后 snapshot,之后从那个镜像创建
不让智能体上网创建时带 --allow-domain,只列它需要的
保留长对话的文件创建一次,每轮都传同一个沙箱

Apache 2.0 — your clouds, your machines, your rules.