全部产品
Search
文档中心

Application Real-Time Monitoring Service:Definisi bidang LLM Trace

更新时间:Nov 10, 2025

Alibaba Cloud mendefinisikan bidang LLM Trace berdasarkan standar OpenTelemetry dan konsep dari domain aplikasi model bahasa besar (LLM). Bidang-bidang ini memperluas Attributes, Resources, dan Events untuk menggambarkan semantik data jejak aplikasi LLM, mencakup operasi utama seperti permintaan input dan output LLM serta konsumsi token. Mereka menyediakan data semantik yang kaya dan sadar konteks untuk skenario seperti Completion, Chat, Generasi yang Diperkaya dengan Pengambilan Data (RAG), Agen, dan Tool guna memfasilitasi pelacakan dan pelaporan data. Definisi bidang semantik ini akan terus diperbarui dan dioptimalkan seiring perkembangan komunitas.

Definisi bidang Span tingkat atas mengacu pada standar terbuka OpenTelemetry. Untuk informasi lebih lanjut tentang bidang Trace tingkat atas yang disimpan oleh Managed Service for OpenTelemetry, lihat Parameter analisis jejak.

Catatan

SpanKind yang terkait dengan LLM merupakan sebuah Attribute dan berbeda dari jenis Span yang didefinisikan dalam OpenTelemetry Traces.

Bidang umum

Attributes

AttributeKey

Deskripsi

Tipe

Nilai contoh

Tingkat kebutuhan

gen_ai.session.id

ID Sesi

String

ddde34343-f93a-4477-33333-sdfsdaf

Diperlukan secara kondisional

gen_ai.user.id

ID pengguna akhir aplikasi.

String

u-lK8JddD

Diperlukan secara kondisional

gen_ai.span.kind

Jenis operasi

String

Lihat LLM Span Kind

Diperlukan

gen_ai.framework

Jenis framework yang digunakan.

String

langchain; llama_index

Diperlukan secara kondisional

Resources

ResourceKey

Deskripsi

Tipe

Nilai contoh

Tingkat kebutuhan

service.name

Nama aplikasi

String

test-easy-rag

Diperlukan

Chain

Chain adalah alat yang menghubungkan LLM dengan berbagai komponen lainnya untuk menjalankan tugas kompleks. Chain dapat mencakup Pengambilan (Retrieval), Penyematan (Embedding), panggilan LLM, bahkan Chain bersarang.

Attributes

AttributeKey

Deskripsi

Tipe

Nilai contoh

Tingkat kebutuhan

gen_ai.span.kind

Jenis operasi. Enumerasi khusus untuk spanKind LLM. Untuk Chain, nilai harus berupa CHAIN.

String

CHAIN

Diperlukan

gen_ai.operation.name

Jenis operasi sekunder

String

WORKFLOW; TASK

Diperlukan secara kondisional

input.value

Konten input

String

Who Are You!

Direkomendasikan

output.value

Konten yang dikembalikan

String

I am ChatBot

Direkomendasikan

gen_ai.user.time_to_first_token

Waktu hingga token pertama. Waktu keseluruhan sejak server menerima permintaan pengguna hingga paket pertama tanggapan dikembalikan. Satuan dalam nanodetik.

Integer

1000000

Direkomendasikan

Retriever

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

Attributes

AttributeKey

Deskripsi

Tipe

Nilai contoh

Tingkat kebutuhan

gen_ai.span.kind

Jenis operasi. Enumerasi khusus untuk spanKind LLM. Untuk Retriever, nilai harus berupa RETRIEVER.

String

RETRIEVER

Diperlukan

retrieval.query

Kueri singkat untuk pengambilan.

String

what is the topic in xxx?

Direkomendasikan

retrieval.document

Daftar dokumen yang diambil.

Array JSON

[{"document":{"content":"This is a sample document content.","metadata":{"source":"https://aliyun.com/xxx/wiki","title":"How LLM Works"},"score":0.7680862242896571,"id":"7af0e529-2531-42d9-bf3a-d5074a73c184"}}]

Diperlukan

Reranker

Reranker mengurutkan beberapa dokumen input berdasarkan relevansinya terhadap suatu kueri dan dapat mengembalikan dokumen top-K untuk LLM.

Attributes

AttributeKey

Deskripsi

