全部產品
Search
文件中心

Application Real-Time Monitoring Service:LLM Trace欄位定義說明

更新時間:Mar 20, 2026

LLM Trace欄位是阿里雲參考OpenTelemetry標準以及大語言模型應用領域概念制定的,通過對Attributes、Resource、Event擴充用於描述LLM應用調用鏈資料的語義,能夠反映LLM的輸入輸出請求、令牌消耗等關鍵操作。它們為Completion、Chat、RAG、Agent、Tool等情境提供了豐富的、語境相關的語義資料,以便於資料跟蹤和上報。

此語義欄位將隨著社區的發展而不斷更新和最佳化。若應用為 Python 應用,需自行手動採集可觀測資料,您可以使用 loongsuite-util-genai 組件來協助您完成資料的採集接入。詳情參見 README

Span一級欄位定義參考OpenTelemetry開源標準,阿里雲Managed Service for OpenTelemetry底層儲存的Trace一級欄位詳細說明,請參見調用鏈分析參數說明

說明

LLM相關的SpanKind是一個Attribute,不同於OpenTelemetry中Trace定義的Span kind。本語義規範在 OpenTelemetry GenAI 語義規範的基礎上進行擴充,該規範在修改和完善當中,可能會在後續的維護中發生修改。

公用部分

Attributes

AttributeKey

Description

類型

樣本值

需求等級

gen_ai.session.id

會話ID

string

ddde34343-f93a-4477-33333-sdfsdaf

有條件時必須

gen_ai.user.id

應用的C端使用者標識

string

u-lK8JddD

有條件時必須

gen_ai.span.kind

操作類型 [1]

string

參考LLM Span Kind

必須

gen_ai.operation.name

操作二級類型 [2]

string

參考LLM Operation Name

必須

gen_ai.framework

使用的架構類型

string

langchain;llama_index

有條件時必須

[1]gen_ai.span.kind: 與gen_ai.operation.name的映射關係如下:

gen_ai.span.kind

gen_ai.operation.name

Description

RETRIEVER

retrieval

文檔召回

LLM

chat;generate_content;text_completion

模型調用

EMBEDDING

embeddings

嵌入

TOOL

execute_tool

工具調用

AGENT

create_agent;invoke_agent

智能體調用

RERANKER

-

重排序調用

CHAIN

-

鏈(調用單元)

TASK

-

任務調用

ENTRY

-

入口調用標識

STEP

-

ReAct輪次標識

[2]gen_ai.operation.name: 操作二級類型,應當來自於以下某個枚舉,或者自訂一個其他的值:

Value

Description

chat

對話補全操作

create_agent

建立 GenAI 智能體操作

embeddings

詞嵌入操作

execute_tool

調用工具操作

generate_content

多模態內容產生操作

invoke_agent

調用 GenAI 智能體操作

retrieval

文檔召回操作

text_completion

文本補全操作

Resources

ResourceKey

Description

類型

樣本值

需求等級

service.name

應用程式名稱

string

test-easy-rag

必須

acs.cms.workspace

CloudMonitorWorkspace

string

arms-test

有條件時必須

acs.arms.service.id

CloudMonitor服務ID

string

ggxw4lnjuz@b63ba5a1d60b517ae374f

有條件時必須

ali.trace.source

應用來源

string

mse-gateway;alb

有條件時必須

acs.arms.service.feature

應用特徵

string

genai_app

必須

說明

acs.arms.service.feature = genai_app ,用於自動識別並標識為AI應用,在LLM或者Agent應用情境下必傳。

Chain

Chain是一種將LLM和其他多個元件連線在一起的工具,以實現複雜的任務,可能包含Retrieval、Embedding、LLM調用、還可以嵌套Chain等。

Span 命名應該為 chain {chain_name},如果無法擷取到 chain_name,則命名為 chain。

說明

OpenTelemetry 社區尚未具備該類型 Span 的語義規範。當前 Chain Span 僅用於 LangChain 架構。

Attributes

AttributeKey

Description

類型

Example

需求等級

gen_ai.span.kind

操作類型 [1]

string

CHAIN

必須

gen_ai.operation.name

操作二級類型

