All Products
Search
Document Center

Application Real-Time Monitoring Service:Definisi bidang jejak LLM

Last Updated:Jun 25, 2026

Bidang jejak Large Language Model (LLM) didefinisikan oleh Alibaba Cloud berdasarkan standar OpenTelemetry dan konsep dari domain aplikasi LLM. Bidang-bidang ini memperluas atribut, resource, dan event untuk menggambarkan semantik data jejak aplikasi LLM, mencakup operasi kunci seperti permintaan input dan output LLM serta konsumsi token. Data semantik yang dihasilkan bersifat kaya dan sadar konteks, mendukung skenario seperti Completion, Chat, Retrieval-Augmented Generation (RAG), Agent, dan Tool Calling—memungkinkan pelacakan dan pelaporan data yang efektif.

Spesifikasi semantik ini terus berkembang seiring komunitas. Jika aplikasi Anda berbasis Python, Anda harus mengumpulkan data observabilitas secara manual. Gunakan komponen loongsuite-util-genai untuk integrasi dan pengumpulan data. Untuk detailnya, lihat README.

Definisi bidang tingkat span mengikuti standar terbuka OpenTelemetry. Untuk deskripsi rinci bidang jejak tingkat atas yang disimpan di Managed Service for OpenTelemetry Alibaba Cloud, lihat Parameter Trace Explorer.

Catatan

SpanKind khusus LLM merupakan atribut—bukan span kind yang didefinisikan dalam spesifikasi jejak OpenTelemetry. Spesifikasi semantik ini memperluas OpenTelemetry GenAI Semantic Conventions. Spesifikasi tersebut sedang dalam pengembangan aktif dan dapat berubah pada rilis maintenance mendatang.

Bagian Umum

Atribut

Kunci Atribut

Deskripsi

Tipe

Nilai Contoh

Tingkat Kebutuhan

gen_ai.session.id

Session ID

string

ddde34343-f93a-4477-33333-sdfsdaf

Diperlukan jika tersedia

gen_ai.user.id

Identifier pengguna akhir

string

u-lK8JddD

Diperlukan jika tersedia

gen_ai.span.kind

Tipe operasi [1]

string

Lihat LLM Span Kind

Diperlukan

gen_ai.operation.name

Tipe operasi sekunder [2]

string

Lihat Nama Operasi LLM

Diperlukan

gen_ai.framework

Tipe framework yang digunakan

string

langchain;llama_index

Diperlukan jika tersedia

[1] gen_ai.span.kind: Dipetakan ke gen_ai.operation.name sebagai berikut:

gen_ai.span.kind

gen_ai.operation.name

Deskripsi

RETRIEVER

retrieval

Pengambilan dokumen

LLM

chat;generate_content;text_completion

Pemanggilan model

EMBEDDING

embeddings

Penyematan

TOOL

execute_tool

Pemanggilan tool

AGENT

create_agent;invoke_agent

Pemanggilan agent

RERANKER

-

Pemanggilan penyusunan ulang

CHAIN

-

Chain (unit pemanggilan)

TASK

-

Pemanggilan tugas

ENTRY

-

Penanda pemanggilan entri

STEP

-

Penanda putaran ReAct

[2] gen_ai.operation.name: Tipe operasi sekunder. Gunakan salah satu enumerasi berikut atau definisikan nilai kustom:

Nilai

Deskripsi

chat

Operasi chat completion

create_agent

Operasi pembuatan agent GenAI

embeddings

Operasi penyematan kata

execute_tool

Operasi pemanggilan tool

generate_content

Operasi pembuatan konten multimodal

invoke_agent

Operasi pemanggilan agent GenAI

retrieval

Operasi pengambilan dokumen

text_completion

Operasi penyelesaian teks

Sumber daya

Kunci Resource

Deskripsi

Tipe

Nilai Contoh

Tingkat Kebutuhan

service.name

Nama aplikasi

string

test-easy-rag

