Aktifkan distributed tracing untuk memantau kinerja aplikasi LLM, memvisualisasikan rantai panggilan, dan mengidentifikasi bottleneck.
Ikhtisar
Aplikasi LLM sering menghadapi output yang tidak dapat diprediksi, rantai panggilan yang kompleks, bottleneck kinerja, serta kurangnya observabilitas. Tracing EAS mengatasi tantangan ini melalui integrasi dengan ARMS.
Tracing menyediakan:
Visualisasi rantai panggilan: Memvisualisasikan seluruh jalur permintaan dengan log yang jelas.
Pemantauan kinerja: Melacak waktu respons, konsumsi token, dan jumlah error untuk mengidentifikasi bottleneck.
Identifikasi masalah: Menggunakan Trace ID untuk menemukan masalah dan melakukan analisis akar penyebab dengan informasi kontekstual.
Alat evaluasi: Memverifikasi akurasi dan keandalan output aplikasi LLM berdasarkan data rantai panggilan.
Konsep utama
Trace
Jalur eksekusi lengkap dari sebuah permintaan dalam sistem terdistribusi, terdiri dari beberapa span. Setiap trace memiliki TraceID unik. Trace memvisualisasikan alur permintaan dan membantu mengidentifikasi bottleneck kinerja atau sumber error.
Span
Unit dasar dalam trace yang merepresentasikan operasi tertentu. Mencatat nama operasi, waktu mulai, dan waktu selesai.
Python probe
Alat yang secara otomatis mengumpulkan data rantai panggilan dan metrik kinerja dari aplikasi Python. Instal Python probe saat menyebar layanan EAS untuk mengaktifkan tracing.
Evaluasi
Menilai jawaban aplikasi LLM dalam berbagai dimensi. Hubungi manajer bisnis Anda untuk mengonfirmasi nama dimensi evaluasi spesifik.
Batasan
Fitur ini hanya mendukung aplikasi LLM berbasis Python yang dikembangkan dengan LangChain, LlamaIndex, atau DashScope.
Prasyarat
Aktifkan ARMS Application Monitoring. Untuk informasi lebih lanjut, lihat Aktifkan ARMS.
Aktifkan LangStudio. Untuk informasi lebih lanjut, lihat Otorisasi akun layanan PAI.
Jika menggunakan pengguna Resource Access Management (RAM) atau peran RAM, berikan izin
AliyunPAILLMTraceFullAccesskepada pengguna atau peran tersebut. Untuk informasi lebih lanjut, lihat Kelola izin peran RAM dan Berikan izin kepada pengguna RAM.
Langkah 1: Siapkan kode contoh
Panduan ini menggunakan layanan prediksi sederhana untuk menunjukkan penyebaran layanan, pemanggilan, dan penampilan trace.
Contoh ini menggunakan API DashScope dengan framework Flask untuk membangun layanan web yang memanggil metode Generation.call untuk generasi teks. Sebelum menggunakan DashScope, selesaikan proses aktivasi dan peroleh Kunci API. Untuk informasi lebih lanjut, lihat Panggil API Tongyi Qianwen untuk pertama kali. Atur DASHSCOPE_API_KEY sebagai variabel lingkungan saat menyebar layanan agar akses API berjalan lancar. Kode berikut menunjukkan contoh file app.py:
import os
import json
import flask
import dashscope
app = flask.Flask(__name__)
def run_query(query):
"""Jalankan kueri."""
response = dashscope.Generation.call(
api_key=os.getenv('DASHSCOPE_API_KEY'),
model="qwen-plus",
messages=[
{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': query}
],
result_format='message'
)
return response
@app.route('/api/trace_demo', methods=['POST'])
def query():
"""
Contoh data POST:
{
"query": "capital of china"
}
"""
data = flask.request.get_data("utf-8")
query = json.loads(data).get('query', '')
response = run_query(query)
return response.output.choices[0].message.content
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8000)
Langkah 2: Aktifkan tracing
Saat menyebar layanan EAS, aktifkan sakelar Tracing di bagian Service Features. Ikuti petunjuk untuk menentukan apakah gambar Anda memiliki komponen tracing bawaan. Jika diperlukan, konfigurasikan perintah untuk menginstal probe dan menjalankan aplikasi dengan ARMS Python probe. Untuk informasi lebih lanjut, lihat Instal Python probe secara manual.
Gunakan gambar dengan komponen tracing bawaan: Aktifkan sakelar Tracing untuk mengaktifkan tracing. Tidak diperlukan konfigurasi tambahan.
Gunakan gambar tanpa komponen tracing bawaan: Aktifkan sakelar Tracing dan konfigurasikan pustaka pihak ketiga serta perintah startup sesuai petunjuk.
Parameter
Deskripsi
Command to Run
Tambahkan
aliyun-bootstrap -a install && aliyun-instrument python app.py. Ini menginstal probe dan menjalankan aplikasi dengan ARMS Python probe. app.py adalah file utama yang dikonfigurasi dalam gambar untuk menyediakan layanan prediksi. Anda juga harus menambahkan aliyun-bootstrap ke konfigurasi pustaka pihak ketiga untuk mengunduh installer probe dari PyPI.Third-party Library Settings
Tambahkan
aliyun-bootstrapuntuk mengunduh installer probe dari PyPI.