string

workflowtask

有條件時必須

input.value

輸入內容

string

Who Are You!

推薦

output.value

返回內容

string

I am ChatBot

推薦

gen_ai.user.time_to_first_token

首包延遲 [2]

integer

1000000

推薦

[1]gen_ai.span.kind: 大模型spanKind專用枚舉,Chain中取值必須為 CHAIN

[2]gen_ai.user.time_to_first_token: 代表一次提問的整體響應首包耗時,從服務端擷取的使用者請求到首包返回的時間,單位納秒。

Retriever

Retriever一般表示訪問向量儲存或者資料庫擷取資料,一般用於補充上下文內容提升LLM的響應的準確性以及效率。

gen_ai.operation.name 應該為 retrieval。當 gen_ai.operation.name 為retrieval時,可以將 gen_ai.span.kind 推斷為 RETRIEVER。

Span 命名應該為 {gen_ai.operation.name} {gen_ai.data_source.id},視特殊情況也可以有其他類型的命名格式。

Attributes

AttributeKey

Description

類型

Example

需求等級

gen_ai.span.kind

操作類型 [1]

string

RETRIEVER

必須

gen_ai.operation.name

操作二級類型 [2]

string

retrieval

必須

gen_ai.data_source.id

資料來源唯一標識 [3]

string

H7STPQYOND

有條件時必須

gen_ai.provider.name

大模型的供應商

string

openai

有條件時必須

gen_ai.request.model

請求中指定的模型名

string

gpt-4

有條件時必須

gen_ai.request.top_k

請求中指定的topK

float

1.0

推薦

gen_ai.retrieval.documents

召回的文檔列表 [4]

string

[{"id": "doc_123","score": 0.95},{"id": "doc_456","score": 0.87},{"id": "doc_789","score": 0.82}]

可選

gen_ai.retrieval.query.text

檢索內容短句

string

what is the topic in xxx?

可選

[1]gen_ai.span.kind: 大模型spanKind專用枚舉,Retriever中取值必須為 RETRIEVER

[2]gen_ai.operation.name: 操作二級類型。

[3]gen_ai.data_source.id: 資料來源唯一ID,AI Agent 或 RAG 應用依賴的資料來源,可以是外部資料庫、Object Storage Service、文檔集、網站或其他儲存系統。

[4]gen_ai.retrieval.documents: 用於記錄召回的文檔列表。每個文檔對象至少應包含以下屬性:id(字串):文檔的唯一識別碼;score(雙精確度浮點數):文檔的相關性得分。

Reranker

Reranker針對輸入的多個文檔結合提問內容判斷相關性進行排序處理,可能返回TopK的文檔作為LLM。

Span 命名應該為 rerank {reranker.model_name},如果無法擷取到 reranker.model_name,則命名為 rerank。

說明

OpenTelemetry 社區尚未具備該類型 Span 的語義規範。

Attributes

AttributeKey

Description

類型

Example

需求等級

gen_ai.span.kind

操作類型 [1]

string

RERANKER

必須

reranker.query

Reranker請求的入參

string

How to format timestamp?

可選

reranker.model_name

Reranker所用的模型名

string

cross-encoder/ms-marco-MiniLM-L-12-v2

可選

reranker.top_k

Reranker後的排名

integer

3

可選

reranker.input_document

輸出文檔相關的中繼資料[2]

string

參考樣本

必須

reranker.output_document

輸出文檔相關的中繼資料[3]

string

參考樣本

必須

[1]gen_ai.span.kind: 大模型spanKind專用枚舉,Reranker中取值必須為 RERANKER

[2]reranker.output_document: 重排序輸入文檔,JSON數組結構,metadata為文檔的基本資料,包含路徑,檔案名稱以及來源等。

[3]reranker.output_document: 重排序輸出文檔,JSON數組結構,metadata為文檔的基本資料,包含路徑,檔案名稱以及來源等。

LLM

LLM標識大模型的調用/推理過程,例如基於SDK或OpenAPI請求不同的大模型進行推理或者文本產生等情境。

gen_ai.operation.name 應該為 chat,generate_content,text_completion之一。當 gen_ai.operation.name 為chat,generate_content,text_completion時,可以將 gen_ai.span.kind 推斷為 LLM。

Span 命名應該為 {gen_ai.operation.name} {gen_ai.request.model},視特殊情況也可以有其他類型的命名格式。

Attributes

AttributeKey

Description

類型

Example

需求等級

gen_ai.span.kind

操作類型 [1]

string

LLM

必須

gen_ai.operation.name

操作二級類型 [2]

string

chatgenerate_contenttext_completion

必須

gen_ai.provider.name

大模型的供應商

string

openai

必須

gen_ai.conversation.id

對話的唯一ID [3]

string

conv_5j66UpCpwteGg4YSxUnt7lPY

有條件時必須

gen_ai.output.type

LLM請求中指定的輸出類型 [4]

string

text;json;image;audio

有條件時必須

gen_ai.request.choice.count

LLM請求中希望獲得的候選產生數量

int

3

有條件且不為1時必須

gen_ai.request.model

LLM請求中指定的模型名

string

gpt-4

必須

gen_ai.request.seed

LLM請求中指定的seed

string

gpt-4

有條件時必須

gen_ai.request.frequency_penalty

LLM請求中設定的頻率懲罰

float

0.1

推薦

gen_ai.request.max_tokens

LLM請求中指定的最大token數

integer

100

推薦

gen_ai.request.presence_penalty

LLM請求中設定的存在性懲罰

float

0.1

推薦

gen_ai.request.temperature

LLM請求中指定的溫度

float

0.1

推薦

gen_ai.request.top_p

LLM請求中指定的topP

float

1.0

推薦

gen_ai.request.top_k

LLM請求中指定的topK

float

1.0

推薦

gen_ai.request.stop_sequences

LLM的終止序列

string[]

["stop"]

推薦

gen_ai.response.id

LLM產生的唯一id

string

gpt-4-0613

推薦

gen_ai.response.model

LLM產生所使用的模型名

string

gpt-4-0613

推薦

gen_ai.response.finish_reasons

LLM終止產生的原因

string[]

["stop"]

推薦

gen_ai.response.time_to_first_token

流式響應情境下的大模型自身的首包響應耗時 [5]

integer

1000000

推薦

gen_ai.response.reasoning_time

推理模型的推理時間 [6]

integer

1248

推薦

gen_ai.usage.input_tokens

輸入使用的token數

integer

100

推薦

gen_ai.usage.output_tokens

輸出使用的token數

integer

200

推薦

gen_ai.usage.total_tokens

使用的總token數

integer

300

推薦

gen_ai.usage.cache_creation.input_tokens

寫入模型供應商緩衝中的token數 [7]

integer

25

推薦

gen_ai.usage.cache_read.input_tokens

從模型供應商緩衝中讀取出的token數 [8]

integer

50

推薦

gen_ai.input.messages

模型輸入內容 [9]

string

[{"role": "user", "parts": [{"type": "text", "content": "Weather in Paris?"}]}, {"role": "assistant", "parts": [{"type": "tool_call", "id": "call_VSPygqKTWdrhaFErNvMV18Yl", "name":"get_weather", "arguments":{"location":"Paris"}}]}, {"role": "tool", "parts": [{"type": "tool_call_response", "id":" call_VSPygqKTWdrhaFErNvMV18Yl", "result":"rainy, 57°F"}]}]

可選

gen_ai.output.messages

模型輸出內容 [10]

string

[{"role":"assistant","parts":[{"type":"text","content":"The weather in Paris is currently rainy with a temperature of 57°F."}],"finish_reason":"stop"}]

可選

gen_ai.system_instructions

system提示詞的內容 [11]

string

[{"type": "text", "content": "You are a helpful assistant"}]

可選

gen_ai.tool.definitions

工具定義列表 [12]

string

[{"type":"function","name":"get_current_weather","description": "Get the current weather in a given location","parameters":{"type":"object","properties":{"location":{"type":"string","description":"The city and state, e.g. San Francisco, CA"},"unit": {"type":"string","enum":["celsius","fahrenheit"]}},"required":["location","unit"]}}]

可選

gen_ai.latency.time_in_model_prefill

