连接到外部 Redis 数据库
LangSmith 使用 Redis 来支持我们的排队/缓存作。默认情况下,LangSmith 自托管将使用内部 Redis 实例。 但是,您可以将 LangSmith 配置为使用外部 Redis 实例(强烈建议在生产设置中使用)。通过配置外部 Redis 实例,您可以更轻松地管理 Redis 实例的备份、扩展和其他作任务。
要求
- 您的 LangSmith 实例将具有网络访问权限的预置 Redis 实例。我们建议使用托管式 Redis 服务,例如:
- 注意:我们仅正式支持 Redis 版本 >= 5。
- 我们不支持 Redis 集群。
- 默认情况下,我们建议使用至少具有 2 个 vCPU 和 8GB 内存的实例。但是,实际要求将取决于您的跟踪工作负载。我们建议您监控您的 Redis 实例并根据需要进行扩展。
不支持 Redis 集群
某些托管 Redis 服务层可能会在后台使用 Redis 集群,但您可以指向集群中的单个节点。
例如,在 Azure Cache for Redis 上,Premiumtier 及以上层使用 Redis Cluster,因此您需要使用较低的层。
连接字符串
我们使用redis-py连接到 Redis。此库支持各种连接字符串。您可以在此处找到有关连接字符串格式的更多信息。
您需要组装 Redis 实例的连接字符串。此连接字符串应包含以下信息:
- 主机
- 数据库
- 港口
- URL 参数
这将采用以下形式:
"redis://host:port/db?<url_params>"
示例连接字符串可能如下所示:
"redis://langsmith-redis:6379/0"
要使用 SSL,您可以使用rediss://前缀。使用 SSL 的连接字符串示例可能如下所示:
"rediss://langsmith-redis:6380/0?password=foo"
配置
有了连接字符串,您可以将 LangSmith 实例配置为使用外部 Redis 实例。您可以通过修改values文件或.env文件。
- 掌舵
- 码头工人
redis:
external:
enabled: true
connectionUrl: "Your connection url"
# In your .env file
REDIS_DATABASE_URI="Your connection url"
配置完成后,您应该能够重新安装 LangSmith 实例。如果一切都配置正确,您的 LangSmith 实例现在应该正在使用您的外部 Redis 实例。