资源层次结构
组织
组织是 LangSmith 中用户的逻辑分组,具有自己的计费配置。通常,每个公司一个组织。一个组织可以有多个工作区。有关更多详细信息,请参阅设置指南。 当您首次登录时,将自动为您创建一个个人组织。如果您想与他人协作,可以创建一个单独的组织并邀请您的团队成员加入。您的个人组织和共享组织之间有一些重要区别:| 功能 | 个人 | 共享 |
|---|---|---|
| 最大工作区数 | 1 | 可变,取决于计划(请参阅定价页面 |
| 协作 | 无法邀请用户 | 可以邀请用户 |
| 计费:付费计划 | 仅限开发者计划 | 所有其他计划可用 |
工作区
工作区以前称为租户。在过渡期间,一些代码和 API 可能仍会引用旧名称。
下图解释了组织、工作区与工作区内各类资源之间的关系:
下表列出了各项功能在组织或工作区范围内的可用情况:
| 资源/设置 | 作用范围 |
|---|---|
| 跟踪项目 | 工作区 |
| 注释队列 | 工作区 |
| 部署 | 工作区 |
| 数据集与实验 | 工作区 |
| 提示 | 工作区 |
| 资源标签 | 工作区 |
| API 密钥 | 工作区 |
| 设置(包括密钥、反馈配置、模型、规则与共享 URL) | 工作区 |
| 用户管理:邀请用户加入工作区 | 工作区 |
| RBAC:分配工作区角色 | 工作区 |
| 数据保留、使用量上限 | 工作区,* |
| 套餐与计费、积分、发票 | 组织 |
| 用户管理:邀请用户加入组织 | 组织,** |
资源标签
资源标签有助于组织工作区内的资源。每个标签都是一个可分配给资源的键值对。您可以在 UI 与 API 中使用标签对工作区范围的资源进行筛选,例如项目、数据集、注释队列、部署与实验。 新建的工作区默认包含两个标签键:Application 与 Environment。顾名思义,这些标签用于按应用与环境对资源分类。您可以按需添加更多标签。
LangSmith 的资源标签与 AWS 等云服务中的标签机制非常相似。
用户管理与 RBAC
用户
用户指拥有 LangSmith 访问权限的人员。用户可以同时属于一个或多个组织及其下的工作区。 组织成员通过组织设置进行管理:
工作区成员通过工作区设置进行管理:
API 密钥
到期日期
创建 API 密钥时,可以选择为其设置到期日期。设置到期时间有助于提升安全性并降低未授权访问的风险。例如,您可以为临时性、需要更高权限的任务设置到期日期。 默认情况下,密钥不会过期。一旦过期,该密钥将失效,无法重新激活或修改到期时间。个人访问令牌(PAT)
PAT 用于对 LangSmith API 发起请求时进行身份验证,由用户创建并绑定到该用户。PAT 拥有与创建者相同的权限。我们建议不要在生产应用中使用 PAT,而是将其用于个人脚本或工具访问 LangSmith API。如果 PAT 所属用户被移出组织,该 PAT 将随之失效。 PAT 前缀为lsv2_pt_
服务密钥
服务密钥与 PAT 类似,但用于代表服务账号访问 LangSmith API。仅管理员可创建服务密钥。建议将其用于需要与 LangSmith API 交互的应用或服务(如 LangGraph 智能体或其他集成)。服务密钥可以限定在单个工作区、多个工作区或整个组织范围内,并可在授权范围内对 API 请求进行认证。 服务密钥前缀为lsv2_sk_
关于如何创建服务密钥或个人访问令牌,请参阅设置指南。
Organization roles
组织角色
组织角色不同于下文的企业功能(RBAC),主要在拥有多个工作区的场景中使用。组织角色决定了您的工作区成员属性及组织层级权限。详情请参阅组织设置指南。 所选组织角色也会影响工作区成员身份:Organization Admin:可完全管理组织配置、用户、计费与所有工作区。组织管理员对组织内所有工作区都具有Admin权限。Organization User:可查看组织信息,但无法在组织层执行写操作,可创建个人访问令牌。组织用户可加入部分工作区,并像往常一样(若启用 RBAC)被分配工作区角色,以指定工作区层级权限。Organization Viewer:与Organization User类似,但无法创建个人访问令牌。(自托管环境需要 Helm Chart 0.11.25+)
只有支持多个工作区的套餐才提供
Organization User 和 Organization Viewer 角色。在仅限单个工作区的组织中,所有用户都是 Organization Admin。组织范围的自定义角色暂未开放。
如需了解如何在组织层禁用 PAT 创建,请参阅安全设置。| Organization Viewer | Organization User | Organization Admin | |
|---|---|---|---|
| View organization configuration | ✅ | ✅ | ✅ |
| View organization roles | ✅ | ✅ | ✅ |
| View organization members | ✅ | ✅ | ✅ |
| View data retention settings | ✅ | ✅ | ✅ |
| View usage limits | ✅ | ✅ | ✅ |
| Create personal access tokens (PATs) | ❌ | ✅ | ✅ |
| Admin access to all workspaces | ❌ | ❌ | ✅ |
| Manage billing settings | ❌ | ❌ | ✅ |
| Create workspaces | ❌ | ❌ | ✅ |
| Create, edit, and delete organization roles | ❌ | ❌ | ✅ |
| Invite new users to organization | ❌ | ❌ | ✅ |
| Delete user invites | ❌ | ❌ | ✅ |
| Remove users from an organization | ❌ | ❌ | ✅ |
| Update data retention settings | ❌ | ❌ | ✅ |
| Update usage limits | ❌ | ❌ | ✅ |
Workspace roles (RBAC)
RBAC(基于角色的访问控制)仅对 Enterprise 客户开放。如需此功能,请联系销售团队。其他套餐默认所有用户均为 Admin 角色。
Admin:对工作区内所有资源具有完全访问权限Viewer:对所有资源仅可读Editor:拥有除工作区管理(添加/移除用户、修改角色、配置服务密钥)外的全部权限 组织管理员还可以创建或编辑自定义角色,为不同资源设置具体权限。 角色可在组织设置的Roles选项卡中管理:
有关分配和创建角色的更多信息,请参阅访问控制设置指南。
Best Practices
最佳实践
Environment Separation
建议使用默认标签键Environment 的资源标签按环境组织资源,为不同环境(如 dev、staging、prod)设置不同标签值。我们不推荐借助多个工作区来区分环境,因为跨工作区无法共享资源,难以在环境之间推广资源(例如提示)。
资源标签 vs. 提示提交标签
两种标签都可以使用
dev、staging、prod 等环境术语,但用途不同:Usage and Billing
使用与计费
Data Retention
本节介绍 LangSmith 的数据保留机制及其计费方式。Why retention matters
- 隐私:GDPR、CCPA 等隐私法规要求在个人数据不再用于最初目的时进行删除,设置保留期有助于满足这些要求。
- 成本:数据保留时间越短的跟踪费用越低。详情可参阅成本优化指南。
How it works
LangSmith 基于数据保留时间提供两种跟踪等级: | | 基础(Base) | 扩展(Extended) | | 价格 | 5 / 每千条 | | 保留时长 | 14 天 | 400 天 | 保留期结束后的数据删除 After the specified retention period, traces are no longer accessible in the tracing project UI or via the API. All user data associated with the trace (e.g. inputs and outputs) is deleted from our internal systems within a day thereafter. Some metadata associated with each trace may be retained indefinitely for analytics and billing purposes. 当您在base 等级的跟踪上使用某些功能时,该跟踪会自动升级到 extended 等级,从而增加保留时间和费用。
以下场景会触发升级:
- 反馈:无论通过手动标注、在线评估器自动生成,或通过 SDK程序化添加,只要向该跟踪(或线程中的任意跟踪)写入反馈,就会升级。
- **注释队列**收到该跟踪中的任何运行。
- **自动化规则**匹配到该跟踪中的任何运行。
- 满足上述条件的跟踪通常更值得保留,延长其保留期能帮助用户保留重要数据。
- 我们希望未被深入使用的跟踪成本更低。自动升级使定价与 LangSmith 的价值保持一致,仅对发生有意义交互的跟踪收取更高费用。
- 注释队列、运行规则与反馈:使用这些功能的跟踪会被自动升级。
- 监控:即便
base等级跟踪的保留期结束,监控选项卡仍可使用。其依赖保存超过 30 天的跟踪元数据,因此监控图表仍然准确。 - 数据集:数据集的保留期无限。如果将跟踪的输入输出添加到数据集中,它们不会被删除。若您使用 LangSmith 做数据收集,建议充分利用数据集功能。
计费模型
计费指标 LangSmith 发票上会显示两项计费指标:- LangSmith Traces(基础费用)
- LangSmith Traces(扩展保留升级)
base 和 extended 的条目数量。原因在于升级发生的时间可能跨越不同的计费周期。例如:某条 base 跟踪在 6 月 30 日创建,并在 7 月 3 日升级为 extended。创建发生在 6 月账期,升级发生在 7 月账期,因此需要分别记录以便准确计费。
如果跟踪在生成时就是扩展保留级别,那么基础费用和扩展升级两项会记录相同的时间戳。
成本构成
每条基础跟踪费用为 0.05 美分。我们将升级费用定价为基础跟踪的 10 倍,即扩展保留跟踪总成本为 0.50 美分(包含基础与升级两项),因此单次升级的费用为 0.45 美分。
Rate Limits
LangSmith 设置了速率限制以确保所有用户的服务稳定性。 在以下场景中,LangSmith 会返回 HTTP 429,提示已超出速率或使用限制:负载均衡层的 1 分钟临时吞吐限制
若同一 API 密钥/访问令牌在 1 分钟窗口内调用次数超出固定阈值,会返回 429。窗口起始时间可能略有偏移(不一定从整分钟开始),并可能因部署事件而变化。 达到阈值后,在窗口开始时间的 60 秒内我们会持续返回 429,随后重新进入下一轮评估。 该限制由应用负载均衡器统一施加,与套餐无关,旨在保障所有用户的稳定访问。| Method | Endpoint | Limit | Window |
|---|---|---|---|
| DELETE | Sessions | 30 | 1 minute |
| POST OR PATCH | Runs | 5000 | 1 minute |
| POST | Feedback | 5000 | 1 minute |
| * | * | 2000 | 1 minute |
LangSmith SDK 会自动对同一 session ID 的运行进行批量处理(单次最多 100 条),以降低触发运行相关端点限流的概率。
套餐级小时事件限制
当进入 UTC 每小时的固定窗口后,一旦摄入事件数达到上限,将返回 429,并在下一个整点重置。 此处的事件指运行的创建或更新。如果在同一小时内创建后又更新一次,则计为 2 个事件。套餐级小时数据摄入限制
当跟踪的输入、输出与元数据累计大小达到阈值时,会返回 429。该限制同样在 UTC 每小时的固定窗口中评估,并在下一个整点重置。 通常运行的创建与更新都会发送输入、输出以及元数据。例如运行在创建时大小为 2.0MB,在同一小时窗口内更新后达 3.0MB,则总计 5.0MB 会计入该限制。 该限制由应用层施加,不同套餐的阈值不同。Startup/Plus 与 Enterprise 套餐拥有更高的小时限制,而 Free 与 Developer 套餐面向个人使用,限制较低。| 套餐 | 限制 | 窗口 |
|---|---|---|
| Developer(无绑定支付方式) | 500MB | 1 小时 |
| Developer(已绑定支付方式) | 2.5GB | 1 小时 |
| Startup/Plus | 5.0GB | 1 小时 |
| Enterprise | 自定义 | 自定义 |
套餐级每月唯一跟踪数量限制
当达到每月可摄取跟踪的最高限额时,会返回 429。该限制在 UTC 每个自然月开始时重置,并在固定窗口内计算。 此响应由我们的应用抛出,仅适用于未绑定支付方式的开发者套餐。| 套餐 | 限制 | 窗口 |
|---|---|---|
| Developer(无绑定支付方式) | 5,000 条 | 1 个月 |
自定义的每月使用量限制
当达到组织管理员配置的使用上限时,会返回 429。该限制同样在 UTC 每个自然月起始时重置,并在固定窗口内计算。 此响应由我们的应用抛出,具体阈值依组织配置而定。Handling 429s responses in your application
由于部分 429 是暂时性的,并可能在后续调用中成功,如果您的应用直接调用 LangSmith API,建议实现带指数退避和抖动的重试逻辑。 使用 LangSmith SDK 构建的 LangChain 应用已内置此机制。请注意,如果长时间持续打满端点,重试可能无法解决问题,应用最终会堆积大量请求并耗尽所有重试机会。如遇此类情况,请联系 LangSmith Support,提供应用的吞吐需求及示例代码。我们会协助评估是修复缺陷、调整应用逻辑,还是改用不同的 LangSmith 套餐更合适。
Usage Limits
LangSmith 支持为跟踪配置使用量上限。请注意,这里限制的是使用量而非消费金额,也就是说它约束的是事件发生的次数,而不是总花费。 LangSmith 提供两个与上述计费指标对应的月度限制:- 全部跟踪数量上限
- 扩展保留跟踪数量上限
使用限制的特性
使用限制为近似值,我们无法保证绝对精确。在极少数情况下,可能会有少量跟踪在阈值之上被处理,然后限制才开始生效。扩展保留限制的副作用
扩展保留上限达到后,任何可能触发跟踪自动升级的功能都将不可用,因为继续升级会创建新的扩展跟踪,违背该限制。因此您将无法:- 匹配运行规则
- 向跟踪添加反馈
- 将运行加入注释队列
更新使用限制
可在Settings > Usage and Billing 页面更新使用限制。由于值会被缓存,新限制可能需要一两分钟才会生效。
相关内容
额外资源
- 版本发布:了解 LangSmith 的版本支持策略,包括 Active、Critical、End of Life 和 Deprecated 等支持级别。