LLM推理的Prefill時間,單位納秒

integer

1000

推薦

gen_ai.latency.time_in_model_decode

LLM推理的Decode時間,單位納秒

integer

1000

推薦

gen_ai.latency.time_in_model_inference

LLM推理的推理時間,等於Prefill和Decode時間的和,單位納秒

integer

1000

推薦

gen_ai.input.multimodal_metadata

LLM輸入內容中涉及的多模態資料 [13]

string[]

[{"type":"uri","mime_type":"image/jpeg","uri":"sls://project/logstore/date/object","modality":"image"}]

推薦

gen_ai.output.multimodal_metadata

LLM輸出內容中涉及的多模態資料 [14]

string[]

[{"type":"uri","mime_type":"image/jpeg","uri":"sls://project/logstore/date/object","modality":"image"}]

推薦

[1]gen_ai.span.kind: 大模型spanKind專用枚舉,在LLM中取值必須為 LLM

[2]gen_ai.operation.name: 操作二級類型。

[3]gen_ai.conversation.id: 會話的唯一ID,當埋點可以比較方便地擷取會話的ID時應該採集。

[4]gen_ai.output.type: 當可以擷取並且請求指定了類型(如指定了output format)時應該採集。取值應屬於以下枚舉,或自訂一個其他的值:

Value

Description

image

圖片

json

具備一定格式的 JSON 對象

speech

語音

text

純文字

[5]gen_ai.user.time_to_first_token: 代表一次提問的整體響應首包耗時,從服務端擷取的使用者請求到首包返回的時間,單位納秒。

[6]gen_ai.response.reasoning_time: 代表響應reasoning過程的持續時間長度,單位毫秒。

[7]gen_ai.usage.cache_creation.input_tokens:該屬性的值應該已經被包含在gen_ai.usage.input_tokens中。

[8]gen_ai.usage.cache_read.input_tokens:該屬性的值應該已經被包含在gen_ai.usage.input_tokens中。

[9]gen_ai.input.messages: 用於記錄LLM調用的輸入內容,訊息必須按照發送給模型或智能體的順序提供。需遵循gen_ai.input.messages.json

僅在 OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT 開關開啟的情況下採集。該開關預設開啟。

[10]gen_ai.output.messages: 用於記錄模型的輸出內容,訊息必須按照發送給模型或智能體的順序提供。需遵循gen_ai.output.messages.json

僅在 OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT 開關開啟的情況下採集。該開關預設開啟。

[11]gen_ai.system_instructions: 用於單獨記錄system提示詞內容/system指令內容。如果system提示詞/system指令內容可以單獨擷取,則應該用該欄位記錄;如果system提示詞/system指令內容是模型調用的一部分,應該記錄在gen_ai.input.messages屬性中。需遵循gen_ai.system_instructions.json

僅在 OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT 開關開啟的情況下採集。該開關預設開啟。

[12]gen_ai.tool.definitions: 用於記錄請求大模型時攜帶的工具定義。該屬性可能會非常大,採集時預設可以僅採集"type"和"name"兩個欄位。其餘欄位僅在 OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT 開關開啟的情況下採集。該開關預設開啟。

[13]gen_ai.input.multimodal_metadata: 用於匯總記錄模型在輸入內容中涉及的多模態資料,包含UriPart訊息。需遵循gen_ai.input.messages.json

僅在 OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT 開關開啟的情況下採集。該開關預設開啟。

[14]gen_ai.output.multimodal_metadata: 用於匯總記錄模型在輸出內容中涉及的多模態資料,包含UriPart訊息。需遵循gen_ai.output.messages.json

僅在 OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT 開關開啟的情況下採集。該開關預設開啟。

記錄指令、輸入和輸出

使用者輸入和模型響應可以不記錄、記錄在 span 的 attributes 中或者作為 events(即 logs)記錄下來。詳情請參考控制 LLM 應用對話歷史採集行為

Embedding

Embedding標識一次嵌入處理,例如針對文本嵌入大模型的操作,後續可以根據相似性查詢最佳化問題。

gen_ai.operation.name 應該為 embeddings。當 gen_ai.operation.name 為embeddings時,可以將 gen_ai.span.kind 推斷為 EMBEDDING。