Tipe

Nilai contoh

Tingkat kebutuhan

gen_ai.span.kind

Jenis operasi. Enumerasi khusus untuk spanKind LLM. Untuk Reranker, nilai harus berupa RERANKER.

String

RERANKER

Diperlukan

reranker.query

Parameter input untuk 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

Metadata terkait dokumen input untuk penyusunan ulang. Struktur ini berupa array JSON. Metadata berisi informasi dasar dokumen, seperti path, nama file, dan sumber.

String

-

Diperlukan

reranker.output_document

Metadata terkait dokumen output setelah penyusunan ulang. Struktur ini berupa array JSON. Metadata berisi informasi dasar dokumen, seperti path, nama file, dan sumber.

String

-

Diperlukan

LLM

Span LLM menunjukkan panggilan ke model bahasa besar, misalnya melalui SDK atau OpenAPI untuk meminta inferensi atau generasi teks dari berbagai model besar.

Attributes

AttributeKey

Deskripsi

Tipe

Nilai contoh

Tingkat kebutuhan

gen_ai.span.kind

Jenis operasi. Enumerasi khusus untuk spanKind LLM. Untuk LLM, nilai harus berupa LLM.

String

LLM

Diperlukan

gen_ai.operation.name

Jenis operasi sekunder

String

chat; completion

Opsional

gen_ai.prompt_template.template

Templat prompt

String

Weather forecast for {city} on {date}

Opsional

gen_ai.prompt_template.variables

Nilai spesifik untuk templat prompt.

String

{ context: "<context from retrieval>", subject: "math" }

Opsional

gen_ai.prompt_template.version

Nomor versi templat prompt.

String

1.0

Opsional

gen_ai.system

Penyedia model besar.

String

openai

Diperlukan

gen_ai.request.parameters

Parameter input untuk panggilan LLM.

String

{"temperature": 0.7}

Opsional

gen_ai.model_name

Nama model

String

gpt-4

Opsional

gen_ai.conversation.id

ID unik percakapan. ID ini sebaiknya dikumpulkan jika ID sesi dapat dengan mudah diperoleh selama instrumentasi.

String

conv_5j66UpCpwteGg4YSxUnt7lPY

Diperlukan secara kondisional

gen_ai.output.type

Jenis output yang ditentukan dalam permintaan LLM. Informasi ini sebaiknya dikumpulkan jika tersedia dan permintaan menentukan jenis tertentu, seperti format output.

String

text; json; image; audio

Diperlukan secara kondisional

gen_ai.request.choice.count

Jumlah kandidat generasi yang diminta dari LLM.

Int

3

Diperlukan secara kondisional jika nilainya 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 secara kondisional

gen_ai.request.frequency_penalty

Hukuman frekuensi yang diatur dalam permintaan LLM.

Float

0.1

Direkomendasikan

gen_ai.request.max_tokens

Jumlah maksimum token yang ditentukan dalam permintaan LLM.

Integer

100

Direkomendasikan

gen_ai.request.presence_penalty

Hukuman keberadaan yang diatur dalam permintaan LLM.

Float

0.1

Direkomendasikan

gen_ai.request.temperature

Suhu yang ditentukan dalam permintaan LLM.

Float

0.1

Direkomendasikan

gen_ai.request.top_p

Nilai top_p yang ditentukan dalam permintaan LLM.

Float

1.0

Direkomendasikan

gen_ai.request.top_k

Nilai top_k yang ditentukan dalam permintaan LLM.

Float

1.0

Direkomendasikan

gen_ai.request.is_stream

Menunjukkan apakah tanggapan dialirkan (streamed). Jika bidang ini tidak ada, nilainya dianggap false.

Boolean

false

Direkomendasikan

gen_ai.request.stop_sequences

Urutan penghenti untuk LLM.

String[]

["stop"]

Direkomendasikan

gen_ai.request.tool_calls

Konten pemanggilan tool. (Akan ditinggalkan dan diganti dengan gen_ai.tool.definitions).

String

[{"tool_call.function.name": "get_current_weather"}]

Direkomendasikan

gen_ai.response.id

ID unik yang dihasilkan oleh LLM.

String

gpt-4-0613

Direkomendasikan

gen_ai.response.model

Nama model yang digunakan untuk generasi LLM.

