ls_ 元数据参数来实现此目的。
这些元数据参数(均以 ls_ 为前缀)允许您通过标准的 metadata 字段传递模型配置和标识信息。设置后,LangSmith 可以自动计算成本、在 UI 中显示模型信息,并启用跨追踪的过滤和分析。
使用 ls_ 元数据参数来:
- 启用自动成本追踪:通过识别提供商和模型名称,为自定义或自托管模型启用自动成本追踪。
- 追踪模型配置:记录温度、最大令牌数等参数,用于实验比较。
- 过滤和分析追踪:按提供商或配置设置过滤和分析追踪。
- 改进调试:记录每次运行使用的确切模型设置。
基本用法示例
最常见的用例是为自定义模型包装器启用成本追踪。为此,您需要提供两个关键信息:提供商名称 (ls_provider) 和模型名称 (ls_model_name)。它们共同作用,与 LangSmith 的定价数据库进行匹配。
ls_provider 和 ls_model_name 对之外,所有这些参数都是可选的。
所有参数
用户可配置参数
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
ls_provider | string | 是* | 用于成本追踪的 LLM 提供商名称 |
ls_model_name | string | 是* | 用于成本追踪的模型标识符 |
ls_temperature | number | 否 | 使用的温度参数 |
ls_max_tokens | number | 否 | 使用的最大令牌参数 |
ls_stop | string[] | 否 | 使用的停止序列 |
ls_invocation_params | object | 否 | 额外的调用参数 |
ls_provider 和 ls_model_name 必须同时提供才能进行成本追踪
系统生成参数
| 参数 | 类型 | 描述 |
|---|---|---|
ls_run_depth | integer | 追踪树中的深度(0=根,1=子级,等)- 自动计算 |
ls_method | string | 使用的追踪方法(例如 “traceable”)- 由 SDK 设置 |
实验参数
| 参数 | 类型 | 描述 |
|---|---|---|
ls_example_* | any | 以 ls_example_ 为前缀的示例元数据 - 在实验期间添加 |
ls_experiment_id | string (UUID) | 唯一的实验标识符 - 在实验期间添加 |
参数详情
ls_provider
- 类型:
string - 必需: 是(与
ls_model_name一起)
ls_model_name 结合使用,通过匹配 LangSmith 的模型定价数据库 启用自动成本计算。
常见值:
"openai""anthropic""azure""bedrock""google_vertexai""google_genai""fireworks""mistral""groq"- 或任何自定义字符串
- 需要
ls_model_name才能使成本追踪正常工作。 - 与令牌使用数据结合以计算成本。
ls_model_name
- 类型:
string - 必需: 是(与
ls_provider一起)
ls_provider 结合使用,匹配定价数据库以进行自动成本计算。
常见值:
- OpenAI:
"gpt-5.4","gpt-5.4-mini","gpt-3.5-turbo" - Anthropic:
"claude-3-5-sonnet-20241022","claude-3-opus-20240229" - 自定义:任何模型标识符
- 需要
ls_provider才能使成本追踪正常工作。 - 与令牌使用数据结合以计算成本。
ls_temperature
- 类型:
number(可为空) - 必需: 否
- 独立;仅用于追踪。
- 与其他配置参数结合用于实验比较时很有用。
ls_max_tokens
- 类型:
number(可为空) - 必需: 否
- 独立;仅用于追踪。
- 与实际令牌使用结合用于成本分析时很有用。
ls_stop
- 类型:
string[](可为空) - 必需: 否
- 独立;仅用于追踪。
ls_invocation_params
- 类型:
object(任何键值对) - 必需: 否
ls_ 参数的额外模型参数。可以包含提供商特定的设置。
常见参数:
top_p、frequency_penalty、presence_penalty、top_k、seed 或任何自定义参数
使用场景:
当您需要追踪标准参数之外的额外配置时。
示例:
- 独立;存储任意配置。
ls_run_depth
- 类型:
integer - 设置者: LangSmith 后端(自动)
- 无法被覆盖
0= 根运行(顶层)1= 直接子级2= 孙级- 等等。
- 由追踪的父子结构决定。
- 无法手动设置。
ls_method
- 类型:
string - 设置者: SDK(自动)
@traceable 装饰器的 "traceable")。
使用场景:
由追踪 SDK 自动设置。用于调试和分析。
关联关系:
- 由 SDK 根据追踪的创建方式设置。
- 无法手动设置。
ls_example_*
- 类型: 任何(取决于示例元数据)
- 模式:
ls_example_{original_key} - 设置者: LangSmith 实验系统(自动)
ls_example_ 前缀并添加到追踪中。
特殊参数:
ls_example_dataset_split:数据集分割(例如 “train”、“test”、“validation”)
{"category": "technical", "difficulty": "hard"},追踪将获得:
- 自动从示例元数据派生。
- 无法在追踪上手动设置。
ls_experiment_id
- 类型:
string(UUID) - 设置者: LangSmith 实验系统(自动)
- 将运行链接到特定实验。
- 无法手动设置。
参数关系
成本追踪依赖关系
为了使 LangSmith 能够自动计算成本,多个参数必须协同工作。以下是所需条件: 主要要求:ls_provider + ls_model_name
- 两者都应存在才能进行自动成本计算。
- 如果
ls_model_name缺失,系统将回退检查ls_invocation_params中的模型名称。 ls_provider必须与定价数据库中的提供商匹配(或使用自定义定价)。
- 运行必须具有
run_type="llm"(或必须启用任意成本追踪)。 - 追踪中必须存在令牌使用数据(prompt_tokens、completion_tokens)。
- 模型必须存在于定价数据库中,或者已配置自定义定价。
ls_model_name 不在元数据中,系统会在放弃成本追踪之前检查 ls_invocation_params 中的模型标识符(如 "model")。
配置追踪组
这些参数帮助您追踪模型设置,但不影响 LangSmith 的核心功能: 可选,独立工作:ls_temperature、ls_max_tokens、ls_stop
- 这些用于追踪/显示。
- 不影响 LangSmith 行为或成本计算。
- 对于实验比较和调试很有用。
调用参数特殊情况
ls_invocation_params 参数具有双重角色,既是追踪字段又是回退机制:
ls_invocation_params;部分独立,具有回退角色:
- 主要存储用于追踪的任意配置。
- 可以作为回退,在
ls_model_name缺失时用于成本追踪。 - 当
ls_model_name存在时,不直接影响成本计算。
系统参数
这些参数由 LangSmith 自动生成,无法手动设置: 无法由用户设置:ls_run_depth、ls_method、ls_example_*、ls_experiment_id
- 由系统自动设置。
- 用于过滤、分析和系统追踪。
按元数据参数过滤追踪
一旦您将ls_ 元数据参数添加到追踪中,就可以通过 API 或在 LangSmith UI 中交互式地使用它们来过滤和搜索追踪。这使您可以按模型、提供商、配置设置或追踪深度缩小追踪范围。
使用 API
使用Client 类的 list_runs() 方法(Python)或 listRuns() 方法(TypeScript)来基于元数据值查询追踪。过滤语法支持相等检查、比较和逻辑运算符。
- 按提供商或模型过滤以分析特定模型的使用模式或成本
- 按运行深度过滤以仅获取根追踪(深度 0)或特定嵌套级别的子运行
- 按配置过滤以比较具有不同温度、最大令牌或其他设置的实验
使用 UI
在 LangSmith UI 中,使用过滤/搜索栏和过滤语法:相关内容
- 成本追踪指南:了解如何在 LangSmith 中追踪和分析 LLM 成本。
- 记录 LLM 追踪:使用正确的令牌追踪记录 LLM 调用的格式要求。
- 追踪查询语法:过滤和搜索追踪的完整参考。
- 评估快速入门:在数据集上运行实验以比较模型配置。
- 添加元数据和标签:向追踪添加元数据的通用指南。
- 在应用程序中过滤追踪:在代码中以编程方式过滤追踪。
将这些文档连接到 Claude、VSCode 等,通过 MCP 获取实时答案。

