自托管 LangSmith 是企业计划的附加功能,专为我们最大、最注重安全的客户设计。有关更多详细信息,请参阅定价页面,如果您想获取许可证密钥在您的环境中试用 LangSmith,请联系我们的销售团队
本指南提供使用 Docker 在本地运行 LangSmith 平台以进行开发和测试的说明。
仅用于开发/测试。不要将 Docker Compose 用于生产。对于生产部署,请使用 Kubernetes
本页描述如何为本地测试安装基础 LangSmith 平台。它包括部署管理功能。有关更多详细信息,请查看自托管选项
请注意,Docker Compose 仅限于本地开发环境,不支持容器服务,如 AWS Elastic Container Service、Azure Container Instances 和 Google Cloud Run。

先决条件

  1. 确保 Docker 已安装并在你的系统上运行。你可以通过运行以下命令来验证:
    docker info
    
    如果你在输出中看不到任何服务器信息,请确保 Docker 已正确安装并启动 Docker 守护进程。
    1. 推荐:你的机器上至少有 4 个 vCPU 和 16GB 内存。
      • 你可能需要根据组织规模/使用情况调整我们所有不同服务的资源请求/限制
    2. 磁盘空间:LangSmith 可能需要大量磁盘空间。确保你有足够的可用磁盘空间。
  2. LangSmith 许可证密钥
    1. 你可以从 LangChain 代表处获取此密钥。有关更多信息,请联系我们的销售团队
  3. API 密钥 Salt
    1. 这是一个你可以生成的密钥。它应该是一个随机字符串。
    2. 你可以使用以下命令生成:
    openssl rand -base64 32
    
  4. https://beacon.langchain.com 的出口(如果不在离线模式下运行)
    1. LangSmith 需要到 https://beacon.langchain.com 的出口以进行许可证验证和使用情况报告。这是 LangSmith 正常运行所必需的。你可以在出口部分找到有关出口要求的更多信息。
  5. 配置
    1. 你可以在 .env 文件中设置多个配置选项。你可以在配置部分找到有关可用配置选项的更多信息。

通过 Docker Compose 运行

以下说明如何使用 Docker Compose 运行 LangSmith。这是在没有 Kubernetes 的情况下运行 LangSmith 最灵活的方式。Docker Compose 的默认配置仅用于本地测试,不适用于任何服务暴露到公共互联网的实例。在生产环境中,我们强烈建议使用安全的 Kubernetes 环境。

1. 获取 LangSmith docker-compose.yml 文件

你可以在此处的 LangSmith SDK 存储库中找到 docker-compose.yml 文件和相关文件:LangSmith Docker Compose 文件 docker-compose.yml 文件以及该目录中的所有文件从 LangSmith SDK 复制到你的项目目录。
  • 确保你也复制 users.xml 文件。

2. 配置环境变量

  1. .env.example 文件从 LangSmith SDK 复制到你的项目目录,并将其重命名为 .env
  2. .env 文件中配置适当的值。你可以在配置部分找到可用的配置选项。
你也可以直接在 docker-compose.yml 文件中设置这些环境变量,或在终端中导出它们。我们建议在 .env 文件中设置它们。

3. 启动服务器

通过在终端中执行以下命令来启动 LangSmith 应用程序:
docker-compose up
你也可以通过在后台运行来运行服务器:
docker-compose up -d

验证你的部署:

  1. cli-langchain-frontend-1 容器的暴露端口执行 curl:
    curl localhost:1980/info{"version":"0.5.7","license_expiration_time":"2033-05-20T20:08:06","batch_ingest_config":{"scale_up_qsize_trigger":1000,"scale_up_nthreads_limit":16,"scale_down_nempty_trigger":4,"size_limit":100,"size_limit_bytes":20971520}}
    
  2. 在浏览器中访问 cli-langchain-frontend-1 容器的暴露端口 LangSmith UI 应该在 http://localhost:1980 可见/可操作 .langsmith_ui.png

检查日志

如果任何时候你想检查服务器是否正在运行并查看日志,请运行
docker-compose logs

停止服务器

docker-compose down

使用 LangSmith

现在 LangSmith 正在运行,你可以开始使用它来跟踪你的代码。你可以在自托管使用指南中找到有关如何使用自托管 LangSmith 的更多信息。 你的 LangSmith 实例现在正在运行,但可能尚未完全设置。 如果你使用了基本配置之一,你可能已部署了无身份验证配置。在这种状态下,没有身份验证或用户账户概念,也没有 API 密钥,只要将主机名传递给 LangChain 跟踪器/LangSmith SDK,就可以在没有 API 密钥的情况下直接提交跟踪。 作为下一步,强烈建议你与基础设施管理员合作:
  • 为你的 LangSmith 实例设置 DNS 以启用更轻松的访问
  • 配置 SSL 以确保提交给 LangSmith 的跟踪的传输中加密
  • 为 LangSmith 配置 OAuth 身份验证基本身份验证 以保护你的 LangSmith 实例
  • 保护对你的 Docker 环境的访问,以限制仅访问 LangSmith 前端和 API
  • 将 LangSmith 连接到安全的 Postgres 和 Redis 实例

Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.