Diperlukan

acs.cms.workspace

Workspace Cloud Monitor

string

arms-test

Diperlukan jika tersedia

acs.arms.service.id

ID layanan Cloud Monitor

string

ggxw4lnjuz@b63ba5a1d60b517ae374f

Diperlukan jika tersedia

ali.trace.source

Sumber aplikasi

string

mse-gateway;alb

Diperlukan jika tersedia

acs.arms.service.feature

Fitur aplikasi

string

genai_app

Diperlukan

Catatan

acs.arms.service.feature = genai_app. Nilai ini secara otomatis mengidentifikasi dan memberi tag aplikasi sebagai aplikasi AI. Nilai ini wajib untuk skenario LLM atau Agent.

Chain

Chain adalah tool yang menghubungkan LLM dan komponen lainnya untuk menjalankan tugas kompleks, seperti Retrieval, Embedding, pemanggilan LLM, dan Chain bersarang.

Beri nama span chain {chain_name}. Jika chain_name tidak dapat diperoleh, beri nama chain.

Catatan

Komunitas OpenTelemetry belum mendefinisikan konvensi semantik untuk tipe span ini. Saat ini, span Chain hanya berlaku untuk framework LangChain.

Atribut

Kunci Atribut

Deskripsi

Tipe

Contoh

Tingkat Kebutuhan

gen_ai.span.kind

Tipe operasi [1]

string

CHAIN

Diperlukan

gen_ai.operation.name

Tipe operasi sekunder

string

workflow; task

Diperlukan jika tersedia

input.value

Konten input

string

Who Are You!

Disarankan

output.value

Konten respons

string

I am ChatBot

Disarankan

gen_ai.user.time_to_first_token

Waktu hingga token pertama [2]

integer

1000000

Disarankan

[1] gen_ai.span.kind: Enumerasi khusus untuk spanKind LLM. Dalam Chain, nilai ini harus CHAIN.

[2] gen_ai.user.time_to_first_token: Waktu dari penerimaan permintaan pengguna oleh server hingga paket respons pertama kembali. Satuan: nanodetik.

Retriever

Retriever mengakses penyimpanan vektor atau database untuk mengambil data, biasanya guna melengkapi konteks dan meningkatkan akurasi serta efisiensi respons LLM.

Atur gen_ai.operation.name menjadi retrieval. Ketika gen_ai.operation.name bernilai retrieval, inferensi gen_ai.span.kind sebagai RETRIEVER.

Beri nama span {gen_ai.operation.name} {gen_ai.data_source.id}. Format penamaan lain dapat diterima dalam kasus khusus.

Atribut

Kunci Atribut

Deskripsi

Tipe

Contoh

Tingkat Kebutuhan

gen_ai.span.kind

Tipe operasi [1]

string

RETRIEVER

Diperlukan

gen_ai.operation.name

Tipe operasi sekunder [2]

string

retrieval

Diperlukan

gen_ai.data_source.id

Identifier unik sumber data [3]

string

H7STPQYOND

Diperlukan jika tersedia

gen_ai.provider.name

Penyedia LLM

string

openai

Diperlukan jika tersedia

gen_ai.request.model

Nama model yang ditentukan dalam permintaan

string

gpt-4

Diperlukan jika tersedia

gen_ai.request.top_k

Nilai Top-K yang ditentukan dalam permintaan

float

1.0

Disarankan

gen_ai.retrieval.documents

Daftar dokumen yang diambil [4]

string

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

Opsional

gen_ai.retrieval.query.text

Cuplikan teks kueri

string

what is the topic in xxx?

Opsional

[1] gen_ai.span.kind: Enumerasi khusus untuk spanKind LLM. Dalam Retriever, nilai ini harus RETRIEVER.

[2] gen_ai.operation.name: Tipe operasi sekunder.