Topik ini menggunakan gambar tanpa komponen tracing bawaan dan kode contoh sebagai contoh. Tabel berikut menjelaskan parameter utama untuk menyebar layanan EAS kustom. Untuk instruksi, lihat Sebar layanan di konsol. Setelah penyebaran:
Lihat status penyebaran layanan di halaman EAS.
Lihat aplikasi yang terdaftar di halaman Daftar Aplikasi di konsol ARMS. Nama aplikasi sama dengan nama layanan EAS.
Parameter | Deskripsi | |
Environment Information | Deployment Method | Pilih Image-based Deployment. |
Image Configuration | Topik ini menggunakan gambar default: . Anda juga dapat memasukkan gambar kustom yang telah disiapkan di tab Image Address. | |
Directly Mount | Karena file kode contoh tidak diintegrasikan ke dalam gambar, pasang ke instans layanan. Sebagai contoh, pemasangan dari OSS. Klik OSS dan konfigurasikan parameter berikut:
Jika Anda menggunakan gambar kustom dan telah mengonfigurasi file utama untuk layanan prediksi dalam gambar, Anda dapat melewatkan konfigurasi ini. | |
Command | Topik ini mengatur perintah menjadi | |
Environment Variables | Karena kode contoh memanggil API Dashscope, klik Add dan konfigurasikan variabel lingkungan berikut:
| |
Third-party Library Settings | Atur pustaka pihak ketiga menjadi | |
Service Access | VPC | Untuk menggunakan fitur tracing, Anda harus mengonfigurasi virtual private cloud (VPC). Pilih VPC, vSwitch, dan Security group di wilayah tersebut. Secara default, layanan EAS tidak dapat mengakses Internet. Untuk menjalankan kode contoh yang memanggil API Dashscope, konfigurasikan VPC dengan akses Internet. Untuk instruksi, lihat Skenario 1: Izinkan layanan EAS mengakses Internet. |
vSwitch | ||
Security Group Name | ||
Features | Tracing Analysis | Aktifkan sakelar Tracing dan konfigurasikan pustaka pihak ketiga serta perintah startup di bagian Environment Context. |
Langkah 3: Melihat jejak
Alat evaluasi berbasis trace membantu pengembang memverifikasi akurasi dan keandalan output aplikasi LLM:
Panggil layanan EAS
Topik ini menggunakan debugging online sebagai contoh. Anda juga dapat memanggil layanan EAS menggunakan API. Untuk informasi lebih lanjut, lihat Panggilan API.
Di halaman Elastic Algorithm Service (EAS), temukan layanan target dan klik
> Online Debugging di kolom Actions.Di tab Body, kirim data permintaan ke alamat yang ditentukan sesuai dengan layanan prediksi yang Anda definisikan.
Topik ini menggunakan antarmuka layanan yang didefinisikan dalam file app.py contoh. Gambar berikut menunjukkan contoh hasil:

Lihat informasi trace
Secara default, data trace disimpan selama 30 hari sejak dihasilkan. Untuk memperpanjang periode penyimpanan, hubungi tim ARMS untuk konfigurasi khusus.
Beralih ke tab Trace Query di tab Tracing Analysis untuk melihat informasi trace.

