本概述涵盖与在 LangSmith 中管理用户、组织、工作区和应用程序相关的主题。
资源层次结构
组织
组织是 LangSmith 中用户的逻辑分组,用于定义适用于其所有工作区的共享设置。这些设置管理组织范围的关切,而不是工作区内的单个项目。常见的组织级配置包括用户管理、单点登录 (SSO)、OAuth 提供商配置、自定义角色创建、计费和使用量跟踪。通常,每个公司有一个组织。一个组织可以有多个工作区。有关更多详细信息,请参阅 设置指南.
首次登录时,系统会自动为您创建一个个人组织。如果您想与他人协作,可以创建一个单独的组织并邀请团队成员加入。您的个人组织和共享组织之间有几个重要区别:
| 功能 | 个人组织 | 共享组织 |
|---|---|---|
| 最大工作区数量 | 1 | 根据计划而变化(请参阅 定价页面) |
| 协作 | 无法邀请用户 | 可以邀请用户 |
| 计费:付费计划 | 仅限开发者计划 | 所有其他计划均可使用 |
工作区
工作区是组织内用户和资源的逻辑分组。工作区通常用于隔离团队或业务部门,提供项目和及其相关资源之间的分离。工作区分隔资源信任边界和访问控制。用户在工作区级别被授予权限,这决定了他们对该工作区中资源的访问权限,包括跟踪项目、数据集、标注队列和提示词。有关设置详情,请参阅 设置指南 ,有关权限详情请参阅 工作区 (RBAC).
我们建议为组织内的每个团队创建一个单独的工作区。为了进一步组织资源,您可以使用 应用程序 在工作区内对资源进行分组。有关根据团队隔离需求选择不同工作区组织模式的指导,请参阅 工作负载隔离.
应用程序
应用程序是工作区内资源的逻辑分组。应用程序通常是智能体,但您也可以将其用于团队内的任何项目。应用程序通过仅显示当前上下文中应用程序关联的资源来保持 UI 的整洁。
从 LangSmith UI主导航侧边栏切换应用程序。使用侧边栏顶部的 **应用程序** 下拉菜单选择一个应用程序。
任何资源都可以在不标记到应用程序的情况下创建。当选择 **所有应用程序** 已选择此选项。
资源
资源是用于构建、运行和观察应用程序及代理的具体实体,例如追踪项目、提示词、数据集和部署。资源属于特定应用程序的范围内。
附加信息
下图说明了组织、工作区、应用程序和资源之间的关系: !资源层级结构
请参阅下表,了解哪些功能在哪些范围内可用:
| Resource/Setting | Scope |
|---|---|
| 追踪项目 | 工作区或应用程序 |
| 标注队列 | 工作区或应用程序 |
| 部署 | 工作区或应用程序 |
| 数据集和实验 | 工作区或应用程序 |
| 提示词 | 工作区或应用程序 |
| 资源标签 | 工作区 |
| API 密钥 | 工作区 |
| 包括密钥、反馈配置、模型、规则和共享 URL 在内的设置 | 工作区 |
| 用户管理:邀请用户加入工作区 | 工作区 |
| RBAC:分配工作区角色 | 工作区 |
| Data Retention, Usage Limits | Workspace\* |
| 计划与账单、积分、发票 | 组织 |
| User management: Invite User to Organization | Organization\*\* |
| 添加工作区 | 组织 |
| 分配组织角色 | 组织 |
| RBAC: Creating/Editing/Deleting Custom Roles | Organization |
\* 数据保留设置和使用限制也即将在组织级别推出
\*\* 自行托管的安装可以通过功能标志启用工作区级别的用户邀请加入组织。详情请参阅 自行托管用户管理文档.
资源标签
资源标签允许您进一步在工作区内隔离资源,以便与 ABAC配合使用。每个标签是一个可分配给资源的键值对。
LangSmith 资源标签与云服务中的标签非常相似,例如 AWS.
导航至 **设置** 中的 LangSmith UI 选择侧边栏中的 **资源标签** 页面。
用户管理与 RBAC
用户
用户是拥有 LangSmith 访问权限的人。用户可以是一个或多个组织以及这些组织内工作区的成员。
组织成员在 **设置** 页面的 **成员和角色**.
工作区成员在以下位置管理 **工作区** 页面下的 **设置**.
API 密钥
过期日期
创建 API 密钥时,您可以选择设置过期日期。为密钥添加过期日期可以增强安全性并降低未经授权访问的风险。例如,您可以为需要提升访问权限的临时任务设置过期日期。
默认情况下,密钥永不过期。一旦过期,API 密钥将失效,无法重新激活或修改其过期时间。
个人访问令牌 (PAT)
个人访问令牌 (PAT) 用于向 LangSmith API 验证请求。它们由用户创建并限定范围。PAT 具有与其创建者相同的权限。建议不要使用这些令牌来验证来自您应用的请求,而是使用它们来处理与 LangSmith API 交互的个人脚本或工具。如果与 PAT 关联的用户从组织中移除,PAT 将不再有效。
PAT 以 lsv2_pt_
服务密钥
Service keys are similar to PATs, but are used to authenticate requests to the LangSmith API on behalf of a service account. Only admins can create service keys. We recommend using these for applications / services that need to interact with the LangSmith API, such as LangGraph agents or other integrations. Service keys may be scoped to a single workspace, multiple workspaces, or the entire organization, and can be used to authenticate requests to the LangSmith API for whichever workspace(s) it has access to.
服务密钥以 lsv2_sk_
组织角色
组织角色不同于 企业功能工作区 RBAC ,用于多个 工作区的上下文中。您的组织角色决定了您的工作区成员资格特征和您的 组织级权限.
选定的组织角色也影响工作区成员资格,如下所述:
- - 组织管理员 授予管理所有组织配置、用户、计费和工作区的完全访问权限。
- - 组织管理员拥有
Admin对组织中所有工作区的访问权限。 - - 组织用户 可以读取组织信息,但无法在组织级别执行任何写入操作。组织用户可以创建 个人访问令牌.
- - 组织用户可以被添加到部分工作区,并按常规分配工作区角色(如已启用 RBAC),这些角色指定工作区级别的权限。
- - 组织查看者 相当于组织用户,但不能 **不能** 创建个人访问令牌。(对于自托管,Helm chart 版本 0.11.25+ 可用)。
有关设置组织和工作区的更多信息,请参阅 组织设置指南 了解更多信息。
下表概述了组织级别的权限:
| 组织查看者 | 组织用户 | 组织管理员 | |
|---|---|---|---|
| 查看组织配置 | ✅ | ✅ | ✅ |
| 查看组织角色 | ✅ | ✅ | ✅ |
| 查看组织成员 | ✅ | ✅ | ✅ |
| 查看数据保留设置 | ✅ | ✅ | ✅ |
| 查看使用限制 | ✅ | ✅ | ✅ |
| 创建个人访问令牌 (PATs) | ❌ | ✅ | ✅ |
| 对所有工作区的管理员访问权限 | ❌ | ❌ | ✅ |
| 管理计费设置 | ❌ | ❌ | ✅ |
| 创建工作区 | ❌ | ❌ | ✅ |
| 创建、编辑和删除组织角色 | ❌ | ❌ | ✅ |
| 邀请新用户加入组织 | ❌ | ❌ | ✅ |
| 删除用户邀请 | ❌ | ❌ | ✅ |
| 从组织中移除用户 | ❌ | ❌ | ✅ |
| 更新数据保留设置 | ❌ | ❌ | ✅ |
| 更新使用限制 | ❌ | ❌ | ✅ |
工作区角色 (RBAC)
角色用于定义用户在工作区内的权限集。有三个内置系统角色无法编辑:
- - 工作区管理员 拥有工作区内所有资源的完全访问权限。
- - 工作区编辑者 has full permissions except for workspace management (adding/removing users, changing roles, configuring service keys).
- - 工作区查看者 对工作区内的所有资源拥有只读访问权限。
组织管理员 can also create/edit custom roles with specific permissions for different resources.
您可以在以下位置管理角色 **组织设置** > **成员和角色** 并选择 **角色** tab.
- 关于角色和权限的完整文档,请参阅 基于角色的访问控制 guide. - 有关分配和创建角色的更多详细信息,请参阅 用户管理 guide. -
最佳实践
环境隔离
使用 资源标签 使用默认标签键按环境组织资源 Environment 以及环境的不同值(例如, dev, staging, prod)。我们不建议使用独立的工作区进行环境隔离,因为资源无法在工作区之间共享,这会阻止您在环境之间提升资源(如提示词)。
使用量和计费
数据保留
本节介绍数据保留的工作原理及其在 LangSmith 中的定价方式。
为什么保留很重要
- * **隐私**:许多数据隐私法规(如欧洲的 GDPR 或加州的 CCPA)要求组织在个人数据不再需要用于收集目的时将其删除。设置保留期有助于遵守此类法规。
- * **成本**:LangSmith 对低数据保留的追踪收费较低。更多信息,请了解如何 强制执行消费限制.
工作原理
LangSmith 有两种基于数据保留的追踪层级,具有以下特性:
| 基础版 | 扩展版 | |
|---|---|---|
| **价格** | 请参阅定价页面 | 请参阅定价页面 |
| **保留期限** | 14 天 | 400 天 |
保留期结束后的数据删除
在指定的保留期结束后,追踪将无法再通过追踪项目 UI 或 API 访问。与追踪关联的所有用户数据(例如输入和输出)将在此后一天内从我们的内部系统中删除。每个追踪关联的某些元数据可能会无限期保留,以用于分析和计费目的。
数据保留自动升级
当您使用某些功能时 base 层级的追踪,其数据保留将自动升级到 extended 层级。这将同时增加保留期限和追踪的成本。
追踪将升级的完整场景列表:
- * **反馈** 被添加到追踪上的任何运行(或线程中的任何追踪),无论是通过 手动标注,自动进行 在线评估器,或以编程方式 通过 SDK.
- * An **标注队列** 接收跟踪中的任何运行。
- * An **自动化规则** 匹配跟踪中的任何运行。
为什么要自动升级跟踪?
我们采用跟踪自动升级模型有两个原因:
- 我们认为,符合这些条件中任何一项的跟踪从根本上比其他跟踪更有价值,因此让用户能够保留它们更长时间是有益的。
- 从理念上,我们希望对可能没有实质性交互的跟踪收取低一个数量级的费用。我们认为自动升级使我们的定价模型与 LangSmith 带来的价值保持一致,只有有实质性交互的跟踪才会以更高的费率收费。
如果您对我们的定价模式有疑问或顾虑,请通过以下方式联系客服 support.langchain.com 并分享您的看法!
数据保留如何影响下游功能?
- * **标注队列、运行规则和反馈**:使用这些功能的跟踪将 auto-upgraded.
- * **监控**:即使基础层级跟踪的数据保留期结束,监控标签页仍将继续运行。它由存在超过30天的跟踪元数据提供支持,这意味着即使在
base层级跟踪上,您的监控图表也将继续保持准确。 - * **数据集**数据集具有无限的数据保留期。换句话说,如果您将某个追踪的输入和输出添加到数据集中,它们将永远不会被删除。我们建议,如果您正在使用 LangSmith 进行数据收集,请充分利用数据集功能。
计费模式
计费指标
在您的 LangSmith 发票上,您将看到我们收费的两个指标:
- * LangSmith 追踪(基础费用)
- * LangSmith 追踪(扩展数据保留升级)
第一个指标包括所有追踪,不分层级。第二个指标仅计算扩展保留追踪的数量。
为什么要测量所有追踪 + 升级而不是基础追踪和扩展追踪?
在考虑我们的定价时,一个自然的问题是为什么不直接显示 base 层级和 extended 层级的追踪数量?
虽然我们理解这会更直接,但它不能很好地适应追踪升级。考虑一个 base 层级的追踪,记录于 6 月 30 日,并升级到 extended 层级于 7 月 3 日。该 base 层级的追踪发生在 6 月计费周期,但升级发生在 7 月计费周期。因此,我们需要能够独立测量这两个事件,以便正确地向客户计费。
如果您的追踪被记录为扩展保留追踪,则 base 和 extended 指标都将使用相同的时间戳进行记录。
速率限制
LangSmith 有速率限制,旨在确保所有用户服务的稳定性。
为确保访问和稳定性,LangSmith 将在以下情况下返回 HTTP 状态码 429,表示超出了速率或使用限制:
在我们的应用负载均衡器上,一分钟内的临时吞吐量限制
此 429 是由于在每个服务密钥或 PAT 基础上超过了一分钟内固定数量的 API 调用而导致的。窗口的开始时间会有轻微变化——不保证从整分钟开始——并且可能会根据应用部署事件而变化。
在收到最大事件数后,我们将响应 429,直到达到评估窗口开始后的 60 秒,然后该过程重复。
此 429 由我们的应用负载均衡器抛出,是对所有 LangSmith 用户独立于计划层级的机制,以确保所有用户服务的连续性。
| 方法 | 端点 | 限制 | 窗口 |
|---|---|---|---|
DELETE | /sessions* | 30 | 1 分钟 |
POST OR PATCH | /runs* | 5000 | 1 分钟 |
GET | /runs/:id | 30 | 1 分钟 |
POST | /feedbacks* | 5000 | 1 分钟 |
* | * | 2000 | 1 分钟 |
计划级别每小时追踪事件限制
此 429 是由于达到您的最大每小时事件摄入量所致,并在从 UTC 每个整点开始的固定窗口中进行评估,并在每个新小时开始时重置。
在此上下文中,事件是运行的创建或更新。如果运行被创建,然后在同一小时窗口中更新,则计为该限制的 2 个事件。
This is thrown by our application and varies by plan tier, with organizations on our Startup/Plus and Enterprise plan tiers having higher hourly limits than our Free and Developer Plan Tiers which are designed for personal use.
| 计划 | 限制 | 窗口 |
|---|---|---|
| 开发者(无付款方式存档) | 50,000 事件 | 1 小时 |
| 开发者(有付款方式存档) | 250,000 事件 | 1 小时 |
| Startup/Plus | 500,000 events | 1 hour |
| 企业版 | 自定义 | 自定义 |
计划级别每小时追踪数据摄取限制
此 429 错误是因追踪输入、输出和元数据的最大数据摄取量达到上限而产生的,在 UTC 时间每小时开始时的固定时间窗口内进行评估,并在每小时整点重置。
通常,输入、输出和元数据会在运行创建和更新事件时发送。如果一个运行在同一个小时时间窗口内从 2.0MB 创建并更新到 3.0MB,则计为 5.0MB 的存储量计入此限制。
This is thrown by our application and varies by plan tier, with organizations on our Startup/Plus and Enterprise plan tiers having higher hourly limits than our Free and Developer Plan Tiers which are designed for personal use.
| 计划 | 限制 | 窗口 |
|---|---|---|
| 开发者(无付款方式存档) | 500MB | 1 小时 |
| 开发者(有付款方式存档) | 2.5GB | 1 小时 |
| Startup/Plus | 5.0GB | 1 hour |
| 企业版 | 自定义 | 自定义 |
计划级别每月唯一追踪限制
此 429 错误是因每月追踪摄取量达到最大限制而产生的,在 UTC 时间每月开始时的固定时间窗口内进行评估,并在每月初重置。
此错误由我们的应用程序抛出,仅适用于无付款方式存档时的开发者计划层级。
| 计划 | 限制 | 窗口 |
|---|---|---|
| 开发者(无付款方式存档) | 5,000 条追踪 | 1 个月 |
自助配置的每月使用限制
此 429 错误是因达到组织管理员配置的使用限制而产生的,在 UTC 时间每月开始时的固定时间窗口内进行评估,并在每月初重置。
此错误由我们的应用程序抛出,根据组织配置设置的不同而有所差异。
每条追踪的最大运行次数
运行查询端点
此 POST /runs/query 端点根据查询参数有额外的每租户速率限制。请参阅 使用 SDK 查询追踪 了解更多详情。
在您的应用程序中处理 429 响应
由于某些 429 响应是临时的,后续调用可能会成功,如果您在应用程序中直接调用 LangSmith API,建议您实施带有指数退避和抖动的重试逻辑。
为方便起见,使用 LangSmith SDK 构建的 LangChain 应用程序已内置此功能。
使用限制
LangSmith 允许您配置追踪的使用限制。请注意,这些是 *使用* 限制,不是 *花费* 限制,这意味着它们允许你限制某个事件发生的次数,而不是你将花费的总额。
LangSmith 允许你设置两个不同的月度限制,与前面数据保留指南中讨论的计费指标相对应:
- * 所有追踪限制
- * 扩展数据保留追踪限制
这些分别允许你限制总追踪数量和扩展数据保留追踪数量。
用量限制的特性
用量限制是近似值,这意味着我们不保证限制的精确性。在极少数情况下,在用量限制开始生效之前,可能会有一小段时间处理超过限制阈值的额外追踪。
扩展数据保留追踪限制的副作用
扩展数据保留追踪限制具有副作用。如果已达到限制,任何可能导致追踪层自动升级的功能都将变得不可访问。这是因为追踪的自动升级会导致创建另一个扩展保留追踪,而这不应该被限制允许。因此,你将无法再:
- 匹配运行规则
- 为追踪添加反馈
- 将运行添加到标注队列
这些功能中的每一项都可能导致自动升级,因此我们会在达到限制时将其关闭。
更新用量限制
可以从 Settings 页面下的 Usage and Billing更新用量限制。限制值会被缓存,因此可能需要一两分钟新限制才会生效。
相关内容
- * 有关如何的教程 强制执行支出限制
更多资源
- * **发布政策**:了解自托管发布渠道、发布节奏和版本编号。