Topik ini menjelaskan cara mengaktifkan fitur tracing saat Anda menerapkan layanan.
Informasi latar belakang
Seiring meningkatnya penerapan teknologi large language model (LLM), bisnis menghadapi berbagai tantangan dalam membangun aplikasi berbasis LLM, seperti output yang tidak dapat diprediksi, rantai panggilan yang kompleks, kesulitan mengidentifikasi bottleneck kinerja, serta kurangnya observabilitas detail halus. Untuk mengatasi tantangan tersebut, Elastic Algorithm Service (EAS) mendukung tracing.
Tujuan utama tracing adalah meningkatkan observabilitas aplikasi dan membantu Anda mengevaluasi aplikasi LLM secara lebih efektif. Saat Anda mengaktifkan tracing, EAS secara otomatis terintegrasi dengan Alibaba Cloud Application Real-Time Monitoring Service (ARMS) untuk menyediakan fitur-fitur berikut:
Visualisasi Rantai Panggilan: Menyediakan log rantai panggilan yang jelas untuk membantu Anda memvisualisasikan jalur penuh permintaan.
Pemantauan Kinerja: Melacak indikator kinerja utama, seperti waktu respons, konsumsi token, dan jumlah kesalahan, untuk membantu Anda segera mengidentifikasi hambatan kinerja.
Identifikasi Masalah dan Analisis Penyebab Akar: Menggunakan Trace ID untuk dengan cepat menemukan masalah dan melakukan analisis penyebab akar dengan informasi kontekstual.
Alat Evaluasi: Menyediakan alat evaluasi berdasarkan data rantai panggilan untuk memverifikasi akurasi dan keandalan output aplikasi LLM.
Istilah
Trace
Trace adalah jalur eksekusi lengkap dari transaksi atau permintaan dalam sistem terdistribusi. Ini mencatat bagaimana permintaan mengalir melalui layanan atau modul yang berbeda. Sebuah trace terdiri dari beberapa span. Trace membantu Anda memvisualisasikan aliran permintaan dan dengan cepat mengidentifikasi hambatan kinerja atau sumber kesalahan. TraceID adalah pengenal unik untuk sebuah trace. Anda dapat menggunakan TraceID untuk menanyakan detail dan log panggilan tertentu.
Span
Span adalah unit dasar dalam sebuah trace. Ini mewakili operasi tertentu dan mencatat detail tentang operasi tersebut, termasuk nama, waktu mulai, dan waktu akhirnya.
Probe Python
Probe Python adalah alat yang secara otomatis mengumpulkan data rantai panggilan dan metrik kinerja dari aplikasi Python. Saat Anda menerapkan layanan EAS, Anda dapat memasang probe Python untuk mengaktifkan tracing.
Evaluasi
Evaluasi adalah proses menilai jawaban yang dihasilkan oleh aplikasi LLM sebagai tanggapan atas pertanyaan pengguna di berbagai dimensi. Untuk memastikan nama dimensi evaluasi spesifik, hubungi manajer bisnis Anda.
Batasan
Fitur ini hanya mendukung aplikasi LLM berbasis Python yang dikembangkan dengan LangChain, LlamaIndex, atau DashScope.
Prasyarat
Anda telah mengaktifkan Pemantauan Aplikasi ARMS. Untuk informasi lebih lanjut, lihat Aktifkan ARMS.
Anda telah mengaktifkan LangStudio. Untuk informasi lebih lanjut, lihat Otorisasi Akun Layanan PAI.
Jika Anda menggunakan Pengguna Resource Access Management (RAM) atau Peran RAM, Anda harus memberikan izin
AliyunPAILLMTraceFullAccesskepada pengguna atau peran tersebut sebelum menggunakan fitur ini. Untuk informasi lebih lanjut, lihat Berikan Izin kepada Peran RAM dan Berikan Izin kepada Pengguna RAM.
Langkah 1: Persiapan
Untuk memberikan panduan lengkap dari penyebaran layanan dan pemanggilan hingga melihat trace, topik ini menggunakan layanan prediksi sederhana sebagai contoh.
Kode ini adalah untuk layanan prediksi sederhana yang dikembangkan berdasarkan API Dashscope. Ini menggunakan kerangka kerja Flask untuk membangun layanan web dan memanggil metode Generation.call dari Dashscope untuk melakukan generasi teks. Sebelum menggunakan Dashscope untuk pertama kali, Anda harus menyelesaikan proses aktivasi dan mendapatkan Kunci API. Untuk informasi lebih lanjut, lihat Panggil API Tongyi Qianwen untuk Pertama Kali. Kemudian, saat Anda menerapkan layanan, Anda harus mengatur DASHSCOPE_API_KEY sebagai Variabel Lingkungan untuk memastikan akses yang tepat ke layanan API. Kode berikut menunjukkan contoh file app.py:
import os
import json
import flask
import dashscope
app = flask.Flask(__name__)
def run_query(query):
"""Jalankan query."""
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": "ibukota cina"
}
"""
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 Anda menerapkan layanan EAS, Anda dapat menyalakan sakelar Tracing di bagian Fitur Layanan untuk mengaktifkan tracing. Berdasarkan petunjuk, tentukan apakah gambar yang Anda gunakan memiliki komponen tracing bawaan. Jika diperlukan, konfigurasikan perintah untuk memasang probe dan memulai aplikasi dengan probe Python ARMS. Untuk informasi lebih lanjut tentang konfigurasi, lihat Pasang Probe Python Secara Manual.
Gunakan gambar dengan komponen tracing bawaan: Nyalakan sakelar Tracing untuk mengaktifkan tracing dengan satu klik. Tidak diperlukan konfigurasi parameter tambahan.
Gunakan gambar tanpa komponen tracing bawaan: Nyalakan sakelar Tracing dan konfigurasikan pustaka pihak ketiga dan perintah startup berdasarkan petunjuk.
Parameter
Deskripsi
Startup Command
Tambahkan
aliyun-bootstrap -a install && aliyun-instrument python app.py. Perintah ini menginstal probe dan menjalankan aplikasi dengan ARMS Python probe. app.py adalah file utama yang dikonfigurasi dalam citra untuk menyediakan layanan prediksi. Anda juga harus menambahkan aliyun-bootstrap ke konfigurasi library pihak ketiga untuk mengunduh installer probe dari repositori Python Package Index (PyPI).Third-party Library Configuration
Tambahkan
aliyun-bootstrapuntuk mengunduh installer probe dari repositori PyPI.

Topik ini menggunakan gambar tanpa komponen tracing bawaan dan kode sampel sebagai contoh. Tabel berikut menjelaskan parameter kunci untuk menerapkan layanan EAS kustom. Untuk instruksi spesifik, lihat Terapkan Layanan di Konsol. Setelah layanan diterapkan, Anda dapat melakukan operasi berikut:
Lihat status penyebaran layanan di halaman Elastic Algorithm Service (EAS).
Lihat aplikasi yang terdaftar di halaman Daftar Aplikasi di Konsol ARMS. Nama aplikasi sama dengan nama layanan EAS.
Parameter | Deskripsi | |
Environment Context | Deployment Method | Pilih Image Deployment. |
Image Configuration | Topik ini menggunakan gambar default: . Anda juga dapat memasukkan gambar kustom yang sudah disiapkan di tab Image URL. | |
Direct Mount | Karena file kode sampel tidak diintegrasikan ke dalam gambar, Anda harus memasangnya ke instans layanan. Ambil pemasangan dari Object Storage Service (OSS) sebagai contoh. Klik OSS dan konfigurasikan parameter berikut:
Jika Anda menggunakan gambar kustom dan telah mengonfigurasi file utama untuk layanan prediksi dalam gambar, Anda dapat melewati konfigurasi ini. | |
Startup Command | Topik ini menetapkan perintah ke | |
Environment Variables | Karena kode sampel memanggil API Dashscope, klik Add dan konfigurasikan variabel lingkungan berikut:
| |
Third-party Library Configuration | Atur pustaka pihak ketiga ke | |
Service Registration | Virtual Private Cloud (VPC) | Untuk menggunakan fitur tracing, Anda harus mengonfigurasi virtual private cloud (VPC). Pilih Virtual Private Cloud (VPC), VSwitch, dan Security Group di wilayah tersebut. Secara default, layanan EAS tidak dapat mengakses Internet. Untuk menjalankan kode sampel, yang perlu memanggil API Dashscope, Anda harus mengonfigurasi VPC dengan akses Internet untuk layanan EAS. Ini memastikan bahwa layanan dapat mengakses Internet. Untuk instruksi spesifik, lihat Skenario 1: Izinkan layanan EAS mengakses Internet. |
VSwitch | ||
Security Group Name | ||
Service Features | Tracing | Nyalakan sakelar Tracing dan konfigurasikan pustaka pihak ketiga dan perintah startup di bagian Konteks Lingkungan. |
Langkah 3: Lihat trace
Alat evaluasi berbasis trace membantu pengembang memverifikasi akurasi dan keandalan keluaran dari aplikasi LLM. Lakukan langkah-langkah berikut:
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 Debug di kolom Aksi.Di tab Body, kirim data permintaan ke alamat yang ditentukan berdasarkan layanan prediksi yang Anda definisikan.
Topik ini menggunakan antarmuka layanan yang didefinisikan dalam file app.py sampel. Gambar berikut menunjukkan contoh hasil:

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

Temukan trace target dan klik View Trace di kolom Actions untuk pergi ke halaman Trace Details.
Data trace di 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 bagikan
untuk menghasilkan tautan 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 keluaran aplikasi LLM. Dua metode evaluasi berikut didukung:
Metode 1: Evaluasi Trace Tunggal: Secara manual pilih trace dari layanan EAS untuk evaluasi. Metode ini cocok untuk fase pengembangan atau pengujian untuk men-debug trace tertentu dan memastikan logikanya benar dan kinerjanya sesuai harapan.
Metode 2: Evaluasi Trace Secara Batch Online: Secara berkala evaluasi trace sampel yang dihasilkan oleh layanan EAS yang sedang berjalan. Metode ini cocok untuk skenario pengujian kinerja skala besar atau validasi fitur untuk membantu Anda memahami status sistem keseluruhan dan efektivitas kolaborasi trace.
Secara default, data trace disimpan selama 30 hari sejak waktu pembuatannya. Untuk memperpanjang periode penyimpanan, hubungi tim ARMS untuk konfigurasi kustom.
Metode 1: Evaluasi trace tunggal
Di tab Trace Query dari tab Tracing, 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.
Metrik Evaluasi
Deskripsi
Kebenaran
Menentukan apakah jawaban dengan benar menjawab pertanyaan berdasarkan input dan teks referensi.
Kesetiaan
Menentukan apakah jawaban dihasilkan berdasarkan input dan teks referensi dan apakah mengandung halusinasi.
Relevansi Pengambilan
Menentukan apakah hasil pengambilan relevan dengan pertanyaan input. Ini mencakup empat metrik berikut:
nDCG: Normalized Discounted Cumulative Gain
Tingkat Hit
Precision@K
MRR: Mean Reciprocal Rank
Model Configuration: Model bahasa besar (LLM) yang digunakan untuk mengevaluasi trace. Setelah pengaturan awal, konfigurasi ini secara otomatis diisi ulang untuk evaluasi berikutnya.
Parameter
Deskripsi
Model Selection
Dua model berikut didukung:
PAI Judge Model
qwen-max (Model Studio model)
CatatanUntuk menggunakan model Model Studio, Anda perlu mengonfigurasi koneksi Internet untuk EAS.
Panggilan ke model Model Studio dikenakan biaya secara terpisah. Untuk informasi lebih lanjut, lihat Penagihan.
Model Token
Masukkan token untuk model yang dipilih:
Model penilaian: Pergi ke halaman Model Penilaian, aktifkan model penilaian PAI, dan dapatkan token.
qwen-max: Untuk mempelajari cara mendapatkan token untuk model qwen-max di Model Studio, lihat Panggil API Tongyi Qianwen untuk pertama kali.
Konfigurasi Ekstraksi: Di bagian Konfigurasi Ekstraksi Query, Konfigurasi Ekstraksi Jawaban, dan Konfigurasi Ekstraksi Konteks, konfigurasikan parameter dalam tabel berikut untuk mengekstrak konten yang sesuai:
Konfigurasi Ekstraksi Query: Mengekstrak konten query pengguna (input).
Konfigurasi Ekstraksi Jawaban: Mengekstrak jawaban yang dihasilkan sistem (output).
Konfigurasi Ekstraksi Konteks: Mengekstrak teks atau informasi latar belakang yang disediakan ke sistem (dokumen).
Parameter
Deskripsi
SpanName
Menemukan span yang cocok dengan Nama Span.
JsonPathInSpan
Formatnya adalah a.b.c. Parameter ini tidak boleh kosong. Ini mengekstrak nilai dari elemen tertentu dari span yang cocok.
JsonPathInSpanValue
Formatnya adalah a.b.c. Parameter ini bisa kosong. Setelah elemen yang sesuai dengan JsonPathInSpan ditemukan, jika isi elemen tersebut adalah string JSON, JsonPathInSpanValue digunakan untuk mengekstrak nilai yang sesuai.
Anda dapat mengklik View Trace di kolom Actions untuk mendapatkan konten konfigurasi dari halaman Trace Details. Tabel berikut menunjukkan contoh konfigurasi:
Konfigurasi Ekstraksi
Cara memperoleh
Contoh nilai
Konfigurasi Ekstraksi Query
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 isi elemen JsonPathInSpan bukan string JSON, parameter ini kosong.
JsonPathInSpanValue memiliki nilai
SpanName: LLM
JsonPathInSpan:
attributes.input.valueJsonPathInSpanValue: Karena isi elemen JsonPathInSpan adalah string JSON, masukkan
text[0]di sini.
Konfigurasi Ekstraksi Jawaban

SpanName: LLM
JsonPathInSpan:
attributes.output.valueJsonPathInSpanValue: Parameter ini kosong.
Konfigurasi Ekstraksi Konteks
Layanan sampel dalam topik ini tidak mencakup konfigurasi ekstraksi konteks. Untuk contoh konfigurasi ekstraksi konteks, lihat gambar berikut:

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

Metode 2: Evaluasi trace secara batch online
Di tab Online Evaluation dari tab Tracing, klik Create Evaluation.
Di halaman Create Evaluation Task, konfigurasikan parameter berikut dan kemudian klik OK.
Parameter
Deskripsi
Konfigurasi Dasar
Nama Tugas
Masukkan nama tugas kustom berdasarkan petunjuk di antarmuka.
Konfigurasi Evaluasi
Metrik Evaluasi
Ini adalah konfigurasi tetap dan tidak dapat diubah. Evaluasi dilakukan berdasarkan dimensi berikut:
Kebenaran: Menentukan apakah jawaban dengan benar menjawab pertanyaan berdasarkan input dan teks referensi.
Kesesuaian: Menentukan apakah jawaban dihasilkan berdasarkan input dan teks referensi dan apakah mengandung halusinasi.
Relevansi Pengambilan: Menentukan apakah konten yang diambil relevan dengan pertanyaan input. Ini mencakup empat metrik berikut:
nDCG: Normalized Discounted Cumulative Gain
Tingkat Hit
Precision@K
MRR: Mean Reciprocal Rank
Pilihan Model
Dua model berikut didukung:
PAI Judge Model
qwen-max (Model Studio model)
CatatanUntuk menggunakan model Model Studio, Anda perlu mengonfigurasi koneksi Internet untuk EAS.
Panggilan ke model Model Studio dikenakan biaya secara terpisah. Untuk informasi lebih lanjut, lihat Penagihan.
Model Token
Masukkan token untuk model yang dipilih:
Model Penilaian: Pergi ke halaman Model Penilaian, aktifkan model penilaian PAI, dan dapatkan token.
qwen-max: Untuk mempelajari cara mendapatkan token untuk model qwen-max di Model Studio, lihat Panggil API Tongyi Qianwen untuk pertama kali.
Waktu Mulai dan Akhir Sampling
Pilih tanggal mulai dan akhir sampling.
Kebijakan Sampling
Dua kebijakan sampling berikut didukung:
Time window-based sampling: Mengambil sampel satu trace setiap x menit.
Probability-based sampling: Mengambil sampel acak persentase tertentu dari trace.
Konfigurasi Ekstraksi QCA: Data trace adalah string berformat JSON. Konfigurasi ekstraksi QCA menentukan jalur QCA dalam string JSON. Nilai yang sesuai dengan jalur tersebut adalah konten spesifik dari QCA.
Konfigurasi Ekstraksi Query
Konfigurasi Ekstraksi Query: Mengekstrak konten query pengguna (input).
Konfigurasi Ekstraksi Jawaban: Mengekstrak jawaban yang dihasilkan sistem (output).
Konfigurasi Ekstraksi Konteks: Mengekstrak teks atau informasi latar belakang yang disediakan ke sistem (dokumen).
Konfigurasikan parameter Nama Span, JsonPathInSpan, dan JsonPathInSpanValue untuk mengekstrak konten yang sesuai. Untuk informasi lebih lanjut tentang cara mengonfigurasi parameter ini, lihat Konfigurasi Ekstraksi.
Konfigurasi Ekstraksi Jawaban
Konfigurasi Ekstraksi Konteks
Saat status tugas evaluasi Status adalah Selesai, semua operasi evaluasi sampling telah selesai, dan tugas tersebut tidak akan menghasilkan hasil evaluasi baru.
Setelah evaluasi selesai, Anda dapat melihat hasilnya di kolom Hasil Evaluasi dari tugas evaluasi. Anda juga dapat mengklik nama tugas untuk melihat detailnya.
Lihat Hasil Evaluasi: Sistem secara dinamis menghitung dan menampilkan nilai rata-rata hasil evaluasi berdasarkan trace yang berhasil. Nilai yang lebih dekat dengan 1 menunjukkan relevansi yang lebih kuat.

Lihat Detail Evaluasi:

Anda kemudian dapat melakukan operasi manajemen pada tugas evaluasi, seperti memperbarui, menghentikan, menghapus, dan mengkloningnya. Mengkloning hanya menyalin konfigurasi tugas untuk membuat tugas evaluasi baru.