Kebolehlihatan: Pengelogan, Metrik dan Penjejakan
Integrasikan pengelogan menyeluruh, pengumpulan metrik dan penjejakan teragih untuk memperoleh gambaran mendalam tentang tingkah laku aplikasi LLM anda.
Kebolehlihatan: Pengelogan, Metrik dan Penjejakan ialah pelajaran Aplikasi LLM dalam Pengeluaran (RAG + Pangkalan Data Vektor + Caching) percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Aplikasi LLM dalam Pengeluaran (RAG + Pangkalan Data Vektor + Caching), dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Aplikasi LLM dalam Pengeluaran (RAG + Pangkalan Data Vektor + Caching) merangkumi sejumlah 4 pelajaran.
Apakah Kebolehcerapan?
Dalam pelajaran ini, kita akan meneroka kebolehcerapan, iaitu konsep penting untuk mengurus sistem perisian yang kompleks, khususnya aplikasi LLM.
Kebolehcerapan bermaksud memahami keadaan dalaman sistem dengan meneliti data yang dihasilkannya. Anggaplah ia sebagai penglihatan sinar-X terhadap tingkah laku aplikasi anda.
Bagi aplikasi LLM, perkara ini membantu kita menjawab soalan penting seperti:
- Mengapakah permintaan ini lambat?
- Adakah pemerolehan RAG berfungsi seperti yang dijangkakan?
- Adakah kita menanggung kos yang tidak dijangka?
Log: Merekod Peristiwa
Log ialah rekod peristiwa yang berlaku dalam aplikasi anda dan mempunyai cap masa. Log ibarat diari aktiviti sistem anda.
Bagi aplikasi LLM, log penting untuk:
- Menjejaki gesaan pengguna yang masuk.
- Menyimpan respons daripada LLM.
- Merekod langkah perantaraan dalam aliran RAG (contohnya, dokumen yang diperoleh).
- Merakam ralat atau amaran.
Log menyediakan maklumat konteks yang terperinci untuk penyahpepijatan dan analisis selepas kejadian.
Mencatat Interaksi LLM
Berikut ialah contoh Python ringkas yang menunjukkan cara mencatat interaksi LLM. Kami menggunakan modul logging terbina dalam Python.
Ini membantu anda melihat dengan tepat gesaan yang dihantar dan respons yang diterima, yang penting untuk penyahpepijatan dan penambahbaikan aplikasi anda.
import logging
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s'
)
def call_llm(prompt):
logging.info(f"LLM Request: '{prompt[:40]}...' ")
# Simulate LLM processing
response = f"Simulated response to: {prompt}"
logging.info(f"LLM Response: '{response[:40]}...' ")
return response
if __name__ == "__main__":
user_prompt = "Explain observability simply."
result = call_llm(user_prompt)
print(f"Application output: {result}")Metrik: Mengukur Prestasi
Metrik ialah ukuran berangka yang dikumpulkan dari semasa ke semasa, lalu memberikan gambaran agregat tentang kesihatan dan prestasi sistem anda.
Berbeza dengan log yang merupakan peristiwa individu, metrik biasanya ialah nilai kuantitatif yang boleh divisualkan sebagai graf dan papan pemuka. Metrik utama untuk aplikasi LLM termasuk:
- Kependaman: Tempoh yang diperlukan oleh LLM untuk memberikan respons.
- Penggunaan Token: Token input/output yang digunakan bagi setiap permintaan.
- Kadar Ralat: Peratusan panggilan LLM atau pemerolehan RAG yang gagal.
- Kadar Cache Berjaya: Kekerapan respons cache digunakan.
Mengumpulkan Metrik Tersuai
Anda boleh mengumpulkan metrik tersuai untuk memahami aspek tertentu aplikasi LLM anda. Contoh ini menunjukkan cara menjejaki bilangan panggilan LLM dan kependaman puratanya.
Dalam senario dunia sebenar, anda akan menghantar metrik ini ke sistem pemantauan seperti Prometheus atau Datadog.
import time
class LLMMetrics:
def __init__(self):
self.total_calls = 0
self.total_latency = 0.0
def record_call(self, duration):
self.total_calls += 1
self.total_latency += duration
def get_avg_latency(self):
if self.total_calls == 0:
return 0.0
return self.total_latency / self.total_calls
metrics_store = LLMMetrics()
def call_llm_with_metrics(prompt):
start_time = time.time()
# Simulate LLM processing
time.sleep(0.05) # simulate 50ms work
response = f"Simulated reply to: {prompt}"
end_time = time.time()
metrics_store.record_call(end_time - start_time)
return response
if __name__ == "__main__":
print("Collecting LLM call metrics...")
call_llm_with_metrics("Hi")
call_llm_with_metrics("How are you?")
print(f"Total calls: {metrics_store.total_calls}")
print(f"Avg latency: {metrics_store.get_avg_latency():.3f}s")Jejak: Mengikuti Laluan Permintaan
Penjejakan ialah proses mengikuti satu permintaan ketika permintaan itu mengalir melalui berbilang perkhidmatan dan komponen dalam sistem teragih. Hal ini amat penting untuk aplikasi RAG yang melibatkan banyak langkah: input pengguna, penjanaan embedding, carian pangkalan data vektor, panggilan LLM dan sebagainya.
Satu jejak memvisualkan keseluruhan perjalanan permintaan, dengan menunjukkan laluan tepat yang dilaluinya serta masa yang dihabiskan dalam setiap operasi.
Jejak, Rentang dan Konteks
Jejak ialah perjalanan lengkap permintaan dari hujung ke hujung. Jejak terdiri daripada beberapa rentang.
- Rentang mewakili satu operasi atau unit kerja dalam jejak (contohnya, 'mendapatkan dokumen', 'memanggil model embedding', 'memanggil LLM').
- Rentang mempunyai hubungan induk-anak, lalu membentuk struktur pepohon yang menunjukkan kebergantungan.
- Penyebaran konteks memastikan ID jejak unik mengikuti permintaan merentasi perkhidmatan yang berbeza, lalu menghubungkan semua rentang yang berkaitan.
Ini membantu mengenal pasti kesesakan atau kegagalan merentasi perkhidmatan mikro.
OpenTelemetry untuk Penjejakan
Walaupun melaksanakan penjejakan dari awal adalah rumit, alat seperti OpenTelemetry (kerangka kebolehlihatan sumber terbuka) menyediakan cara yang diseragamkan untuk melengkapkan kod anda dengan instrumentasi.
Anda boleh menggunakan SDK OpenTelemetry untuk:
- Memulakan jejak baharu apabila permintaan masuk.
- Mencipta rentang baharu untuk setiap operasi penting (contohnya, panggilan fungsi ke pangkalan data vektor atau API LLM).
- Menyebarkan konteks jejak kepada perkhidmatan hiliran.
Dengan ini, anda boleh menggambarkan keseluruhan aliran permintaan dalam antara muka pengguna penjejakan.
Segi Tiga Kebolehlihatan
Log, metrik dan jejak sering dipanggil "segi tiga kebolehlihatan" kerana semuanya menawarkan pandangan yang saling melengkapi tentang sistem anda:
- Log: Butiran dan peristiwa secara terperinci.
- Metrik: Nombor dan trend yang diagregatkan.
- Jejak: Perjalanan permintaan dari hujung ke hujung.
Secara bersama, semua ini memberikan pemahaman menyeluruh tentang tingkah laku aplikasi LLM anda, lalu memudahkan diagnosis masalah, pengoptimuman prestasi dan jaminan kebolehpercayaan dalam persekitaran produksi.
Semakan Pantas: Kebolehlihatan
Anda telah mempelajari tiga tunjang kebolehlihatan. Mari lihat sama ada anda boleh membezakan kegunaan utama setiap satunya.
Imbas Kembali: Wawasan Mendalam
Tahniah! Anda telah meneroka dunia kebolehlihatan untuk aplikasi LLM.
- Kami mentakrifkan kebolehlihatan sebagai pemahaman tentang keadaan dalaman sistem berdasarkan data luaran.
- Kami mempelajari log untuk merekodkan peristiwa secara terperinci.
- Kami membincangkan metrik untuk pengukuran prestasi yang diagregatkan.
- Kami memahami jejak untuk menggambarkan aliran permintaan dari hujung ke hujung.
Dengan mengintegrasikan ketiga-tiga tunjang ini, anda memperoleh wawasan yang berkuasa untuk membina sistem LLM yang lebih boleh dipercayai, berprestasi tinggi dan cekap kos.
Pelajari Aplikasi LLM dalam Pengeluaran (RAG + Pangkalan Data Vektor + Caching) dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 12
- Pelajaran
- 48
Soalan Lazim
Adakah pelajaran “Kebolehlihatan: Pengelogan, Metrik dan Penjejakan” percuma?
Ya — teks penuh “Kebolehlihatan: Pengelogan, Metrik dan Penjejakan” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Aplikasi LLM dalam Pengeluaran (RAG + Pangkalan Data Vektor + Caching), tingkat taraf kepada CoddyKit PRO. Kursus Aplikasi LLM dalam Pengeluaran (RAG + Pangkalan Data Vektor + Caching) merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Kebolehlihatan: Pengelogan, Metrik dan Penjejakan”?
Integrasikan pengelogan menyeluruh, pengumpulan metrik dan penjejakan teragih untuk memperoleh gambaran mendalam tentang tingkah laku aplikasi LLM anda. Anda berlatih Aplikasi LLM dalam Pengeluaran (RAG + Pangkalan Data Vektor + Caching) menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Aplikasi LLM dalam Pengeluaran (RAG + Pangkalan Data Vektor + Caching)?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Aplikasi LLM dalam Pengeluaran (RAG + Pangkalan Data Vektor + Caching) di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.
Berapa lamakah pelajaran “Kebolehlihatan: Pengelogan, Metrik dan Penjejakan” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Aplikasi LLM dalam Pengeluaran (RAG + Pangkalan Data Vektor + Caching) ini?
Ya. Setiap pelajaran Aplikasi LLM dalam Pengeluaran (RAG + Pangkalan Data Vektor + Caching) menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Penskalaan Mendatar Komponen RAG
- Kebolehlihatan: Pengelogan, Metrik dan Penjejakan
- Pemberitahuan dan Tindak Balas Insiden untuk Operasi LLM
- Ujian Beban dan Perancangan Kapasiti