默认情况下,LangSmith 会配置多个 Kubernetes 密钥来存储敏感信息,例如许可证密钥、盐值和其他配置参数。但是,您可能希望使用一个已在 Kubernetes 集群中创建(或通过某种密钥操作器配置)的现有密钥。如果您希望以集中方式管理敏感信息,或者有特定的安全要求,这将非常有用。 默认情况下,我们将配置以下对应于 LangSmith 不同组件的密钥:
  • langsmith-secrets: 此密钥包含许可证密钥和其他一些基本配置参数。要开始使用,请参阅密钥模板。
  • langsmith-redis: 此密钥包含 Redis 连接字符串(如果使用 Redis 集群则为节点 URI)和密码。要开始使用,请参阅 Redis 密钥模板。
  • langsmith-postgres: 此密钥包含 Postgres 连接字符串和密码。要开始使用,请参阅 Postgres 密钥模板。
  • langsmith-clickhouse: 此密钥包含 ClickHouse 连接字符串和密码。要开始使用,请参阅 ClickHouse 密钥模板。

前提条件

  • 一个现有的 Kubernetes 集群
  • 一种在集群中创建 Kubernetes 密钥的方法。可以使用 kubectl、Helm 图表或像 Sealed Secrets 这样的密钥操作器来完成。

参数

您需要创建符合 LangSmith Helm Chart 所配置密钥结构的自定义 Kubernetes 密钥。
这些密钥必须与 LangSmith Helm Chart 所配置的密钥具有相同的结构(请参考上面的链接查看具体的密钥内容)。如果您遗漏了任何必需的键,您的 LangSmith 实例可能无法正常工作。
一个示例密钥可能如下所示:
api_key_salt 设置一次后请勿更改。此值用于哈希所有静态 API 密钥。轮换它将永久使您组织内所有现有的 API 密钥失效,要求所有用户重新生成他们的密钥。

配置

配置好这些密钥后,您可以将 LangSmith 实例配置为直接使用这些密钥,以避免通过明文传递密钥值。您可以通过修改 LangSmith Helm Chart 安装所用的 langsmith_config.yaml 文件来实现。
配置完成后,您需要更新您的 LangSmith 安装。您可以按照升级指南进行操作。如果一切配置正确,您的 LangSmith 实例现在应该可以通过 Ingress 访问了。您可以运行以下命令来检查您的密钥是否正在被正确使用:
您应该在输出中看到类似这样的内容: