概念
本概念指南涵盖与管理 LangSmith 内的用户、组织和工作区相关的主题。
资源层级结构
组织
组织是 LangSmith 内用户的逻辑分组,具有自己的计费配置。通常,每家公司有一个组织。一个组织可以有多个工作区。有关更多详细信息,请参阅设置指南。
当您首次登录时,将自动为您创建一个个人组织。如果您想与他人协作,您可以创建一个单独的组织并邀请您的团队成员加入。您的个人组织和共享组织之间存在一些重要的区别
功能 | 个人 | 共享 |
---|---|---|
最大工作区数量 | 1 | 可变,取决于计划(请参阅定价页面) |
协作 | 无法邀请用户 | 可以邀请用户 |
计费:付费计划 | 仅限开发者计划 | 所有其他计划均可用 |
工作区
工作区以前称为租户。在过渡期间,某些代码和 API 可能仍会引用旧名称。
工作区是组织内用户和资源的逻辑分组。工作区分隔了资源和访问控制的信任边界。用户可能在工作区中拥有权限,这些权限授予他们访问该工作区中的资源,包括追踪项目、数据集、注释队列和提示。有关更多详细信息,请参阅设置指南。
建议为组织内的每个团队创建一个单独的工作区。为了进一步组织资源,您可以使用资源标签来对工作区内的资源进行分组。
下图显示了示例工作区设置页面:
下图解释了组织、工作区以及限定在工作区内和工作区内的不同资源之间的关系
请参阅下表,了解有关哪些功能在哪个范围(组织或工作区)中可用的详细信息
资源/设置 | 范围 |
---|---|
追踪项目 | 工作区 |
注释队列 | 工作区 |
部署 | 工作区 |
数据集和实验 | 工作区 |
提示 | 工作区 |
资源标签 | 工作区 |
API 密钥 | 工作区 |
设置,包括密钥、反馈配置、模型、规则和共享 URL | 工作区 |
用户管理:邀请用户加入工作区 | 工作区 |
RBAC:分配工作区角色 | 工作区 |
数据保留、使用量限制 | 工作区* |
计划和计费、信用额度、发票 | 组织 |
用户管理:邀请用户加入组织 | 组织** |
添加工作区 | 组织 |
分配组织角色 | 组织 |
RBAC:创建/编辑/删除自定义角色 | 组织 |
* 数据保留设置和使用量限制也即将推出组织级别 ** 自托管安装可能会通过功能标志启用工作区级别的用户组织邀请。有关详细信息,请参阅自托管用户管理文档。
资源标签
资源标签允许您组织工作区内的资源。每个标签都是可以分配给资源的键值对。标签可用于在 UI 和 API 中过滤工作区范围的资源:项目、数据集、注释队列、部署和实验。
每个新工作区都带有两个默认标签键:“应用程序”和“环境”;顾名思义,这些标签可用于根据资源所属的应用程序和环境对其进行分类。可以根据需要添加更多标签。
LangSmith 资源标签与 AWS 等云服务中的标签非常相似。
用户管理和 RBAC
用户
用户是指可以访问 LangSmith 的人。用户可以是一个或多个组织及其组织内的工作区的成员。
组织成员在组织设置中进行管理
工作区成员在工作区设置中进行管理
API 密钥
我们已于 2024 年 10 月 22 日停止支持以 ls__
为前缀的旧版 API 密钥,转而支持个人访问令牌 (PAT) 和服务密钥。我们要求所有新的集成都使用 PAT 和服务密钥。以 ls__
为前缀的 API 密钥自 2024 年 10 月 22 日起将不再有效。
个人访问令牌 (PAT)
个人访问令牌 (PAT) 用于验证对 LangSmith API 的请求。它们由用户创建并限定于用户。PAT 将具有与其创建者用户相同的权限。
PAT 的前缀为 lsv2_pt_
服务密钥
服务密钥与 PAT 类似,但用于代表服务帐户验证对 LangSmith API 的请求。
服务密钥的前缀为 lsv2_sk_
要了解如何创建服务密钥或个人访问令牌,请参阅设置指南
组织角色
组织角色与下面的企业功能 (RBAC) 不同,并且在多个工作区的上下文中使用。您的组织角色决定了您的工作区成员资格特征和您的组织级权限。有关更多信息,请参阅组织设置指南。
选择的组织角色也会影响此处描述的工作区成员资格
组织管理员
授予管理所有组织配置、用户、计费和工作区的完全访问权限。组织管理员
拥有组织中所有工作区的Admin
访问权限组织用户
可以读取组织信息,但不能在组织级别执行任何写入操作。组织用户
可以添加到工作区的子集中,并像往常一样分配工作区角色(如果启用了 RBAC),这些角色指定了工作区级别的权限。
组织用户
角色仅在具有多个工作区的计划的组织中可用。在仅限单个工作区的组织中,所有用户都是 组织管理员
。自定义组织范围的角色尚不可用。
请参阅下表,了解所有组织权限
组织用户 | 组织管理员 | |
---|---|---|
查看组织配置 | ✅ | ✅ |
查看组织角色 | ✅ | ✅ |
查看组织成员 | ✅ | ✅ |
查看数据保留设置 | ✅ | ✅ |
查看使用量限制 | ✅ | ✅ |
管理所有工作区的访问权限 | ✅ | |
管理计费设置 | ✅ | |
创建工作区 | ✅ | |
创建、编辑和删除组织角色 | ✅ | |
邀请新用户加入组织 | ✅ | |
删除用户邀请 | ✅ | |
从组织中移除用户 | ✅ | |
更新数据保留设置* | ✅ | |
更新使用量限制* | ✅ |
工作区角色 (RBAC)
RBAC(基于角色的访问控制)是仅企业客户可用的功能。如果您对此功能感兴趣,请通过 sales@langchain.dev 联系我们的销售团队。其他计划默认对所有用户使用管理员角色。
角色用于定义用户在工作区内拥有的权限集。有三个内置的系统角色无法编辑
管理员
- 拥有对工作区内所有资源的完全访问权限查看者
- 拥有对工作区内所有资源的只读访问权限编辑者
- 拥有除工作区管理(添加/删除用户、更改角色、配置服务密钥)之外的所有权限
组织管理员还可以创建/编辑具有不同资源特定权限的自定义角色。
可以在组织设置的 角色
选项卡下管理角色
有关分配和创建角色的更多详细信息,请参阅访问控制设置指南。
最佳实践
环境隔离
使用资源标签,通过使用默认标签键 Environment
和不同的环境值(例如 dev
、staging
、prod
)来组织资源。这种标签结构将允许您立即组织您的追踪项目,并在我们发布基于属性的访问控制 (ABAC) 时轻松强制执行权限。资源标签上的 ABAC 将提供一种细粒度的方式来限制对生产追踪项目的访问。我们不建议您将工作区用于环境隔离,因为您无法跨工作区共享资源。如果您想将 prompt 从 staging
提升到 prod
,我们建议您改用 prompt 标签。有关更多信息,请参阅文档。
使用量和计费
数据保留
2024 年 5 月,LangSmith 引入了追踪数据的最长保留期限为 400 天。2024 年 6 月,LangSmith 引入了一种新的基于数据保留的定价模型,客户可以配置较短的追踪数据保留期限,以换取高达 10 倍的节省。在本页中,我们将介绍数据保留在 LangSmith 中的工作原理和定价方式。
为什么保留很重要
- 隐私:许多数据隐私法规,例如欧洲的 GDPR 或加利福尼亚州的 CCPA,要求组织在个人数据不再用于收集目的后删除个人数据。设置保留期限有助于遵守此类法规。
- 成本:对于数据保留时间较短的追踪数据,LangSmith 收取的费用较低。有关详细信息,请参阅我们关于如何优化支出的教程。
工作原理
LangSmith 现在根据数据保留分为两个级别的追踪数据,具有以下特征
基础 | 扩展 | |
---|---|---|
价格 | 0.50 美元/1 千条追踪数据 | 5 美元/1 千条追踪数据 |
保留期限 | 14 天 | 400 天 |
保留期结束后删除数据
在指定的保留期结束后,将无法再通过运行表或 API 访问追踪数据。与追踪数据关联的所有用户数据(例如,输入和输出)将在之后的一天内从我们的内部系统中删除。与每个追踪数据关联的某些元数据可能会无限期保留,用于分析和计费目的。
数据保留自动升级
自动升级可能会对您的账单产生影响。请仔细阅读本节,以充分了解您估计的 LangSmith 追踪成本。
当您将某些功能与 基础
级别追踪数据一起使用时,其数据保留将自动升级到 扩展
级别。这将增加保留期限和追踪数据的成本。
以下是追踪数据将在何时升级的完整场景列表
- 向追踪数据上的任何运行添加反馈
- 注释队列接收来自追踪数据的任何运行
- 运行规则匹配追踪数据中的任何运行
为什么要自动升级追踪数据?
我们在追踪数据自动升级模型背后有两个原因
- 我们认为,符合这些条件中的任何一个条件的追踪数据从根本上来说都比其他追踪数据更有趣,因此,用户能够长期保留它们是一件好事。
- 从理念上讲,我们希望对可能没有有意义交互的追踪数据向客户收取低一个数量级的费用。我们认为自动升级使我们的定价模型与 LangSmith 带来的价值保持一致,只有具有有意义交互的追踪数据才按更高的费率收费。
如果您对我们的定价模型有疑问或疑虑,请随时通过 support@langchain.dev 与我们联系,并告知我们您的想法!
数据保留如何影响下游功能?
- 注释队列、运行规则和反馈:使用这些功能的追踪数据将自动升级。
- 监控:即使在基础级别追踪数据的数据保留期结束后,监控选项卡仍将继续工作。它由存在超过 30 天的追踪元数据提供支持,这意味着即使在
基础
级别追踪数据上,您的监控图表也将继续保持准确。 - 数据集:数据集具有无限期的数据保留期限。换句话说,如果您将追踪数据的输入和输出添加到数据集中,它们将永远不会被删除。我们建议,如果您将 LangSmith 用于数据收集,请利用数据集功能。
计费模型
可计费指标
在您的 LangSmith 发票上,您将看到我们收取的两个指标
- LangSmith 追踪数据(基本费用)
- LangSmith 追踪数据(扩展数据保留升级)。
第一个指标包括所有追踪数据,无论级别如何。第二个指标仅计算扩展保留追踪数据的数量。
为什么衡量所有追踪数据 + 升级,而不是基础和扩展追踪数据?
在考虑我们的定价时,一个自然而然的问题是,为什么不直接在发票上显示 基础
级别和 扩展
级别追踪数据的数量?
虽然我们理解这会更直接,但这并不完全符合追踪数据升级的情况。考虑一个 6 月 30 日记录的 基础
级别追踪数据,并在 7 月 3 日升级到 扩展
级别。基础
级别追踪数据发生在 6 月的计费期,但升级发生在 7 月的计费期。因此,我们需要能够独立衡量这两个事件,以便正确向客户收费。
如果您的追踪数据被记录为扩展保留追踪数据,则 基础
和 扩展
指标都将记录相同的时间戳。
成本细分
追踪数据的基本费用为每条追踪数据 0.05 美分。我们将升级定价为使 扩展
保留追踪数据的成本是基础级别追踪数据成本的 10 倍(每条追踪数据 0.50 美分),包括两个指标。因此,每次升级的成本为 0.45 美分。
速率限制
LangSmith 具有速率限制,旨在确保所有用户的服务稳定性。
为了确保访问和稳定性,在以下情况下,LangSmith 将以 HTTP 状态代码 429 响应,指示已超出速率或使用量限制
场景
在我们的应用程序负载均衡器上,1 分钟内的临时吞吐量限制
此 429 是在每个 API 密钥/访问令牌的基础上,在 1 分钟窗口内超出固定数量的 API 调用的结果。窗口的开始时间会略有不同——不保证从时钟分钟的开始时间开始——并且可能会根据应用程序部署事件而变化。
在收到最大事件数后,我们将以 429 响应,直到自评估窗口开始时间起 60 秒已过,然后该过程重复。
此 429 由我们的应用程序负载均衡器抛出,并且是所有 LangSmith 用户(独立于计划级别)确保所有用户服务连续性的机制。
方法 | 端点 | 限制 | 窗口 |
---|---|---|---|
DELETE | 会话 | 30 | 1 分钟 |
POST 或 PATCH | 运行 | 5000 | 1 分钟 |
POST | 反馈 | 5000 | 1 分钟 |
* | * | 2000 | 1 分钟 |
LangSmith SDK 采取措施,通过将来自单个会话 ID 的最多 100 个运行批处理到单个 API 调用中,最大限度地减少达到与运行相关的端点的这些限制的可能性。
计划级别的小时追踪事件限制
此 429 是达到您每小时摄取的最大事件数的结果,并且在从每个时钟小时的开始时间(UTC)开始的固定窗口中评估,并在每个新小时的顶部重置。
在这种上下文中,事件是运行的创建或更新。因此,如果在同一小时窗口内创建运行,然后更新运行,则这将计为 2 个事件,计入此限制。
这由我们的应用程序抛出,并且因计划级别而异,我们的 Startup/Plus 和企业计划级别的组织的小时限制高于我们的免费和开发者计划级别,后者专为个人使用而设计。
计划 | 限制 | 窗口 |
---|---|---|
开发者(未备案付款方式) | 50,000 个事件 | 1 小时 |
开发者(已备案付款方式) | 250,000 个事件 | 1 小时 |
Startup/Plus | 500,000 个事件 | 1 小时 |
企业 | 自定义 | 自定义 |
计划级别的小时追踪数据摄取限制
此 429 是达到您的追踪输入、输出和元数据中摄取的最大数据量的结果,并且在从每个时钟小时的开始时间(UTC)开始的固定窗口中评估,并在每个新小时的顶部重置。
通常,输入、输出和元数据在运行创建和更新事件时都会发送。因此,如果在创建运行时运行大小为 2.0MB,并在同一小时窗口内更新时大小为 3.0MB,则这将计为 5.0MB 的存储空间,计入此限制。
这由我们的应用程序抛出,并且因计划级别而异,我们的 Startup/Plus 和企业计划级别的组织的小时限制高于我们的免费和开发者计划级别,后者专为个人使用而设计。
计划 | 限制 | 窗口 |
---|---|---|
开发者(未备案付款方式) | 500MB | 1 小时 |
开发者(已备案付款方式) | 2.5GB | 1 小时 |
Startup/Plus | 5.0GB | 1 小时 |
企业 | 自定义 | 自定义 |
计划级别的每月唯一追踪数据限制
此 429 是达到您每月摄取的最大追踪数据量的结果,并且在从每个日历月的开始时间(UTC)开始的固定窗口中评估,并在每个新月的开始时间重置。
这由我们的应用程序抛出,并且仅适用于开发者计划级别,当没有备案付款方式时。
计划 | 限制 | 窗口 |
---|---|---|
开发者(未备案付款方式) | 5,000 条追踪数据 | 1 个月 |
自行配置的每月使用量限制
此 429 是达到您的组织管理员配置的使用量限制的结果,并且在从每个日历月的开始时间(UTC)开始的固定窗口中评估,并在每个新月的开始时间重置。
这由我们的应用程序抛出,并且因组织及其配置的设置而异。
在您的应用程序中处理 429 响应
由于某些 429 响应是临时的,并且可能会在后续调用中成功,因此如果您在应用程序中直接调用 LangSmith API,我们建议实施具有指数退避和抖动的重试逻辑。
为了方便起见,使用 LangSmith SDK 构建的 LangChain 应用程序内置了此功能。
重要的是要注意,如果您长时间使端点饱和,则重试可能无效,因为您的应用程序最终将运行足够大的积压,以耗尽所有重试。
如果是这种情况,我们希望更具体地讨论您的需求。请通过 LangSmith 支持 联系我们,提供有关您的应用程序吞吐量需求和示例代码的详细信息,我们可以与您合作,以更好地了解最佳方法是修复错误、更改您的应用程序代码还是不同的 LangSmith 计划。
使用量限制
LangSmith 允许您配置追踪的使用量限制。请注意,这些是使用量限制,而不是花费限制,这意味着它们允许您限制某些事件的发生次数,而不是您将花费的总金额。
LangSmith 允许您设置两个不同的每月限制,镜像我们在前面提到的数据保留指南中讨论的可计费指标
- 所有追踪数据限制
- 扩展数据保留追踪数据限制
这些限制允许您分别限制总追踪数据数和扩展数据保留追踪数据数。
使用量限制的属性
使用量限制是近似的,这意味着我们不保证限制的准确性。在极少数情况下,在开始应用使用量限制之前,可能会有一小段时间处理超过限制阈值的额外追踪数据。
扩展数据保留追踪数据限制的副作用
扩展数据保留追踪数据限制具有副作用。如果已达到限制,则任何可能导致追踪级别自动升级的功能都将变得不可访问。这是因为追踪数据的自动升级将导致创建另一个扩展保留追踪数据,而这反过来应该是不允许的。因此,您不能再
- 匹配运行规则
- 向追踪数据添加反馈
- 将运行添加到注释队列
这些功能中的每一个都可能导致自动升级,因此我们在达到限制时将其关闭。
更新使用量限制
可以从 设置
页面下的 使用量和计费
更新使用量限制。限制值会被缓存,因此可能需要一两分钟才能应用新限制。
相关内容
- 关于如何优化支出的教程