String

gpt-4-0613

Direkomendasikan

gen_ai.response.finish_reason

Alasan mengapa LLM berhenti menghasilkan.

String[]

["stop"]

Direkomendasikan

gen_ai.response.time_to_first_token

Waktu hingga token pertama untuk model besar itu sendiri dalam skenario tanggapan streaming. Ini merepresentasikan waktu keseluruhan sejak server menerima permintaan pengguna hingga paket pertama tanggapan dikembalikan. Satuan dalam nanodetik.

Integer

1000000

Direkomendasikan

gen_ai.response.reasoning_time

Waktu inferensi model penalaran. Ini merepresentasikan durasi proses penalaran dalam tanggapan. Satuan dalam milidetik.

Integer

1248

Direkomendasikan

gen_ai.usage.input_tokens

Jumlah token yang digunakan untuk input.

Integer

100

Direkomendasikan

gen_ai.usage.output_tokens

Jumlah token yang digunakan untuk output.

Integer

200

Direkomendasikan

gen_ai.usage.total_tokens

Jumlah total token yang digunakan.

Integer

300

Direkomendasikan

gen_ai.input.messages_ref

Tautan ke konten input model.

String

s3://acme.prod.support_bot.chats.2025/conv_1234/run_42.json

Direkomendasikan

gen_ai.output.messages_ref

Tautan ke konten output model.

String

s3://acme.prod.support_bot.chats.2025/conv_1234/run_42.json

Direkomendasikan

gen_ai.system.instructions_ref

Tautan ke konten prompt sistem. Digunakan untuk merekam secara terpisah tautan eksternal ke konten prompt sistem (/instruksi sistem). Jika konten prompt sistem dapat diperoleh secara terpisah, konten tersebut sebaiknya direkam dalam bidang ini. Jika konten prompt sistem merupakan bagian dari panggilan model, maka harus direkam dalam tautan yang sesuai dengan properti gen_ai.input.messages_ref.

String

s3://acme.prod.support_bot.chats.2025/conv_1234/invocation_42.json

Direkomendasikan jika tersedia

gen_ai.input.messages

Konten input model. Pesan harus disediakan sesuai urutan pengirimannya ke model atau agen.

Secara default, informasi ini tidak boleh dikumpulkan kecuali pengguna secara eksplisit mengaktifkannya.

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. Pesan harus disediakan sesuai urutan pengirimannya ke model atau agen.

Secara default, informasi ini tidak boleh dikumpulkan kecuali pengguna secara eksplisit mengaktifkannya.

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. Digunakan untuk merekam secara terpisah konten prompt sistem (/instruksi sistem) sebagai string JSON. Jika konten prompt sistem dapat diperoleh secara terpisah, konten tersebut harus direkam dalam bidang ini. Jika konten prompt sistem merupakan bagian dari panggilan model, maka harus direkam dalam properti gen_ai.input.messages.

Secara default, informasi ini tidak boleh dikumpulkan kecuali pengguna secara eksplisit mengaktifkannya.

String

{"role": "system", "message": {"type": "text", "content": "You are a helpful assistant"}}

Opsional

gen_ai.response.reasoning_content

Konten penalaran dari model penalaran. Merepresentasikan konten proses penalaran dalam tanggapan. Batas panjang default adalah 1024 karakter. Konten yang melebihi batas ini harus dipotong.

String

Okay, let's tackle this question about xxx.

Opsional

gen_ai.tool.definitions

Definisi tool

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"]}}]

Direkomendasikan

Embedding

Span Embedding merepresentasikan proses penyematan, seperti operasi untuk menyematkan teks ke dalam model besar. Hasilnya dapat digunakan dalam kueri kemiripan guna mengoptimalkan operasi selanjutnya.

Attributes

AttributeKey

Deskripsi

Tipe

Nilai contoh

Tingkat kebutuhan

gen_ai.span.kind

Jenis operasi. Enumerasi khusus untuk spanKind LLM. Untuk Embedding, nilai harus berupa EMBEDDING.

String

EMBEDDING

Diperlukan

gen_ai.usage.input_tokens

Konsumsi token untuk teks input.

Integer

10

Opsional

gen_ai.usage.total_tokens

Total konsumsi token untuk penyematan.

Integer

10

Opsional

