以编程方式使用文档

Harbor 是一个用于在沙盒环境中评估和优化智能体及语言模型的框架,来自 Terminal-Bench。Harbor 在隔离容器中运行每次试验,因此您可以立即跨多个环境并行化评估和发布。

langsmith Harbor 环境在 LangSmith 沙盒上运行这些试验。使用以下方式选择它 -e langsmith 可在 LangSmith 基础设施上执行 Harbor 作业,与 AgentCore、Daytona、E2B 和 Modal 等提供商并列。

前提条件

安装

使用以下命令安装 Harbor langsmith extra:

pip install "harbor[langsmith]"

身份验证

Harbor 使用您的 LangSmith 凭证进行身份验证。设置 API 密钥:

LANGCHAIN_API_KEY 也可以使用。或者,选择一个 LangSmith SDK 配置文件 来代替导出密钥:

运行评估

运行 Harbor 作业并使用以下方式选择 LangSmith 环境 -e langsmith:

harbor run -d "<org/name>" \
  -m "<model>" \
  -a "<agent>" \
  -e langsmith \
  -n "<n-parallel-trials>"

Harbor 为每次试验创建一个 LangSmith 沙盒,在其中运行智能体和验证器,然后在试验完成时拆除沙盒。

配置沙盒环境

LangSmith 环境从文件系统快照启动每个沙盒。在您的 Harbor 任务中提供以下之一:

  • 预构建镜像:设置 [environment].docker_image in task.toml。Harbor 重复使用或从该镜像创建快照。
  • 现有快照:传递 environment.kwargs.snapshot_name 以从 快照 启动(您已创建)。
  • Dockerfile:包含一个 environment/Dockerfile。Harbor 使用以下方式从中构建快照 从 Dockerfile 构建流程,使用任务 environment/ 目录作为构建上下文。

使用环境 kwargs 调整沙盒生命周期,通过命令行传递 --ek:

harbor run -d "<org/name>" \
  -m "<model>" \
  -a "<agent>" \
  -e langsmith \
  -n "<n-parallel-trials>" \
  --ek idle_ttl_seconds=0 \
  --ek delete_after_stop_seconds=7200
  • - idle_ttl_seconds:在此秒数后停止空闲沙盒。设置 0 以禁用空闲超时。
  • - delete_after_stop_seconds:在此秒数后删除已停止的沙盒。

在 LangSmith 上运行 Deep Agents

Deep Agents 通过 Harbor 内置的 langgraph 智能体和 -e langsmith 环境运行在 LangSmith 沙盒上。完整设置:暂存 Deep Agents 包、LangGraph 项目(langgraph.json (包含 deepagent 图),以及精确的 harbor run 命令在 Deep Agents 评估指南中维护:

Running Deep Agents on Harbor / Terminal Bench 2.0

这些 LangSmith 特定选项 (身份验证, -e langsmith,以及 --ek 沙盒生命周期 kwargs)也适用于这些运行。

多容器任务

LangSmith 环境支持多容器任务。在任务定义中包含一个 environment/docker-compose.yaml 文件,以便在每次试验中运行多个容器。请参阅 Harbor 沙盒文档 了解更多详情。