Temukan trace target dan klik View Traces di kolom Actions untuk menuju halaman Trace details.
Data trace pada halaman ini memungkinkan Anda melihat input, output, dan informasi log terkait layanan.
Catatan: Jika Anda menggunakan pengguna RAM atau peran RAM, Anda harus memberikan izin
AliyunARMSReadOnlyAccessuntuk menggunakan fitur ini.
Untuk berbagi detail trace, klik ikon berbagi
untuk menghasilkan alamat sekali pakai.Catatan: Jika Anda menggunakan pengguna RAM atau peran RAM, Anda harus memberikan izin
cms:CreateTicketsebelum dapat menggunakan fitur ini.
Langkah 4: Evaluasi kinerja aplikasi
EAS menyediakan alat evaluasi berbasis trace untuk memverifikasi akurasi dan keandalan output aplikasi LLM. Dua metode evaluasi didukung:
Metode 1: Evaluasi satu trace: Pilih secara manual satu trace dari layanan EAS untuk dievaluasi. Cocok untuk fase pengembangan atau pengujian guna men-debug trace tertentu dan memverifikasi logika serta kinerjanya.
Metode 2: Evaluasi trace secara batch online: Secara berkala mengevaluasi trace yang diambil sampelnya dari layanan EAS yang sedang berjalan. Cocok untuk pengujian kinerja skala besar atau validasi fitur guna memahami status sistem secara keseluruhan.
Secara default, data trace disimpan selama 30 hari sejak dihasilkan. Untuk memperpanjang periode penyimpanan, hubungi tim ARMS untuk konfigurasi khusus.
Metode 1: Evaluasi satu trace
Di tab Trace Query pada tab Tracing Analysis, temukan trace target dan klik Evaluate di kolom Actions. Kemudian, di panel konfigurasi Evaluate, konfigurasikan parameter berikut.

Evaluation Metrics: Ini adalah konfigurasi tetap dan tidak dapat diubah. Evaluasi dilakukan berdasarkan dimensi berikut.
Evaluation Metric
Deskripsi
Correctness
Menentukan apakah jawaban secara benar menjawab pertanyaan berdasarkan input dan teks referensi.
Faithfulness
Menentukan apakah jawaban dihasilkan berdasarkan input dan teks referensi serta apakah mengandung Halusinasi.
Retrieval Relevance
Menentukan apakah hasil yang diambil relevan dengan pertanyaan input. Termasuk empat metrik berikut:
nDCG: Normalized Discounted Cumulative Gain
Hit Rate
Precision@K
MRR: Mean Reciprocal Rank
Model Settings: Model LLM yang digunakan untuk mengevaluasi trace. Setelah pengaturan awal, konfigurasi ini akan diisi otomatis untuk evaluasi berikutnya.
Parameter
Deskripsi
Model Selection
Dua model berikut didukung:
PAI Judge Model
qwen-max (model Studio Model)
CatatanUntuk menggunakan model Studio Model, Anda perlu mengonfigurasi koneksi Internet untuk EAS.
Panggilan ke model Studio Model ditagih secara terpisah. Untuk informasi lebih lanjut, lihat Tagihan.
Model Token
Masukkan token untuk model yang dipilih:
Model juri: Buka halaman Judge Model, aktifkan model juri PAI, dan peroleh token.
qwen-max: Untuk mempelajari cara memperoleh token untuk model qwen-max Studio Model, lihat Panggil API Tongyi Qianwen untuk pertama kali.
Extraction Configuration: Di bagian Query Extraction Configuration, Answer Extraction Configuration, dan Context Extraction Configuration, konfigurasikan parameter dalam tabel berikut untuk mengekstraksi konten yang sesuai:
Query Extraction Configuration: Mengekstraksi konten kueri pengguna (input).
Answer Extraction Configuration: Mengekstraksi jawaban yang dihasilkan sistem (output).
Context Extraction Configuration: Mengekstraksi teks atau informasi latar belakang yang diberikan ke sistem (dokumen).
Parameter
Deskripsi
SpanName
Menemukan span yang cocok dengan SpanName.
JsonPathInSpan
Formatnya adalah a.b.c. Parameter ini tidak boleh kosong. Ini mengekstraksi nilai dari elemen tertentu dari span yang cocok.
JsonPathInSpanValue
Formatnya adalah a.b.c. Parameter ini boleh kosong. Setelah elemen yang sesuai dengan JsonPathInSpan ditemukan, jika konten elemen tersebut adalah string JSON, JsonPathInSpanValue digunakan untuk mengekstraksi nilai yang sesuai.
Anda dapat mengklik View Traces di kolom Actions untuk memperoleh konten konfigurasi dari halaman Trace details. Tabel berikut menunjukkan contoh konfigurasi:
Extraction Configuration
Cara memperoleh
Contoh nilai
Query Extraction Configuration
Topik ini memberikan contoh di mana JsonPathInSpanValue tidak memiliki nilai:

Untuk contoh di mana JsonPathInSpanValue memiliki nilai, lihat gambar berikut.

JsonPathInSpanValue tidak memiliki nilai
SpanName: LLM
JsonPathInSpan: attributes.input.value
JsonPathInSpanValue: Karena konten elemen JsonPathInSpan bukan string JSON, parameter ini kosong.
JsonPathInSpanValue memiliki nilai
SpanName: LLM
JsonPathInSpan:
attributes.input.valueJsonPathInSpanValue: Karena konten elemen JsonPathInSpan adalah string JSON, masukkan
text[0]di sini.
Answer Extraction Configuration

