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