连接到外部 Postgres 数据库
LangSmith 使用 PostgreSQL 数据库作为事务负载和运营数据(除运行记录外的几乎所有内容)的主要数据存储。默认情况下,LangSmith 自托管版本将使用内部的 PostgreSQL 数据库。 然而,您可以配置 LangSmith 以使用外部 PostgreSQL 数据库(在生产环境中强烈推荐)。通过配置外部 PostgreSQL 数据库,您可以更轻松地管理数据库的备份、扩展以及其他运营任务。
需求
- 一个已配置的 Postgres 数据库,您的 LangSmith 实例将拥有对该数据库的网络访问权限。我们建议使用托管的 Postgres 服务,例如:
- 注意:我们仅官方支持 Postgres 版本 >= 14。
- 具有Postgres数据库管理权限的用户。该用户将用于创建必要的表、索引和架构。
- 此用户还需要具备在数据库中创建扩展的能力。我们使用/将尝试安装 btree_gin、btree_gist、pgcrypto、citext 和 pg_trgm 扩展。
- 如果使用除 public 以外的架构,请确保没有其他启用了扩展的架构,或者必须将包含这些扩展的架构添加到您的搜索路径中。
- 默认情况下,我们建议配置至少2个vCPU和8GB内存的实例。然而,实际需求将取决于您的工作负载和用户数量。我们建议您监控Postgres实例并根据需要扩展资源。
连接字符串
\ 您需要提供连接到您的 PostgreSQL 数据库的连接字符串。该连接字符串应包含以下信息:
- 主机
- 端口
- 数据库
- 用户名
- 密码(确保如果有任何特殊字符,对此进行 URL 编码)
- URL 参数
这将采取以下形式:
username:password@host:port/database?<url_params>
一个示例连接字符串可能如下所示:
myuser:mypassword@myhost:5432/mydatabase?sslmode=disable
无 URL 参数时,连接字符串应如下所示:
myuser:mypassword@myhost:5432/mydatabase
配置
手握连接字符串,您可以配置您的 LangSmith 实例以使用外部 Postgres 数据库。您可以通过修改 LangSmith Helm Chart 安装的 values 文件或 Docker 安装的 .env 文件来实现这一点。
- Helm
- Docker
postgres:
external:
enabled: true
connectionUrl: "Your connection url"
# In your .env file
POSTGRES_DATABASE_URI="Your connection url"
配置完成后,您应该能够重新安装您的 LangSmith 实例。如果所有配置均正确无误,您的 LangSmith 实例现在应正在使用外部 PostgreSQL 数据库。