Span 命名應該為 {gen_ai.operation.name} {gen_ai.request.model},視特殊情況也可以有其他類型的命名格式。

Attributes

AttributeKey

Description

類型

Example

需求等級

gen_ai.span.kind

操作類型 [1]

string

EMBEDDING

必須

gen_ai.operation.name

操作二級類型 [2]

string

embeddings

必須

gen_ai.provider.name

大模型的供應商

string

openai

必須

gen_ai.request.model

請求中指定的模型名

string

gpt-4

有條件時必須

gen_ai.embeddings.dimension.count

Embedding操作所應具備的維度數

integer

1024

推薦

gen_ai.request.encoding_formats

嵌入操作中請求的編碼格式

string[]

["base64"]["float", "binary"]

推薦

gen_ai.usage.input_tokens

輸入文本的token消耗

integer

10

可選

gen_ai.usage.total_tokens

Embedding的token總消耗

integer

10

可選

[1]gen_ai.span.kind: 大模型spanKind專用枚舉,Embedding中取值必須為 EMBEDDING

[2]gen_ai.operation.name: 操作二級類型。

Tool

Tool標識對外部工具的調用,例如可能調用計算機或者請求天氣API擷取最新的天氣情況。

gen_ai.operation.name 應該為 execute_tool。當 gen_ai.operation.name 為execute_tool時,可以將 gen_ai.span.kind 推斷為 TOOL。

Span 命名應該為 {gen_ai.operation.name} {gen_ai.tool.name},視特殊情況也可以有其他類型的命名格式。

Attributes

AttributeKey

Description

類型

Example

需求等級

gen_ai.span.kind

操作類型 [1]

string

TOOL

必須

gen_ai.operation.name

操作二級類型 [2]

string

execute_tool

必須

gen_ai.tool.call.id

工具 id

string

call_mszuSIzqtI65i1wAUOE8w5H4

推薦

gen_ai.tool.description

工具描述

string

Multiply two numbers

推薦

gen_ai.tool.name

工具名稱

string

推薦

gen_ai.tool.type

工具類型

string

function;extension;datastore

推薦

gen_ai.tool.call.arguments

工具調用入參 [2]

string

{"location": "San Francisco?","date": "2025-10-01"}

可選

gen_ai.tool.call.result

工具調用傳回值 [3]

string

{"temperature_range": {"high": 75,"low": 60},"conditions": "sunny"}

可選

[1]gen_ai.span.kind: 大模型spanKind專用枚舉,Tool中取值必須為 TOOL

[2]gen_ai.tool.call.arguments: 工具調用入參,為一個 json 字串。 僅在 OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT 開關開啟的情況下採集。該開關預設開啟。

[3]gen_ai.tool.call.result: 工具調用傳回值,為一個 json 字串。 僅在 OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT 開關開啟的情況下採集。該開關預設開啟。

Agent

Agent表示智能體情境,一種更複雜的CHAIN,需要基於大模型的推理結果決策執行下一步,例如可能涉及到LLM以及Tool的多次調用,一步步決策得出最終答案。

gen_ai.operation.name 應該為 invoke_agent,create_agent之一。當 gen_ai.operation.name 為invoke_agent,create_agent時,可以將 gen_ai.span.kind 推斷為 AGENT。

Span 命名應該為 {gen_ai.operation.name} {gen_ai.agent.name},視特殊情況也可以有其他類型的命名格式。

Attributes

AttributeKey

Description

類型

Example

需求等級

gen_ai.span.kind

操作類型 [1]

string

AGENT

必須

gen_ai.operation.name

操作二級類型 [2]

string

invoke_agentcreate_agent

必須

gen_ai.conversation.id

對話的唯一ID [3]

string

conv_5j66UpCpwteGg4YSxUnt7lPY

有條件時必須

gen_ai.agent.description

Agent描述

string

Helps with math problemsGenerates fiction stories

有條件時必須

gen_ai.agent.id

Agent唯一標識

string

asst_5j66UpCpwteGg4YSxUnt7lPY

有條件時必須

gen_ai.agent.name