[3] gen_ai.data_source.id: ID unik sumber data yang digunakan oleh AI Agent atau aplikasi RAG. Sumber data dapat berupa database eksternal, Object Storage Service, kumpulan dokumen, situs web, atau sistem penyimpanan lainnya.

[4] gen_ai.retrieval.documents: Mencatat daftar dokumen yang diambil. Setiap objek dokumen harus memiliki setidaknya properti berikut: id (string): identifier unik dokumen; score (bilangan titik mengambang presisi ganda): skor relevansi.

Reranker

Reranker menilai relevansi beberapa dokumen input berdasarkan kueri, mengurutkannya, dan mungkin mengembalikan dokumen top-K sebagai input ke LLM.

Beri nama span rerank {reranker.model_name}. Jika nilai reranker.model_name tidak dapat diambil, beri nama span tersebut "rerank".

Catatan

Komunitas OpenTelemetry belum mendefinisikan konvensi semantik untuk tipe span ini.

Atribut

Kunci Atribut

Deskripsi

Tipe

Contoh

Tingkat Kebutuhan

gen_ai.span.kind

Tipe operasi [1]

string

RERANKER

Diperlukan

reranker.query

Parameter permintaan Reranker

string

How to format timestamp?

Opsional

reranker.model_name

Nama model yang digunakan oleh Reranker

string

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

Opsional

reranker.top_k

Peringkat setelah penyusunan ulang

integer

3

Opsional

reranker.input_document

Keluarkan metadata dokumen [2]

string

Lihat contoh

Diperlukan

reranker.output_document

Metadata untuk dokumen output [3]

string

Lihat contoh

Diperlukan

[1] gen_ai.span.kind: Enumerasi khusus untuk spanKind LLM. Dalam Reranker, nilai ini harus RERANKER.

[2] reranker.output_document: Dokumen input untuk penyusunan ulang. Struktur berupa array JSON. Metadata berisi informasi dasar dokumen seperti path, nama file, dan sumber.

[3] reranker.output_document: Dokumen output setelah penyusunan ulang. Struktur berupa array JSON. Metadata berisi informasi dasar dokumen seperti path, nama file, dan sumber.

LLM

Span LLM merepresentasikan proses pemanggilan atau inferensi LLM, misalnya penggunaan SDK atau OpenAPI untuk memanggil LLM guna melakukan inferensi atau generasi teks.

Atur gen_ai.operation.name menjadi salah satu dari chat, generate_content, atau text_completion. Ketika gen_ai.operation.name bernilai chat, generate_content, atau text_completion, inferensi gen_ai.span.kind sebagai LLM.

Beri nama span {gen_ai.operation.name} {gen_ai.request.model}. Format penamaan lain dapat diterima dalam kasus khusus.

Atribut

Kunci Atribut

Deskripsi

Tipe

Contoh

Tingkat Kebutuhan

gen_ai.span.kind

Tipe operasi [1]

string

LLM

Diperlukan

gen_ai.operation.name

Tipe operasi sekunder [2]

string

chat; generate_content; text_completion

Diperlukan

gen_ai.provider.name

Penyedia LLM

string

openai

Diperlukan

gen_ai.conversation.id

ID percakapan unik [3]

string

conv_5j66UpCpwteGg4YSxUnt7lPY

Diperlukan jika tersedia

gen_ai.output.type

Tipe output yang ditentukan dalam permintaan LLM [4]

string

text;json;image;audio

Diperlukan jika tersedia

gen_ai.request.choice.count

Jumlah kandidat generasi yang diminta dalam permintaan LLM

int

3

Diperlukan jika bukan 1

gen_ai.request.model

Nama model yang ditentukan dalam permintaan LLM

string

gpt-4

Diperlukan

gen_ai.request.seed

Seed yang ditentukan dalam permintaan LLM

string

gpt-4

Diperlukan jika tersedia

gen_ai.request.frequency_penalty

Penalti frekuensi yang diatur dalam permintaan LLM

float

0.1

Disarankan

gen_ai.request.max_tokens

