当前位置: 首页 > news >正文

LangChain智能体开发:运行(span)数据格式

LangSmith 以一种简单易于导出和导入的格式存储和处理追踪数据。其中许多字段是可选的或不重要,但为了完整性而包含在内。

字段名称类型描述
idUUIDSpan 的唯一标识符。
名称字符串与 Run 关联的名称。
输入对象提供给 Run 的输入映射或集合。
run_type字符串Run 类型,例如'llm''chain''tool'
start_timedatetimeRun 的开始时间。
end_timedatetimeRun 的结束时间。
extra对象任何额外的 Run 信息。
错误字符串如果 Run 遇到错误,则为错误消息。
输出对象Run 生成的输出映射或集合。
events对象数组与 Run 关联的事件对象列表。这对于使用流执行的 Run 来说是相关的。
tags字符串数组与 Run 关联的标签或标记。
trace_idUUIDRun 所属追踪的唯一标识符。这同时也是追踪根 Run 的id字段
dotted_order字符串分层排序字符串。格式:<run_start_time>Z<run_uuid>.<child_run_start_time>Z<child_run_uuid>
状态字符串Run 执行的当前状态,例如'error''pending''success'
child_run_idsUUID 数组所有子 Run 的 ID 列表。
direct_child_run_idsUUID 数组此 Run 的直接子项的 ID 列表。
parent_run_idsUUID 数组所有父 Run 的 ID 列表。
feedback_stats对象此 Run 的反馈统计信息的聚合。
reference_example_idUUID与 Run 关联的参考示例的 ID。这通常仅存在于评估 Run 中。
total_tokens整数Run 处理的总令牌数。
prompt_tokens整数Run 的提示中的令牌数。
completion_tokens整数Run 的补全中的令牌数。
total_cost小数处理 Run 的总成本。
prompt_cost小数与 Run 提示部分相关的成本。
completion_cost小数与 Run 补全相关的成本。
first_token_timedatetime生成模型输出的第一个令牌的时间。仅适用于启用流的run_type="llm"Run。
session_id字符串Run 的会话标识符,也称为追踪项目 ID。
in_dataset布尔值指示 Run 是否包含在数据集中。
parent_run_idUUID父 Run 的唯一标识符。
execution_order(已弃用)整数Run 在追踪中执行的顺序。
serialized对象如果适用,执行 Run 的对象的序列化状态。
manifest_id(已弃用)UUID与 Span 关联的清单的标识符。
manifest_s3_idUUID清单的 S3 标识符。
inputs_s3_urls对象输入的 S3 URL。
outputs_s3_urls对象输出的 S3 URL。
price_model_idUUID应用于 Run 的定价模型的标识符。
app_path字符串此 Run 的应用程序 (UI) 路径。
last_queued_atdatetimeSpan 上次排队的时间。
share_token字符串用于共享 Run 数据的访问令牌。

以下是 Run 的 JSON 表示形式示例

{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "inputs": {}, "run_type": "llm", "start_time": "2024-04-29T00:49:12.090000", "end_time": "2024-04-29T00:49:12.459000", "extra": {}, "error": "string", "execution_order": 1, "serialized": {}, "outputs": {}, "parent_run_id": "f8faf8c1-9778-49a4-9004-628cdb0047e5", "manifest_id": "82825e8e-31fc-47d5-83ce-cd926068341e", "manifest_s3_id": "0454f93b-7eb6-4b9d-a203-f1261e686840", "events": [{}], "tags": ["foo"], "inputs_s3_urls": {}, "outputs_s3_urls": {}, "trace_id": "df570c03-5a03-4cea-8df0-c162d05127ac", "dotted_order": "20240429T004912090000Z497f6eca-6276-4993-bfeb-53cbbbba6f08", "status": "string", "child_run_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"], "direct_child_run_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"], "parent_run_ids": ["f8faf8c1-9778-49a4-9004-628cdb0047e5"], "feedback_stats": { "correctness": { "n": 1, "avg": 1.0 } }, "reference_example_id": "9fb06aaa-105f-4c87-845f-47d62ffd7ee6", "total_tokens": 0, "prompt_tokens": 0, "completion_tokens": 0, "total_cost": 0.0, "prompt_cost": 0.0, "completion_cost": 0.0, "price_model_id": "0b5d9575-bec3-4256-b43a-05893b8b8440", "first_token_time": null, "session_id": "1ffd059c-17ea-40a8-8aef-70fd0307db82", "app_path": "string", "last_queued_at": null, "in_dataset": true, "share_token": "d0430ac3-04a1-4e32-a7ea-57776ad22c1c" }

什么是dotted_order?Run 的 dotted order 是一个可排序的键,完全指定了它在追踪层次结构中的位置。以下是一个示例:

import langsmith as ls @ls.traceable def grandchild(): p("grandchild") @ls.traceable def child(): grandchild() @ls.traceable def parent(): child()

如果您打印出每个阶段的 ID,可能会得到以下结果