Agent名稱

string

Math TutorFiction Writer

有條件時必須

gen_ai.data_source.id

資料來源唯一標識 [4]

string

H7STPQYOND

有條件時必須

gen_ai.usage.input_tokens

輸入使用的token數

integer

100

推薦

gen_ai.usage.output_tokens

輸出使用的token數

integer

200

推薦

gen_ai.usage.total_tokens

使用的總token數

integer

300

推薦

gen_ai.usage.cache_creation.input_tokens

寫入模型供應商緩衝中的token數 [5]

integer

25

推薦

gen_ai.usage.cache_read.input_tokens

從模型供應商緩衝中讀取出的token數 [6]

integer

50

推薦

gen_ai.input.messages

模型輸入內容 [7]

string

[{"role": "user", "parts": [{"type": "text", "content": "Weather in Paris?"}]}, {"role": "assistant", "parts": [{"type": "tool_call", "id": "call_VSPygqKTWdrhaFErNvMV18Yl", "name":"get_weather", "arguments":{"location":"Paris"}}]}, {"role": "tool", "parts": [{"type": "tool_call_response", "id":" call_VSPygqKTWdrhaFErNvMV18Yl", "result":"rainy, 57°F"}]}]

可選

gen_ai.output.messages

模型輸出內容 [8]

string

[{"role":"assistant","parts":[{"type":"text","content":"The weather in Paris is currently rainy with a temperature of 57°F."}],"finish_reason":"stop"}]

可選

gen_ai.system_instructions

system提示詞的內容 [9]

string

[{"type": "text", "content": "You are a helpful assistant"}]

可選

gen_ai.tool.definitions

工具定義列表 [10]

string

[{"type":"function","name":"get_current_weather","description": "Get the current weather in a given location","parameters":{"type":"object","properties":{"location":{"type":"string","description":"The city and state, e.g. San Francisco, CA"},"unit": {"type":"string","enum":["celsius","fahrenheit"]}},"required":["location","unit"]}}]

可選

gen_ai.response.time_to_first_token

Agent的首包響應耗時

integer

1000000

推薦

[1]gen_ai.span.kind: 大模型spanKind專用枚舉,Agent中取值必須為 AGENT

[2]gen_ai.operation.name: 操作二級類型。

[3]gen_ai.conversation.id: 會話的唯一ID,當埋點可以比較方便地擷取會話的ID時應該採集。

[4]gen_ai.data_source.id: 資料來源唯一ID,AI Agent 或 RAG 應用依賴的資料來源,可以是外部資料庫、Object Storage Service、文檔集、網站或其他儲存系統。

[5]gen_ai.usage.cache_creation.input_tokens:該屬性的值應該已經被包含在gen_ai.usage.input_tokens中。

[6]gen_ai.usage.cache_read.input_tokens:該屬性的值應該已經被包含在gen_ai.usage.input_tokens中。

[7]gen_ai.input.messages: 用於記錄LLM調用的輸入內容,訊息必須按照發送給模型或智能體的順序提供。需遵循gen_ai.input.messages.json

僅在 OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT 開關開啟的情況下採集。該開關預設開啟。

[8]gen_ai.output.messages: 用於記錄模型的輸出內容,訊息必須按照發送給模型或智能體的順序提供。需遵循gen_ai.output.messages.json

僅在 OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT 開關開啟的情況下採集。該開關預設開啟。

[9]gen_ai.system_instructions: 用於單獨記錄system提示詞內容/system指令內容。如果system提示詞/system指令內容可以單獨擷取,則應該用該欄位記錄;如果system提示詞/system指令內容是模型調用的一部分,應該記錄在gen_ai.input.messages屬性中。需遵循gen_ai.system_instructions.json

僅在 OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT 開關開啟的情況下採集。該開關預設開啟。

[10]gen_ai.tool.definitions: 用於記錄請求大模型時攜帶的工具定義。該屬性可能會非常大,採集時預設可以僅採集"type"和"name"兩個欄位。其餘欄位僅在 OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT 開關開啟的情況下採集。該開關預設開啟。

Task

Task標識一次內部自訂方法,例如可能調用本地的某個function等應用自訂的邏輯。

