跳到主要内容

GenAI Trace字段定义说明

LLM Trace字段是TingYun参考OpenTelemetry标准以及大语言模型应用领域概念制定的,通过对Attributes扩展用于描述LLM应用调用链数据的语义,能够反映LLM的输入输出请求、令牌消耗等关键操作。它们为Completion、Chat、RAG、Agent、Tool等场景提供了丰富的、语境相关的语义数据,以便于数据跟踪和上报。此语义字段将随着社区的发展而不断更新和优化。

Attributes

通用

Attribute类型描述是否必选示例
gen_ai.session.idString会话ID"ddde34343-f93a-4477-33333-sdfsdaf"
gen_ai.user.idString应用的C端用户标识"e1b330b0-d177-4dce-9407-f18ff7f9d600" or "tingyun"
gen_ai.span.kindString操作类型详细信息"LLM"
gen_ai.frameworkString使用的框架类型"dify" or "langchain" ..

Span Kind

在大模型的实际交互场景中,往往会涉及多个操作步骤 。基于LLM应用范式以及应用研发框架,目前定义了如下操作类型,这些操作类型支持扩展,不同的操作类型对应的Attributes字段会存在差异。

  • WORKFLOW:一种将LLM和其他多个组件连接在一起以实现复杂任务的工具,可能包含Retrieval、Embedding、LLM调用等。
  • LLM:标识对大模型的调用,例如基于SDK或OpenAPI请求不同的大模型进行推理或者文本生成等。
  • AGENT:智能体场景,一种复杂的CHAIN,需要基于大模型的推理结果决策执行下一步,例如可能涉及到LLM以及Tool的多次调用,一步步决策得出最终答案。

WORKFLOW

Attribute类型描述是否必选示例
gen_ai.span.kindString操作类型"WORKFLOW"
gen_ai.frameworkString应用框架"dify"
gen_ai.session.idString会话ID"ddde34343-f93a-4477-33333-sdfsdaf"
gen_ai.user.idString应用的C端用户标识"e1b330b0-d177-4dce-9407-f18ff7f9d600" or "tingyun"
gen_ai.workflow.total_stepsString在WORKFLOW中调用的节点数量"12"
gen_ai.workflow.node_typeString在WORKFLOW中调用的节点类型"llm"
gen_ai.workflow.indexString在WORKFLOW中调用的节点位置"6"
gen_ai.statusString执行的最终状态"success"
gen_ai.titleString自定义名称"智能助手"
gen_ai.errorString原始错误信息"Failed to invoke model, Range of input length should be [1, 14000]"}!"
gen_ai.input_textStringAPI请求的内容,一般为JSON格式,有采集长度限制"Who Are You!"
gen_ai.process_dataStringAPI请求的处理数据,有采集长度限制"Hello,Who Are You!"
gen_ai.output_textStringAPI返回的内容,一般为JSON格式,有采集长度限制"I am ChatBot"
gen_ai.usage.input_tokensStringPrompt中的令牌数量"100"
gen_ai.usage.output_tokensStringCompletion中的令牌数量"200"
gen_ai.usage.total_tokensString总令牌数量,包括Prompt和Completion"300"

LLM & AGENT

Attribute类型描述是否必选示例
gen_ai.span.kindString操作类型"LLM" or "AGENT"
gen_ai.frameworkString应用框架"dify"
gen_ai.systemString大模型的提供商"OPENAI"
gen_ai.streamString是否以stream形式响应"True"
gen_ai.session.idString会话ID"ddde34343-f93a-4477-33333-sdfsdaf"
gen_ai.operation.nameString操作二级类型"chat" or "completion"
gen_ai.request.idString请求ID"ddde34343-f93a-4477-33333-sdfsdaf"
gen_ai.request.modelString请求所指向的LLM的名称"gpt-4"
gen_ai.request.stop_sequencesString停止序列的字符串"stop"
gen_ai.request.frequency_penaltyString频率惩罚"1.0"
gen_ai.request.presence_penaltyString重复内容存在惩罚"1.0"
gen_ai.request.repetition_penaltyString重复内容惩罚度"1.0"
gen_ai.request.max_tokensString请求生成的最大令牌数"8192"
gen_ai.request.seedString随机数种子"1234"
gen_ai.request.temperatureStringLLM请求的温度设置"0.1"
gen_ai.request.top_kStringLLM请求的top_k设置"1"
gen_ai.request.top_pStringLLM请求的top_p设置"1"
gen_ai.request.response_formatStringLLM请求设置的响应设置"json"
gen_ai.request.incremental_outputStringLLM请求设置的响应是否为增量输出"True"
gen_ai.response.idString响应ID"ddde34343-f93a-4477-33333-sdfsdaf"
gen_ai.response.modelString生成响应的LLM的名称"gpt-4"
gen_ai.response.finish_reasonString模型停止生成令牌原因"stop"
gen_ai.workflow.node_typeString在WORKFLOW中调用的节点类型"llm"
gen_ai.workflow.indexString在WORKFLOW中调用的节点位置"6"
gen_ai.statusStringLLM调用的最终状态"success"
gen_ai.titleStringLLM调用的自定义名称"智能助手"
gen_ai.errorStringAPI响应的原始错误信息"Failed to invoke model"
gen_ai.request.input_textStringAPI请求的内容,一般为JSON格式,有采集长度限制"Who Are You!"
gen_ai.response.output_textStringAPI返回的内容,一般为JSON格式,有采集长度限制"I am ChatBot"
gen_ai.usage.input_tokensStringPrompt中的令牌数量"100"
gen_ai.usage.output_tokensStringCompletion中的令牌数量"200"
gen_ai.usage.total_tokensString总令牌数量,包括Prompt和Completion"300"
gen_ai.response.first_pack_durationString从请求LLM开始到LLM返回首包耗时,适用于stream场景"10"