Jumlah maksimum token yang ditentukan dalam permintaan LLM

integer

100

Disarankan

gen_ai.request.presence_penalty

Penalti kehadiran yang diatur dalam permintaan LLM

float

0.1

Disarankan

gen_ai.request.temperature

Suhu yang ditentukan dalam permintaan LLM

float

0.1

Disarankan

gen_ai.request.top_p

Nilai Top-P yang ditentukan dalam permintaan LLM

float

1.0

Disarankan

gen_ai.request.top_k

Nilai Top-K yang ditentukan dalam permintaan LLM

float

1.0

Disarankan

gen_ai.request.stop_sequences

Sequences stop untuk LLM

string[]

["stop"]

Disarankan

gen_ai.response.id

ID unik yang dihasilkan oleh LLM

string

chatcmpl-9J3uIL87gldCFtiIbyaOvTeYBRA3l

Disarankan

gen_ai.response.model

Nama model yang digunakan untuk generasi LLM

string

gpt-4-0613

Disarankan

gen_ai.response.finish_reasons

Alasan LLM berhenti menghasilkan

string[]

["stop"]

Disarankan

gen_ai.response.time_to_first_token

Latensi token pertama untuk LLM dalam skenario respons streaming [5]

integer

1000000

Disarankan

gen_ai.response.reasoning_time

Waktu inferensi untuk model penalaran [6]

integer

1248

Disarankan

gen_ai.usage.input_tokens

Jumlah token input yang digunakan

integer

100

Disarankan

gen_ai.usage.output_tokens

Jumlah token output yang digunakan

integer

200

Disarankan

gen_ai.usage.total_tokens

Total jumlah token yang digunakan

integer

300

Disarankan

gen_ai.usage.cache_creation.input_tokens

Jumlah token yang ditulis ke cache penyedia model [7]

integer

25

Disarankan

gen_ai.usage.cache_read.input_tokens

Jumlah token yang dibaca dari cache penyedia model [8]

integer

50

Disarankan

gen_ai.input.messages