parent run_id=0e01bf50-474d-4536-810f-67d3ee7ea3e7 trace_id=0e01bf50-474d-4536-810f-67d3ee7ea3e7 parent_run_id=null dotted_order=20240919T171648521691Z0e01bf50-474d-4536-810f-67d3ee7ea3e7 child run_id=a8024e23-5b82-47fd-970e-f6a5ba3f5097 trace_id=0e01bf50-474d-4536-810f-67d3ee7ea3e7 parent_run_id=0e01bf50-474d-4536-810f-67d3ee7ea3e7 dotted_order=20240919T171648521691Z0e01bf50-474d-4536-810f-67d3ee7ea3e7.20240919T171648523407Za8024e23-5b82-47fd-970e-f6a5ba3f5097 grandchild run_id=0ec6b845-18b9-4aa1-8f1b-6ba3f9fdefd6 trace_id=0e01bf50-474d-4536-810f-67d3ee7ea3e7 parent_run_id=a8024e23-5b82-47fd-970e-f6a5ba3f5097 dotted_order=20240919T171648521691Z0e01bf50-474d-4536-810f-67d3ee7ea3e7.20240919T171648523407Za8024e23-5b82-47fd-970e-f6a5ba3f5097.20240919T171648523563Z0ec6b845-18b9-4aa1-8f1b-6ba3f9fdefd6

请注意一些不变性

  • id等于 dotted order 的最后 36 个字符(最后一个'Z'之后的后缀)。例如,在孙子 Run 中,请参见0ec6b845-18b9-4aa1-8f1b-6ba3f9fdefd6
  • trace_id等于 dotted order 中的第一个 UUID(即dotted_order.split('.')[0].split('Z')[1]
  • 如果存在parent_run_id,它将是 dotted order 中的倒数第二个 UUID。例如,请参见孙子 Run 中的a8024e23-5b82-47fd-970e-f6a5ba3f5097
  • 如果您用点分割dotted_order,则每个片段的格式为 (<run_start_time>Z<run_id>)

《AI提示工程必知必会》为读者提供了丰富的AI提示工程知识与实战技能。《AI提示工程必知必会》主要内容包括各类提示词的应用,如问答式、指令式、状态类、建议式、安全类和感谢类提示词,以及如何通过实战演练掌握提示词的使用技巧;使用提示词进行文本摘要、改写重述、语法纠错、机器翻译等语言处理任务,以及在数据挖掘、程序开发等领域的应用;AI在绘画创作上的应用,百度文心一言和阿里通义大模型这两大智能平台的特性与功能,以及市场调研中提示词的实战应用。通过阅读《AI提示工程必知必会》,读者可掌握如何有效利用AI提示工程提升工作效率,创新工作流程,并在职场中脱颖而出。

http://www.jsqmd.com/news/482579/

相关文章:

  • UI-TARS-desktop入门必看:从安装到使用的完整操作流程
  • 基于.NET框架的Local AI MusicGen应用开发
  • HUNYUAN-MT赋能AIGC内容创作:多语言剧本与文案智能生成
  • MCP(Model Context Protocol)实践:标准化接入星图Qwen3-14B-AWQ模型服务
  • YOLOv8鹰眼版入门实战:从镜像启动到结果查看完整流程
  • 手机维修师必备:eMMC芯片焊接与数据恢复实战指南(含主流型号对照表)
  • 多功能电子实验控制台:温控+电源+快充一体化硬件平台
  • 墨语灵犀效果对比:法语小说对话体在中文译文中语气词与节奏还原度
  • Translategemma-27b-it长文本翻译优化策略:处理大篇幅文档
  • 5个高效解析技巧:百度网盘直链解析工具解决下载速度优化难题
  • 浅谈 gemini 在省队选拔中的应用
  • 创新科技里提示工程应用,提示工程架构师的行业洞察
  • 在 Highcharts 中实现 Marimekko可变宽度图|示例教程
  • Phi-3-vision-128k-instruct惊艳表现:多图时间序列理解(如实验过程连续截图分析)
  • BlueField DPU升级DOCA 2.9避坑指南:如何解决常见报错与日志分析
  • Phi-3-vision-128k-instruct快速部署:开箱即用镜像+Chainlit前端一键体验
  • 2026年初格宾网采购指南:三家河北靠谱制造厂深度评测 - 2026年企业推荐榜
  • MOS管与电机驱动(二):栅极电阻优化与米勒效应抑制策略
  • SiameseAOE模型在LSTM时间序列分析报告中的模式抽取应用
  • Higcharts 甘特图任务配置|里程碑、进度条创建官方配置文档
  • 可持续集成/持续部署(CI/CD)实践:自动化测试与更新cv_resnet101_face-detection_cvpr22papermogface 服务
  • VideoAgentTrek-ScreenFilter实战:使用Java客户端调用模型服务进行批量视频处理
  • DCT-Net跨语言支持:国际化开发指南
  • C#托盘图标动画显示例子 - 开源研究系列文章
  • Stable-Diffusion-V1-5 在UI/UX设计中的应用:快速生成界面原型与图标
  • 新手必看!Miniconda-Python3.11镜像快速部署PyTorch,解决torchaudio报错
  • GLM-4v-9b保姆级教程:WebUI中启用多轮对话上下文压缩与记忆管理
  • 2026年现阶段,如何选择优质石笼网厂家? - 2026年企业推荐榜
  • SOONet实战案例:智能硬件产品视频说明书——语音问‘如何重置路由器’即跳转
  • cursor 如何退出账号