前提条件
通过 SDK 管理评估器需要:- Python:
langsmith>=0.9.8(PyPI) - TypeScript:
langsmith>=0.7.16(npm)
有关安装和设置,请参阅 Python SDK 文档 和 TypeScript SDK 文档。
LANGSMITH_API_KEY 和 LANGSMITH_ENDPOINT 环境变量。请通过环境变量配置您的 API 密钥,而不是将其硬编码。
在下面的示例中,请将 <evaluator-uuid> 等占位符替换为 LangSmith 中的相应信息。本页所有 Python 异步示例都假定它们运行在 async def main(): ... asyncio.run(main()) 内部,如创建代码评估器示例所示。
创建评估器
代码评估器
代码评估器使用您定义的函数为每次运行或示例评分。LLM 作为评判者评估器
LLM 作为评判者评估器引用提示词库中的一个提示词,并将您的运行或示例字段映射到提示词变量。该提示词必须是一个结构化提示词(类型为
StructuredPrompt)。StructuredPrompt 将提示词模板与输出架构相结合,确保模型返回具有定义结构的数据。prompt_repo_handle 是提示词的内部仓库名称,而不是其显示标题或 URL。要查找它,请列出您的工作区提示词并读取 repo_handle 字段,或通过其在 LangSmith 中的标识符检索特定提示词。提示词的标识符可以是以下格式:
promptName(用于私有提示词),例如my-prompt。owner/promptName(用于公共提示词),例如langchain-ai/correctness。
检索评估器
通过 ID 获取单个评估器,以读取其配置,包括名称、类型、反馈键和运行规则。更新评估器
传递与评估器类型匹配的字段:代码评估器使用code_evaluator,LLM 作为评判者评估器使用 llm_evaluator。update 方法仅更改您传递的字段。
配置运行时设置
LLM 作为评判者评估器接受额外的设置,以控制其对追踪进行评分的方式:variable_mapping:将运行或示例字段映射到评判者提示词变量。当评估器运行时应用。use_corrections_dataset和num_few_shot_examples:启用基于人工评分修正的少样本学习。仅当评估器附加到项目或数据集且已提交修正时才应用。
这些设置在下一次评估运行时生效,而不是在您调用
update 时立即生效。列出评估器
按名称、类型、反馈键、附加资源或标签值进行过滤,并对结果进行排序或分页。当您直接迭代返回的对象时,list() 会自动分页遍历所有匹配项。limit 设置每页结果数(1 到 100),而不是总结果数。sort_by 是可选的,接受 created_at 或 updated_at,默认为 created_at。
跟踪评估器花费
检索评估器的预估美元花费和追踪计数:period_start:一个纯日期的 ISO 字符串,例如2026-06-29。传递 datetime 会返回 400 错误。- 窗口:
period_start开始一个固定的 7 天窗口,包含period_start及其后的六天。该窗口是半开放的,[period_start, period_start + 7 days),因此period_end(period_start加 7 天)被排除。例如,period_start为2026-06-29时,涵盖2026-06-29到2026-07-05,而2026-07-06被排除。
- 窗口:
type:将结果范围限定为单一评估器类型,llm或code。省略它则包含所有类型。- 空结果:如果该窗口没有记录任何花费,则返回的
groups列表为空。
请仅传递
group_by、evaluator_id、session_id(LangSmith 追踪项目 UUID)或 dataset_id 中的一个。删除评估器
当评估器附加到追踪项目或数据集时,您无法删除它。请设置delete_run_rules 为 true,以在删除评估器之前删除引用该评估器的运行规则。
相关
- 管理评估器:在 LangSmith UI 中查看和管理评估器。
- 设置 LLM 作为评判者的在线评估器:在 LangSmith UI 中配置 LLM 作为评判者的在线评估器。
- 设置在线代码评估器:在 LangSmith UI 中配置在线代码评估器。
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