embedding.model_name

Nama model penyematan. (Akan ditinggalkan dan diganti dengan gen_ai.request.model).

String

text-embedding-v1

Opsional

embedding.embedding_output

Hasil penyematan. (Akan ditinggalkan).

String

-

Opsional

gen_ai.operation.name

Jenis operasi sekunder

String

embeddings

Diperlukan secara kondisional

gen_ai.encoding.formats

Format encoding

String

["base64"]

Direkomendasikan

gen_ai.embeddings.dimension.count

Jumlah dimensi penyematan.

Integer

100

Direkomendasikan

gen_ai.request.model

Nama model yang ditentukan dalam permintaan Penyematan.

String

text-embedding-v1

Diperlukan secara kondisional

Tool

Span Tool menunjukkan panggilan ke alat eksternal, seperti pemanggilan kalkulator atau permintaan informasi cuaca terbaru dari API cuaca.

Attributes

AttributeKey

Deskripsi

Tipe

Nilai contoh

Tingkat kebutuhan

gen_ai.span.kind

Jenis operasi. Enumerasi khusus untuk spanKind LLM. Untuk Tool, nilai harus berupa TOOL.

String

TOOL

Diperlukan

tool.name

Nama tool. (Akan ditinggalkan dan diganti dengan gen_ai.tool.name).

String

WeatherAPI

Diperlukan

tool.description

Deskripsi tool. (Akan ditinggalkan dan diganti dengan gen_ai.tool.description).

String

An API to get weather data.

Diperlukan

tool.parameters

Parameter input tool. (Akan ditinggalkan dan diganti dengan gen_ai.tool.call.arguments).

String

{'a': 'int' }

Diperlukan

gen_ai.operation.name

Jenis operasi sekunder

String

execute_tool

Diperlukan secara kondisional

gen_ai.tool.call.id

ID Tool

String

call_mszuSIzqtI65i1wAUOE8w5H4

Direkomendasikan

gen_ai.tool.description

Deskripsi tool

String

Multiply two numbers

Direkomendasikan

gen_ai.tool.name

Nama tool

String

get_weather

Direkomendasikan

gen_ai.tool.type

Jenis tool

String

function; extension; datastore

Direkomendasikan

gen_ai.tool.call.arguments

Argumen input untuk pemanggilan tool.

String

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

Opsional

gen_ai.tool.call.result

Nilai kembalian dari pemanggilan tool.

String

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

Opsional

Agent

Span Agent merepresentasikan skenario agen—jenis Chain yang lebih kompleks yang membuat keputusan langkah berikutnya berdasarkan hasil inferensi model besar. Contohnya mencakup beberapa panggilan ke LLM dan Tool, dengan pengambilan keputusan bertahap untuk mencapai jawaban akhir.

Attributes

AttributeKey

Deskripsi

Tipe

Nilai contoh

Tingkat kebutuhan

gen_ai.span.kind

Jenis operasi. Enumerasi khusus untuk spanKind LLM. Untuk Agent, nilai harus berupa AGENT.

String

AGENT

Diperlukan

input.value

Parameter input. Mencatat input asli.

String

Please help me plan xxxx

Diperlukan

input.mime_type

Jenis MIME input.

String

text/plain; application/json

Opsional

output.value

Hasil kembalian. Mengembalikan output akhir.

String

Planning is complete. Please check the result xxx

Diperlukan

output.mime_type

Jenis MIME output.

String

text/plain; application/json

Opsional

gen_ai.response.time_to_first_token

Waktu hingga token pertama untuk Agent. Ini merepresentasikan waktu keseluruhan sejak server menerima permintaan pengguna hingga paket pertama tanggapan dikembalikan. Satuan dalam nanodetik.

Integer

1000000

Direkomendasikan

Task

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

Attributes

AttributeKey

Deskripsi

Tipe

Nilai contoh

Tingkat kebutuhan

gen_ai.span.kind

Jenis operasi. Enumerasi khusus untuk spanKind LLM. Untuk Task, nilai harus berupa TASK.

String

TASK

Diperlukan

input.value

Parameter input

String

Format JSON kustom

Opsional

input.mime_type

Jenis MIME input.

String

text/plain; application/json

Opsional

output.mime_type

Jenis MIME output.

String

text/plain; application/json

Opsional