使用 Docker 自托管 LangSmith
自托管 LangSmith 是为我们最大、最注重安全性的客户设计的企业计划的附加组件。有关更多详细信息,请参阅我们的定价页面,如果您想获得许可证密钥以在您的环境中试用 LangSmith,请通过 sales@langchain.dev 联系我们。
本指南提供了关于安装和设置您的环境以使用 Docker 在本地运行 LangSmith 的说明。您可以使用 LangSmith SDK 或直接使用 Docker Compose 来完成此操作。
先决条件
- 确保 Docker 已安装并在您的系统上运行。您可以通过运行以下命令来验证这一点
如果您在输出中没有看到任何服务器信息,请确保 Docker 已正确安装并启动 Docker 守护程序。
docker info
- 推荐配置:您的机器上至少有 4 个 vCPU,16GB 可用内存。
- 您可能需要根据组织规模/使用情况调整我们所有不同服务的资源请求/限制
- 磁盘空间:LangSmith 可能需要大量的磁盘空间。请确保您有足够的可用磁盘空间。
- 推荐配置:您的机器上至少有 4 个 vCPU,16GB 可用内存。
- LangSmith 许可证密钥
- 您可以从您的 Langchain 代表处获得此密钥。有关更多信息,请通过 sales@langchain.dev 联系我们。
- Api 密钥 Salt
- 这是一个您可以生成的密钥。它应该是一个随机的字符字符串。
- 您可以使用以下命令生成此密钥
openssl rand -base64 32
- 出口到
https://beacon.langchain.com
(如果不在离线模式下运行)- LangSmith 需要出口到
https://beacon.langchain.com
以进行许可证验证和使用情况报告。这是 LangSmith 正常运行所必需的。您可以在 出口 部分找到有关出口要求的更多信息。
- LangSmith 需要出口到
- 配置
- 您可以在
.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. 配置环境变量
- 将
.env.example
文件从 LangSmith SDK 复制到您的项目目录,并将其重命名为.env
。 - 在
.env
文件中配置适当的值。您可以在 配置 部分找到可用的配置选项。
您也可以直接在 docker-compose.yml
文件中设置这些环境变量,或在您的终端中导出它们。我们建议在 .env
文件中设置它们。
2. 启动服务器
通过在您的终端中执行以下命令来启动 LangSmith 应用程序
docker-compose up
您也可以通过运行以下命令在后台运行服务器
docker-compose up -d
验证您的部署:
-
Curl
cli-langchain-frontend-1
容器的暴露端口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}} -
在您的浏览器上访问
cli-langchain-frontend-1
容器的暴露端口Langsmith UI 应该在
http://localhost:1980
可见/可操作
检查日志
如果,在任何时候,您想检查服务器是否正在运行并查看日志,请运行
docker-compose logs
停止服务器
docker-compose down
使用 LangSmith
现在 LangSmith 正在运行,您可以开始使用它来追踪您的代码。您可以在自托管使用指南中找到有关如何使用自托管 LangSmith 的更多信息。
您的 LangSmith 实例现在正在运行,但可能尚未完全设置。
如果您使用了基本配置之一,您可能已部署了无身份验证配置。在这种状态下,没有身份验证或用户帐户或 API 密钥的概念,并且只要主机名传递给 LangChain tracer/LangSmith SDK,就可以直接提交跟踪,而无需 API 密钥。
作为下一步,强烈建议您与您的基础设施管理员合作以
- 为您的 LangSmith 实例设置 DNS 以实现更轻松的访问
- 配置 SSL 以确保传输中加密提交给 LangSmith 的跟踪
- 配置 LangSmith 以进行 oauth 身份验证 或 基本身份验证 以保护您的 LangSmith 实例
- 安全访问您的 Docker 环境,以限制仅对 LangSmith 前端和 API 的访问
- 将 LangSmith 连接到安全的 Postgres 和 Redis 实例