Span 命名應該為 run_task {gen_ai.task.name},視特殊情況也可以有其他類型的命名格式。

說明

OpenTelemetry 社區尚未具備該類型 Span 的語義規範,因此 gen_ai.operation.name 可能還會有變化。

Attributes

AttributeKey

Description

類型

Example

需求等級

gen_ai.span.kind

操作類型 [1]

string

TASK

必須

gen_ai.operation.name

操作二級類型

string

run_task

必須

input.value

輸入參數

string

輸入參數,自訂json格式

可選

input.mime_type

輸入MimeType

string

text/plainapplication/json

可選

output.mime_type

輸出MimeType

string

text/plainapplication/json

可選

[1]gen_ai.span.kind: 大模型spanKind專用枚舉,Task中取值必須為 TASK

Entry

Entry標識一次對AI應用系統的調用入口。

Span 命名應該為 enter_ai_application_system,視特殊情況也可以有其他類型的命名格式。

說明

OpenTelemetry 社區尚未具備該類型 Span 的語義規範,因此 gen_ai.operation.name 可能還會有變化。

Attributes

AttributeKey

Description

類型

Example

需求等級

gen_ai.span.kind

操作類型 [1]

string

ENTRY

必須

gen_ai.operation.name

操作二級類型

string

enter

推薦

gen_ai.session.id

會話ID

string

ddde34343-f93a-4477-33333-sdfsdaf

有條件時必須

gen_ai.user.id

應用的C端使用者標識

string

u-lK8JddD

有條件時必須

gen_ai.input.messages

模型輸入內容 [2]

string

[{"role": "user", "parts": [{"type": "text", "content": "Weather in Paris?"}]}, {"role": "assistant", "parts": [{"type": "tool_call", "id": "call_VSPygqKTWdrhaFErNvMV18Yl", "name":"get_weather", "arguments":{"location":"Paris"}}]}, {"role": "tool", "parts": [{"type": "tool_call_response", "id":" call_VSPygqKTWdrhaFErNvMV18Yl", "result":"rainy, 57°F"}]}]

可選

gen_ai.output.messages

模型輸出內容 [3]

string

[{"role":"assistant","parts":[{"type":"text","content":"The weather in Paris is currently rainy with a temperature of 57°F."}],"finish_reason":"stop"}]

可選

gen_ai.response.time_to_first_token

流式響應情境下的首包響應耗時 [4]

integer

1000000

推薦

[1]gen_ai.span.kind: 大模型spanKind專用枚舉,Entry中取值必須為 ENTRY

[2]gen_ai.input.messages: 用於記錄LLM調用的輸入內容,訊息必須按照發送給模型或智能體的順序提供。需遵循gen_ai.input.messages.json

僅在 OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT 開關開啟的情況下採集。該開關預設開啟。

[3]gen_ai.output.messages: 用於記錄模型的輸出內容,訊息必須按照發送給模型或智能體的順序提供。需遵循gen_ai.output.messages.json

僅在 OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT 開關開啟的情況下採集。該開關預設開啟。

[4]gen_ai.response.time_to_first_token: 代表一次提問的整體響應首包耗時,從服務端擷取的使用者請求到首包返回的時間,單位納秒。

ReAct Step

Step調用標識Agent的一次Reasoning-Acting迭代的過程。

Span 命名應該為 react step,視特殊情況也可以有其他類型的命名格式。

說明

OpenTelemetry 社區尚未具備該類型 Span 的語義規範,因此 gen_ai.operation.name 可能還會有變化。

Attributes

AttributeKey

Description

類型

Example

需求等級

gen_ai.span.kind

操作類型 [1]

string

STEP

必須

gen_ai.operation.name

操作二級類型

string

react

推薦

gen_ai.react.finish_reason

本輪ReAct結束的原因

string

error

推薦

gen_ai.react.round

本輪ReAct的輪次號 [2]

integer

1

推薦

[1]gen_ai.span.kind: 大模型spanKind專用枚舉,ReAct Step中取值必須為 STEP

[2]gen_ai.react.round: ReAct的輪次號建議從1開始計數,每次迭代自增1。