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.
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 |
| Session ID | string |
| Diperlukan jika tersedia |
| Identifier pengguna akhir | string |
| Diperlukan jika tersedia |
| Tipe operasi [1] | string |
| Diperlukan |
| Tipe operasi sekunder [2] | string |
| Diperlukan |
| Tipe framework yang digunakan | string |
| Diperlukan jika tersedia |
[1] gen_ai.span.kind: Dipetakan ke gen_ai.operation.name sebagai berikut:
|
| Deskripsi |
RETRIEVER |
| Pengambilan dokumen |
LLM |
| Pemanggilan model |
EMBEDDING |
| Penyematan |
TOOL |
| Pemanggilan tool |
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 |
| Operasi chat completion |
| Operasi pembuatan agent GenAI |
| Operasi penyematan kata |
| Operasi pemanggilan tool |
| Operasi pembuatan konten multimodal |
| Operasi pemanggilan agent GenAI |
| Operasi pengambilan dokumen |
| Operasi penyelesaian teks |
Sumber daya
Kunci Resource | Deskripsi | Tipe | Nilai Contoh | Tingkat Kebutuhan |
| Nama aplikasi | string |
| Diperlukan |
| Workspace Cloud Monitor | string |
| Diperlukan jika tersedia |
| ID layanan Cloud Monitor | string |
| Diperlukan jika tersedia |
| Sumber aplikasi | string |
| Diperlukan jika tersedia |
| Fitur aplikasi | string |
| Diperlukan Catatan
|
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.
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 |
| Tipe operasi [1] | string |
| Diperlukan |
| Tipe operasi sekunder | string |
| Diperlukan jika tersedia |
| Konten input | string |
| Disarankan |
| Konten respons | string |
| Disarankan |
| 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 |
| Tipe operasi [1] | string |
| Diperlukan |
| Tipe operasi sekunder [2] | string |
| Diperlukan |
| Identifier unik sumber data [3] | string |
| Diperlukan jika tersedia |
| Penyedia LLM | string |
| Diperlukan jika tersedia |
| Nama model yang ditentukan dalam permintaan | string |
| Diperlukan jika tersedia |
| Nilai Top-K yang ditentukan dalam permintaan | float |
| Disarankan |
| Daftar dokumen yang diambil [4] | string |
| Opsional |
| Cuplikan teks kueri | string |
| 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".
Komunitas OpenTelemetry belum mendefinisikan konvensi semantik untuk tipe span ini.
Atribut
Kunci Atribut | Deskripsi | Tipe | Contoh | Tingkat Kebutuhan |
| Tipe operasi [1] | string |
| Diperlukan |
| Parameter permintaan Reranker | string |
| Opsional |
| Nama model yang digunakan oleh Reranker | string |
| Opsional |
| Peringkat setelah penyusunan ulang | integer |
| Opsional |
| Keluarkan metadata dokumen [2] | string |
| Diperlukan |
| Metadata untuk dokumen output [3] | string |
| 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 |
| Tipe operasi [1] | string |
| Diperlukan |
| Tipe operasi sekunder [2] | string |
| Diperlukan |
| Penyedia LLM | string |
| Diperlukan |
| ID percakapan unik [3] | string |
| Diperlukan jika tersedia |
| Tipe output yang ditentukan dalam permintaan LLM [4] | string |
| Diperlukan jika tersedia |
| Jumlah kandidat generasi yang diminta dalam permintaan LLM | int |
| Diperlukan jika bukan 1 |
| Nama model yang ditentukan dalam permintaan LLM | string |
| Diperlukan |
| Seed yang ditentukan dalam permintaan LLM | string |
| Diperlukan jika tersedia |
| Penalti frekuensi yang diatur dalam permintaan LLM | float |
| Disarankan |
| Jumlah maksimum token yang ditentukan dalam permintaan LLM | integer |
| Disarankan |
| Penalti kehadiran yang diatur dalam permintaan LLM | float |
| Disarankan |
| Suhu yang ditentukan dalam permintaan LLM | float |
| Disarankan |
| Nilai Top-P yang ditentukan dalam permintaan LLM | float |
| Disarankan |
| Nilai Top-K yang ditentukan dalam permintaan LLM | float |
| Disarankan |
| Sequences stop untuk LLM | string[] |
| Disarankan |
|
ID unik yang dihasilkan oleh LLM |
string |
|
Disarankan |
| Nama model yang digunakan untuk generasi LLM | string |
| Disarankan |
| Alasan LLM berhenti menghasilkan | string[] |
| Disarankan |
| Latensi token pertama untuk LLM dalam skenario respons streaming [5] | integer |
| Disarankan |
| Waktu inferensi untuk model penalaran [6] | integer |
| Disarankan |
| Jumlah token input yang digunakan | integer |
| Disarankan |
| Jumlah token output yang digunakan | integer |
| Disarankan |
| Total jumlah token yang digunakan | integer |
| Disarankan |
| Jumlah token yang ditulis ke cache penyedia model [7] | integer |
| Disarankan |
| Jumlah token yang dibaca dari cache penyedia model [8] | integer |
| Disarankan |
| Konten input model [9] | string |
| Opsional |
|
Konten output model [10] |
string |
|
Opsional |
| Konten prompt sistem [11] | string |
| Opsional |
| Daftar definisi tool [12] | string |
| Opsional |
| Latensi prefill LLM. Satuan: nanodetik | integer |
| Disarankan |
| Latensi decode LLM. Satuan: nanodetik | integer |
| Disarankan |
| Waktu inferensi LLM. Sama dengan jumlah waktu prefill dan decode. Satuan: nanodetik | integer |
| Disarankan |
| Data multi-modal yang terlibat dalam konten input LLM [13] | string[] |
| Disarankan |
| Data multi-modal yang terlibat dalam konten output LLM [14] | string[] |
| 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 |
| Gambar |
| Objek JSON terformat dengan baik |
| Suara |
| 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 |
| Tipe operasi [1] | string |
| Diperlukan |
| Tipe operasi sekunder [2] | string |
| Diperlukan |
| Penyedia LLM | string |
| Diperlukan |
| Nama model yang ditentukan dalam permintaan | string |
| Diperlukan jika tersedia |
| Jumlah dimensi yang diharapkan untuk operasi embedding | integer |
| Disarankan |
| Format encoding yang diminta untuk operasi embedding | string[] |
| Disarankan |
| Jumlah token yang dikonsumsi oleh teks input | integer |
| Opsional |
| Total jumlah token yang dikonsumsi oleh embedding | integer |
| 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 |
| Tipe operasi [1] | string |
| Diperlukan |
| Tipe operasi sekunder [2] | string |
| Diperlukan |
| ID Alat | string |
| Disarankan |
| Deskripsi tool | string |
| Disarankan |
| Nama tool | string | Disarankan | |
| Tipe tool | string |
| Disarankan |
|
|
Identifier unik skill GenAI. |
string |
|
Diperlukan saat memuat skill. |
|
|
Nama skill GenAI. |
string |
|
Diperlukan saat memuat skill. |
|
|
Deskripsi bebas skill GenAI, yang disediakan oleh aplikasi. |
string |
|
disarankan |
|
|
Versi skill GenAI. |
string |
|
disarankan |
| Parameter input pemanggilan tool [2] | string |
| Opsional |
| Nilai kembali pemanggilan tool [3] | string |
| 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 |
| Tipe operasi [1] | string |
| Diperlukan |
| Tipe operasi sekunder [2] | string |
| Diperlukan |
| ID percakapan unik [3] | string |
| Diperlukan jika tersedia |
| Deskripsi agent | string |
| Diperlukan jika tersedia |
| Identifier unik agent | string |
| Diperlukan jika tersedia |
| Nama agent | string |
| Diperlukan jika tersedia |
| Identifier unik sumber data [4] | string |
| Diperlukan jika tersedia |
| Jumlah token input yang digunakan | integer |
| Disarankan |
| Jumlah token output yang digunakan | integer |
| Disarankan |
| Total jumlah token yang digunakan | integer |
| Disarankan |
| Jumlah token yang ditulis ke cache penyedia model [5] | integer |
| Disarankan |
| Jumlah token yang dibaca dari cache penyedia model [6] | integer |
| Disarankan |
| Konten input model [7] | string |
| Opsi |
| Konten output model [8] | string |
| Opsional |
| Konten prompt sistem [9] | string |
| Opsional |
| Daftar definisi tool [10] | string |
| Opsional |
| Latensi respons token pertama agent | integer |
| 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.
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 |
| Tipe operasi [1] | string |
| Diperlukan |
| Tipe operasi sekunder | string |
| Diperlukan |
| Parameter input | string |
| Opsional |
| Tipe MIME input | string |
| Opsional |
| Tipe MIME output | string |
| 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.
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 |
| Tipe operasi [1] | string |
| Diperlukan |
| Tipe operasi sekunder | string |
| Disarankan |
| Session ID | string |
| Diperlukan jika tersedia |
| Identifier pengguna akhir | string |
| Diperlukan jika tersedia |
| Konten input model [2] | string |
| Opsional |
| Konten output model [3] | string |
| Opsional |
| Latensi respons token pertama dalam skenario respons streaming [4] | integer |
| 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.
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 |
| Tipe operasi [1] | string |
| Diperlukan |
| Tipe operasi sekunder | string |
| Disarankan |
| Alasan penghentian putaran ReAct ini | string |
| Disarankan |
| Nomor putaran untuk iterasi ReAct ini [2] | integer |
| 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.