Konten input model [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"}]}]

Opsional

gen_ai.output.messages

Konten output model [10]

string

[ { "role": "assistant", "parts": [ { "content": "Split into A(3), B(3), C(2). Weigh A vs B, then narrow down to the heavy group and weigh again.", "type": "reasoning" }, { "content": "Split into A(3), B(3), C(2).\n- **Weigh 1:** A vs B → heavier side contains it; if balanced, it's in C\n- **Weigh 2:** From the 3-ball group, weigh 1 vs 1 → heavier wins; if balanced, it's the 3rd. From C, weigh 1 vs 1 directly.", "type": "text" } ], "finish_reason": "end_turn" }]

Opsional

gen_ai.system_instructions

Konten prompt sistem [11]

string

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

Opsional

gen_ai.tool.definitions

Daftar definisi tool [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"]}}]

Opsional

gen_ai.latency.time_in_model_prefill

Latensi prefill LLM. Satuan: nanodetik

integer

1000

Disarankan

gen_ai.latency.time_in_model_decode

Latensi decode LLM. Satuan: nanodetik

integer

1000

Disarankan

gen_ai.latency.time_in_model_inference

Waktu inferensi LLM. Sama dengan jumlah waktu prefill dan decode. Satuan: nanodetik

integer

1000

Disarankan

gen_ai.input.multimodal_metadata

Data multi-modal yang terlibat dalam konten input LLM [13]

string[]

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

Disarankan

gen_ai.output.multimodal_metadata

Data multi-modal yang terlibat dalam konten output LLM [14]

string[]

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

Disarankan

[1] gen_ai.span.kind: Enumerasi khusus untuk spanKind LLM. Dalam span LLM, nilai ini harus LLM.

[2] gen_ai.operation.name: Tipe operasi sekunder.

[3] gen_ai.conversation.id: ID percakapan unik. Kumpulkan jika dapat diperoleh dengan mudah.

[4] gen_ai.output.type: Kumpulkan jika permintaan menentukan tipe output (misalnya format output). Nilai harus merupakan salah satu enumerasi berikut atau nilai kustom:

Nilai

Deskripsi

image

Gambar

json

Objek JSON terformat dengan baik

speech

Suara

text

Teks biasa

[5] gen_ai.user.time_to_first_token: Waktu dari penerimaan permintaan pengguna oleh server hingga paket respons pertama kembali. Satuan: nanodetik.

[6] gen_ai.response.reasoning_time: Durasi proses penalaran. Satuan: milidetik.

[7] gen_ai.usage.cache_creation.input_tokens: Nilai ini harus sudah termasuk dalam gen_ai.usage.input_tokens.

[8] gen_ai.usage.cache_read.input_tokens: Nilai ini harus sudah termasuk dalam gen_ai.usage.input_tokens.

[9] gen_ai.input.messages: Mencatat konten input untuk pemanggilan LLM. Pesan harus disediakan sesuai urutan yang dikirim ke model atau agent. Ikuti gen_ai.input.messages.json.

Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

[10] gen_ai.output.messages: Mencatat konten output model. Pesan harus disediakan sesuai urutan yang dikirim ke model atau agent. Ikuti gen_ai.output.messages.json.

Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

[11] gen_ai.system_instructions: Mencatat konten prompt atau instruksi sistem secara terpisah. Gunakan bidang ini jika konten prompt atau instruksi sistem dapat diperoleh secara independen. Jika tidak, catat dalam atribut gen_ai.input.messages. Ikuti gen_ai.system_instructions.json.

Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

[12] gen_ai.tool.definitions: Mencatat definisi tool yang diberikan ke LLM. Atribut ini bisa sangat besar. Secara default, kumpulkan hanya field type dan name. Kumpulkan semua field lain hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

[13] gen_ai.input.multimodal_metadata: Mengumpulkan data multi-modal yang dirujuk dalam konten input model. Hanya mencakup pesan UriPart. Ikuti gen_ai.input.messages.json.

Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

[14] gen_ai.output.multimodal_metadata: Mengumpulkan data multi-modal yang dirujuk dalam konten output model. Hanya mencakup pesan UriPart. Ikuti gen_ai.output.messages.json.

Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

Catat prompt, input, dan output

Anda dapat memilih untuk tidak mencatat input pengguna dan respons model, mencatatnya dalam atribut span, atau mencatatnya sebagai event (log). Untuk detailnya, lihat Kontrol Perilaku Pengumpulan Riwayat Percakapan Aplikasi LLM.

Embedding

Embedding merepresentasikan satu proses, seperti penyematan teks dengan LLM, yang kemudian dapat digunakan dalam kueri kemiripan untuk mengoptimalkan solusi masalah.

Atur gen_ai.operation.name menjadi embeddings. Ketika gen_ai.operation.name bernilai embeddings, inferensi gen_ai.span.kind sebagai EMBEDDING.

Beri nama span {gen_ai.operation.name} {gen_ai.request.model}. Format penamaan lain dapat diterima dalam kasus khusus.

Atribut

Kunci Atribut

Deskripsi

Tipe

Contoh

Tingkat Kebutuhan

gen_ai.span.kind

Tipe operasi [1]

string

EMBEDDING

Diperlukan

gen_ai.operation.name

Tipe operasi sekunder [2]

string

embeddings

Diperlukan

gen_ai.provider.name

Penyedia LLM

string

openai

Diperlukan

gen_ai.request.model

Nama model yang ditentukan dalam permintaan

string

gpt-4

Diperlukan jika tersedia

gen_ai.embeddings.dimension.count

Jumlah dimensi yang diharapkan untuk operasi embedding

integer

1024

Disarankan

gen_ai.request.encoding_formats

Format encoding yang diminta untuk operasi embedding

string[]

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

Disarankan

gen_ai.usage.input_tokens

Jumlah token yang dikonsumsi oleh teks input

integer

10

Opsional

gen_ai.usage.total_tokens

Total jumlah token yang dikonsumsi oleh embedding

integer

10

Opsional

[1] gen_ai.span.kind: Enumerasi khusus untuk spanKind LLM. Dalam span Embedding, nilai ini harus EMBEDDING.

[2] gen_ai.operation.name: Tipe operasi sekunder.

Tool

Span Tool merepresentasikan pemanggilan ke tool eksternal, seperti memanggil kalkulator atau mengambil data cuaca terbaru dari API cuaca.

Atur gen_ai.operation.name menjadi execute_tool. Ketika gen_ai.operation.name bernilai execute_tool, inferensi gen_ai.span.kind sebagai TOOL.

Beri nama span {gen_ai.operation.name} {gen_ai.tool.name}. Format penamaan lain dapat diterima dalam kasus khusus.

Jika eksekusi tool melibatkan skill, atur field gen_ai.skill.* yang relevan. Skenario umum mencakup pemanggilan tool seperti load_skill, read_skill, atau operasi serupa.

Atribut

Kunci Atribut

Deskripsi

Tipe

Contoh

Tingkat Kebutuhan

gen_ai.span.kind

Tipe operasi [1]

string

TOOL

Diperlukan

gen_ai.operation.name

Tipe operasi sekunder [2]

string

execute_tool

Diperlukan

gen_ai.tool.call.id

ID Alat

string

call_mszuSIzqtI65i1wAUOE8w5H4

Disarankan

gen_ai.tool.description

Deskripsi tool

string

Multiply two numbers

Disarankan

gen_ai.tool.name

Nama tool

string

Disarankan

gen_ai.tool.type

Tipe tool

string

function;extension;datastore

Disarankan

gen_ai.skill.id

Identifier unik skill GenAI.

string

skill_29bbe8a7

Diperlukan saat memuat skill.

gen_ai.skill.name

Nama skill GenAI.

string

code_review;change_workitem

Diperlukan saat memuat skill.

gen_ai.skill.description

Deskripsi bebas skill GenAI, yang disediakan oleh aplikasi.

string

Execute code review on GitHub repositories

disarankan

gen_ai.skill.version

Versi skill GenAI.

string

0.2.0;v2.1.0

disarankan

gen_ai.tool.call.arguments

Parameter input pemanggilan tool [2]

string

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

Opsional

gen_ai.tool.call.result

Nilai kembali pemanggilan tool [3]

string

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

Opsional

[1] gen_ai.span.kind: Enumerasi khusus untuk spanKind LLM. Dalam span Tool, nilai ini harus TOOL.

[2] gen_ai.tool.call.arguments: Parameter input pemanggilan tool dalam bentuk string JSON. Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

[3] gen_ai.tool.call.result: Nilai kembali pemanggilan tool dalam bentuk string JSON. Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

Agent

Span Agent merepresentasikan skenario agent cerdas—Chain yang lebih kompleks—di mana hasil inferensi LLM digunakan untuk menentukan langkah selanjutnya. Proses ini mungkin melibatkan beberapa pemanggilan LLM dan Tool, berlangsung iteratif hingga mencapai jawaban akhir.

Atur gen_ai.operation.name menjadi invoke_agent atau create_agent. Ketika gen_ai.operation.name bernilai invoke_agent atau create_agent, inferensi gen_ai.span.kind sebagai AGENT.

Beri nama span {gen_ai.operation.name} {gen_ai.agent.name}. Format penamaan lain dapat diterima dalam kasus khusus.

Atribut

Kunci Atribut

Deskripsi

Tipe

Contoh

Tingkat Persyaratan

gen_ai.span.kind

Tipe operasi [1]

string

AGENT

Diperlukan

gen_ai.operation.name

Tipe operasi sekunder [2]

string

invoke_agent; create_agent

Diperlukan

gen_ai.conversation.id

ID percakapan unik [3]

string

conv_5j66UpCpwteGg4YSxUnt7lPY

Diperlukan jika tersedia

gen_ai.agent.description

Deskripsi agent

string

Helps with math problems; Generates fiction stories

Diperlukan jika tersedia

gen_ai.agent.id

Identifier unik agent

string

asst_5j66UpCpwteGg4YSxUnt7lPY

Diperlukan jika tersedia

gen_ai.agent.name

Nama agent

string

Math Tutor; Fiction Writer

Diperlukan jika tersedia

gen_ai.data_source.id

Identifier unik sumber data [4]

string

H7STPQYOND

Diperlukan jika tersedia

gen_ai.usage.input_tokens

Jumlah token input yang digunakan

integer

100

Disarankan

gen_ai.usage.output_tokens

Jumlah token output yang digunakan

integer

200

Disarankan

gen_ai.usage.total_tokens

Total jumlah token yang digunakan

integer

300

Disarankan

gen_ai.usage.cache_creation.input_tokens

Jumlah token yang ditulis ke cache penyedia model [5]

integer

25

Disarankan

gen_ai.usage.cache_read.input_tokens

Jumlah token yang dibaca dari cache penyedia model [6]

integer

50

Disarankan

gen_ai.input.messages

Konten input model [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"}]}]

Opsi

gen_ai.output.messages

Konten output model [8]

string

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

Opsional

gen_ai.system_instructions

Konten prompt sistem [9]

string

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

Opsional

gen_ai.tool.definitions

Daftar definisi tool [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"]}}]

Opsional

gen_ai.response.time_to_first_token

Latensi respons token pertama agent

integer

1000000

Disarankan

[1] gen_ai.span.kind: Enumerasi khusus untuk spanKind LLM. Dalam span Agent, nilai ini harus AGENT.

[2] gen_ai.operation.name: Tipe operasi sekunder.

[3] gen_ai.conversation.id: ID percakapan unik. Kumpulkan jika dapat diperoleh dengan mudah.

[4] gen_ai.data_source.id: ID unik sumber data yang digunakan oleh AI Agent atau aplikasi RAG. Sumber data dapat berupa database eksternal, Object Storage Service, kumpulan dokumen, situs web, atau sistem penyimpanan lainnya.

[5] gen_ai.usage.cache_creation.input_tokens: Nilai ini harus sudah termasuk dalam gen_ai.usage.input_tokens.

[6] gen_ai.usage.cache_read.input_tokens: Nilai ini harus sudah termasuk dalam gen_ai.usage.input_tokens.

[7] gen_ai.input.messages: Mencatat konten input untuk pemanggilan LLM. Pesan harus disediakan sesuai urutan yang dikirim ke model atau agent. Ikuti gen_ai.input.messages.json.

Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

[8] gen_ai.output.messages: Mencatat konten output model. Pesan harus disediakan sesuai urutan yang dikirim ke model atau agent. Ikuti gen_ai.output.messages.json.

Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

[9] gen_ai.system_instructions: Mencatat konten prompt atau instruksi sistem secara terpisah. Gunakan bidang ini jika konten prompt atau instruksi sistem dapat diperoleh secara independen. Jika tidak, catat dalam atribut gen_ai.input.messages. Ikuti gen_ai.system_instructions.json.

Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

[10] gen_ai.tool.definitions: Mencatat definisi tool yang diberikan ke LLM. Atribut ini bisa sangat besar. Secara default, kumpulkan hanya field type dan name. Kumpulkan semua field lain hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

Task

Span Task merepresentasikan pemanggilan metode internal kustom, seperti fungsi lokal atau logika aplikasi lainnya.

Beri nama span run_task {gen_ai.task.name}. Format penamaan lain dapat diterima dalam kasus khusus.

Catatan

Komunitas OpenTelemetry belum mendefinisikan konvensi semantik untuk tipe span ini. Oleh karena itu, nilai gen_ai.operation.name dapat berubah.

Atribut

Kunci Atribut

Deskripsi

Tipe

Contoh

Tingkat Persyaratan

gen_ai.span.kind

Tipe operasi [1]

string

TASK

Diperlukan

gen_ai.operation.name

Tipe operasi sekunder

string

run_task

Diperlukan

input.value

Parameter input

string

Input parameters, custom JSON format

Opsional

input.mime_type

Tipe MIME input

string

text/plain; application/json

Opsional

output.mime_type

Tipe MIME output

string

text/plain; application/json

Opsional

[1] gen_ai.span.kind: Enumerasi khusus untuk spanKind LLM. Dalam span Task, nilai ini harus TASK.

Entry

Span Entry menandai titik masuk pemanggilan ke sistem aplikasi AI.

Beri nama span enter_ai_application_system. Format penamaan lain dapat diterima dalam kasus khusus.

Catatan

Komunitas OpenTelemetry belum mendefinisikan konvensi semantik untuk tipe span ini. Oleh karena itu, nilai gen_ai.operation.name dapat berubah.

Atribut

Kunci Atribut

Deskripsi

Tipe

Contoh

Tingkat Persyaratan

gen_ai.span.kind

Tipe operasi [1]

string

ENTRY

Diperlukan

gen_ai.operation.name

Tipe operasi sekunder

string

enter

Disarankan

gen_ai.session.id

Session ID

string

ddde34343-f93a-4477-33333-sdfsdaf

Diperlukan jika tersedia

gen_ai.user.id

Identifier pengguna akhir

string

u-lK8JddD

Diperlukan jika tersedia

gen_ai.input.messages

Konten input model [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"}]}]

Opsional

gen_ai.output.messages

Konten output model [3]

string

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

Opsional

gen_ai.response.time_to_first_token

Latensi respons token pertama dalam skenario respons streaming [4]

integer

1000000

Disarankan

[1] gen_ai.span.kind: Enumerasi khusus untuk spanKind LLM. Dalam span Entry, nilai ini harus ENTRY.

[2] gen_ai.input.messages: Mencatat konten input untuk pemanggilan LLM. Pesan harus disediakan sesuai urutan yang dikirim ke model atau agent. Ikuti gen_ai.input.messages.json.

Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

[3] gen_ai.output.messages: Mencatat konten output model. Pesan harus disediakan sesuai urutan yang dikirim ke model atau agent. Ikuti gen_ai.output.messages.json.

Kumpulkan hanya ketika flag OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT diaktifkan. Flag ini diaktifkan secara default.

[4] gen_ai.response.time_to_first_token: Waktu dari penerimaan permintaan pengguna oleh server hingga paket respons pertama kembali. Satuan: nanodetik.

Langkah ReAct

Span Step menandai proses iterasi Reasoning-Acting dalam Agent.

Beri nama span react step. Format penamaan lain dapat diterima dalam kasus khusus.

Catatan

Komunitas OpenTelemetry belum mendefinisikan konvensi semantik untuk tipe span ini. Oleh karena itu, nilai gen_ai.operation.name dapat berubah.

Atribut

Kunci Atribut

Deskripsi

Tipe

Contoh

Tingkat Kebutuhan

gen_ai.span.kind

Tipe operasi [1]

string

STEP

Diperlukan

gen_ai.operation.name

Tipe operasi sekunder

string

react

Disarankan

gen_ai.react.finish_reason

Alasan penghentian putaran ReAct ini

string

error

Disarankan

gen_ai.react.round

Nomor putaran untuk iterasi ReAct ini [2]

integer

1

Disarankan

[1] gen_ai.span.kind: Enumerasi khusus untuk spanKind LLM. Dalam span langkah ReAct, nilai ini harus STEP.

[2] gen_ai.react.round: Nomor putaran ReAct dimulai dari 1 dan bertambah 1 untuk setiap iterasi.