SpanName: LLM
JsonPathInSpan:
attributes.output.valueJsonPathInSpanValue: Parameter ini kosong.
Context Extraction Configuration
Layanan contoh dalam topik ini tidak mencakup konfigurasi ekstraksi konteks. Untuk contoh, lihat gambar berikut:

SpanName: retrieve
JsonPathInSpan:
attributes.retrieval.documents[*].document.contentPentingHanya konfigurasi konteks yang mendukung penggunaan tanda bintang (*).
JsonPathInSpanValue: Karena konten elemen JsonPathInSpan bukan string JSON, parameter ini kosong.
Setelah mengonfigurasi parameter, klik Confirm.
Saat hasil muncul di kolom Evaluation Result (seperti yang ditunjukkan pada gambar berikut), evaluasi selesai. Klik hasil tersebut untuk melihat detailnya.

Metode 2: Evaluasi trace secara batch online
Di tab Online Evaluation pada tab Tracing Analysis, klik New Assessment.
Di halaman Create Evaluation Task, konfigurasikan parameter berikut lalu klik Confirm.
Parameter
Deskripsi
Basic Configuration
Task Name
Masukkan nama tugas kustom.
Evaluation Configuration
Evaluation Metrics
Ini adalah konfigurasi tetap dan tidak dapat diubah. Evaluasi dilakukan berdasarkan dimensi berikut:
Correctness: Menentukan apakah jawaban secara benar menjawab pertanyaan berdasarkan input dan teks referensi.
Faithfulness: Menentukan apakah jawaban dihasilkan berdasarkan input dan teks referensi serta apakah mengandung Halusinasi.
Retrieval Relevance: Menentukan apakah konten yang diambil relevan dengan pertanyaan input. Termasuk empat metrik berikut:
nDCG: Normalized Discounted Cumulative Gain
Hit Rate
Precision@K
MRR: Mean Reciprocal Rank
Model Selection
Dua model berikut didukung:
PAI Judge Model
qwen-max (model Studio Model)
CatatanUntuk menggunakan model Studio Model, Anda perlu mengonfigurasi koneksi Internet untuk EAS.
Panggilan ke model Studio Model ditagih secara terpisah. Untuk informasi lebih lanjut, lihat Tagihan.
Model Token
Masukkan token untuk model yang dipilih:
Judge model: Buka halaman Judge Model, aktifkan model juri PAI, dan peroleh token.
qwen-max: Untuk mempelajari cara memperoleh token untuk model qwen-max Studio Model, lihat Panggil API Tongyi Qianwen untuk pertama kali.
Sampling Start and End Time
Pilih tanggal mulai dan akhir untuk pengambilan sampel.
Sampling Policy
Kebijakan pengambilan sampel berikut tersedia:
Time window-based sampling: Mengambil satu trace pada interval reguler (setiap x menit).
Probability-based sampling: Secara acak mengambil persentase tertentu dari trace.
QCA Extraction Configuration: Data trace diformat sebagai string JSON. Konfigurasi ekstraksi QCA menentukan path ke QCA dalam struktur JSON ini. Nilai pada path ini merepresentasikan konten QCA spesifik.
Query Extraction Configuration
Query Extraction Configuration: Mengekstraksi konten kueri pengguna (input).
Answer Extraction Configuration: Mengekstraksi jawaban yang dihasilkan sistem (output).
Context Extraction Configuration: Mengekstraksi teks atau informasi latar belakang yang diberikan ke sistem (dokumen).
Konfigurasikan parameter SpanName, JsonPathInSpan, dan JsonPathInSpanValue untuk mengekstraksi konten yang sesuai. Untuk informasi lebih lanjut tentang cara mengonfigurasi parameter ini, lihat Extraction Configuration.
Answer Extraction Configuration
Context Extraction Configuration
Saat Status tugas evaluasi adalah Completed, semua operasi evaluasi pengambilan sampel telah selesai, dan tugas tidak akan menghasilkan hasil evaluasi baru.
Setelah evaluasi selesai, Anda dapat melihat hasilnya di kolom Evaluation Result tugas evaluasi. Anda juga dapat mengklik nama tugas untuk melihat detailnya.
Lihat hasil evaluasi: Sistem menghitung dan menampilkan skor rata-rata dari semua evaluasi yang berhasil. Skor yang lebih mendekati 1 menunjukkan kualitas yang lebih tinggi.

Lihat detail evaluasi:

Setelah pembuatan, Anda dapat mengelola tugas evaluasi dengan memperbarui, menghentikan, menghapus, atau mengkloningnya. Pengkloningan menduplikasi konfigurasi tugas untuk membuat tugas evaluasi baru.