全部产品
Search
文档中心

Platform For AI:Aktifkan tracing untuk aplikasi LLM di EAS

更新时间:Nov 27, 2025

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 AliyunPAILLMTraceFullAccess kepada 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-bootstrap untuk mengunduh installer probe dari repositori PyPI.

image

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:

Parameter

Deskripsi

Environment Context

Deployment Method

Pilih Image Deployment.

Image Configuration

Topik ini menggunakan gambar default: Official Image > python-inference:3.9-ubuntu2004.

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:

  • Uri: Pilih folder OSS tempat file kode sampel berada. Untuk mempelajari cara mengunggah file kode ke folder OSS, lihat Mulai Cepat di konsol.

  • Mount Path: Atur ini ke /mnt/data/. File kode akan dibaca dari path ini.

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 aliyun-bootstrap -a install && aliyun-instrument python /mnt/data/app.py.

/mnt/data/app.py adalah file kode sampel yang dimount.

Environment Variables

Karena kode sampel memanggil API Dashscope, klik Add dan konfigurasikan variabel lingkungan berikut:

Third-party Library Configuration

Atur pustaka pihak ketiga ke aliyun-bootstrap flask dashscope.

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.

  1. Di halaman Elastic Algorithm Service (EAS), temukan layanan target dan klik image > Online Debug di kolom Aksi.

  2. 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:

    image

Lihat informasi trace

Catatan

Secara default, data trace disimpan selama 30 hari sejak waktu pembuatannya. Untuk memperpanjang periode penyimpanan, hubungi tim ARMS untuk konfigurasi kustom.

  1. Beralih ke tab Trace Query di tab Tracing untuk melihat informasi trace.

    image

  2. 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 AliyunARMSReadOnlyAccess untuk menggunakan fitur ini.image

  3. Untuk berbagi detail trace, klik ikon bagikanimage untuk menghasilkan tautan sekali pakai.

    Catatan: Jika Anda menggunakan Pengguna RAM atau Peran RAM, Anda harus memberikan izin cms:CreateTicket sebelum 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.

Catatan

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

  1. Di tab Trace Query dari tab Tracing, temukan trace target dan klik Evaluate di kolom Actions. Kemudian, di panel konfigurasi Evaluate, konfigurasikan parameter berikut.image

    • 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)

        Catatan

      Model Token

      Masukkan token untuk model yang dipilih:

    • 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:

      image

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

      image

      • 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.value

        • JsonPathInSpanValue: Karena isi elemen JsonPathInSpan adalah string JSON, masukkan text[0] di sini.

      Konfigurasi Ekstraksi Jawaban

      image

      • SpanName: LLM

      • JsonPathInSpan: attributes.output.value

      • JsonPathInSpanValue: Parameter ini kosong.

      Konfigurasi Ekstraksi Konteks

      Layanan sampel dalam topik ini tidak mencakup konfigurasi ekstraksi konteks. Untuk contoh konfigurasi ekstraksi konteks, lihat gambar berikut:

      image

      • SpanName: retrieve

      • JsonPathInSpan: attributes.retrieval.documents[*].document.content

        Penting

        Hanya konfigurasi konteks yang mendukung penggunaan tanda bintang (*).

      • JsonPathInSpanValue: Karena isi elemen JsonPathInSpan bukan string JSON, parameter ini kosong.

  2. 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.image

Metode 2: Evaluasi trace secara batch online

  1. Di tab Online Evaluation dari tab Tracing, klik Create Evaluation.

  2. 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)

      Catatan

    Model Token

    Masukkan token untuk model yang dipilih:

    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.

  3. 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.image

    • Lihat Detail Evaluasi:image

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.image