SuperAPI AI 工具集

langsmith-evaluator

智能体与模型

查看项目

更新于 10-15 23:48

技能介绍

用途:在 LangSmith 中构建评估流水线,覆盖三大核心组件:创建评估器(LLM 作为评判、自定义代码)、定义运行函数、以及上传与运行评估。

主要能力:支持离线评估器(签名 (run, example),附属于数据集,用于与期望值对比)与在线评估器(签名 (run),附属于项目,用于生产实时质量检查)。评估器类型包括 LLM 作为评判(适合主观质量,如准确性、有用性、相关性)与自定义代码(适合确定性检查,如精确匹配、轨迹验证、格式合规)。

使用方式:需配置 LANGSMITH_API_KEY(必填)、LANGSMITH_WORKSPACE_ID(可选)、OPENAI_API_KEY(用于 LLM 评判)。Python 依赖:pip install langsmith langchain-openai python-dotenv;JavaScript 依赖:npm install langsmith commander chalk cli-table3 dotenv openai。上传命令示例:python upload_evaluators.py upload my_evaluators.py --name "Trajectory Match" --function trajectory_evaluator --dataset "My Dataset" --replace;在线评估器用 --project。也支持 list 与 delete 子命令。

关键要求:实现前必须先检查——先运行智能体并捕获实际输出,检查输出结构,再编写处理代码;输出结构因框架、智能体类型和配置而异,切勿假设。评估器返回格式为 {"score": value, "comment": "..."},每个评估器只返回一个指标。Python 中本地 evaluate() 的 run 是 RunTree 对象,上传后是 dict,需兼容处理。

限制:LLM 作为评判的上传当前不被脚本支持,仅支持代码评估器;对数据集评估强烈建议先定义本地评估器配合 evaluate(evaluators=[...]) 使用。上传的评估器出于安全原因包访问权限非常有限,仅依赖标准 Python/JavaScript 功能。上传到数据集的评估器在运行实验时会自动执行。必须指定 --dataset 或 --project 之一,不支持全局评估器。脚本在破坏性操作前会提示确认,除非用户明确要求,否则不要使用 --yes。