Dasbor Perbatasan: Memvisualisasikan Kesehatan Model Secara Real Time
Apr 20, 2024·
·
2 menit untuk membaca
Oussama
Kredit gambar: UnsplashVisibilitas adalah segalanya saat menerapkan AI dalam produksi. Panduan ini membahas dasbor end-to-end yang memunculkan sinyal yang dipedulikan oleh para pengambil keputusan: kinerja, biaya, dan hasil bisnis—diperbarui hampir secara real time.
Daftar isi
Metrik yang penting
| Lapisan | Metrik | Deskripsi | Pemilik |
|---|---|---|---|
| Model | accuracy_rolling_7d | Akurasi prediksi vs. label manusia | Ilmu Data |
| Model | latency_p95_ms | Waktu respons persentil ke-95 | Platform |
| Model | token_usage_daily | Token input + output per penyedia | Keuangan |
| Bisnis | conversion_uplift | Tingkat upsell tambahan vs. kontrol | Pertumbuhan |
| Bisnis | support_resolution_rate | Pangsa tiket yang ditutup oleh agen AI | Operasi |
Selaraskan metrik ini sebelum menulis satu baris kode pun.
Arsitektur Tumpukan
flowchart LR
subgraph Ingesti
A[Aliran Peristiwa] -->|Kafka| B[Penyimpanan Fitur]
C[Log LLM] --> B
D[KPI Bisnis] --> E[Gudang Data]
end
B --> F[Model dbt]
E --> F
F --> G[DuckDB + MotherDuck]
G --> H[Observable / Plotly Dash]
G --> I[Peringatan Metabase]
Kami memasangkan gudang analitik cepat (DuckDB/MotherDuck) dengan front end interaktif (Observable, Plotly Dash) untuk menjaga iterasi tetap cepat.
Bangun model gudang
-- models/model_performance.sql
SELECT
session_id,
provider,
response_time_ms,
accuracy,
tokens_input,
tokens_output,
created_at::date AS event_date
FROM {{ ref('raw_llm_events') }}
-- models/business_impact.sql
SELECT
ticket_id,
resolved_by,
resolution_time_minutes,
revenue_generated,
created_at::date AS event_date
FROM {{ ref('raw_support_events') }}
Campurkan metrik AI dan bisnis
-- models/dashboard_facts.sql
SELECT
m.event_date,
m.provider,
AVG(m.accuracy) AS accuracy_rolling_7d,
PERCENTILE_CONT(0.95) WITHIN GROUP (ORDER BY m.response_time_ms) AS latency_p95_ms,
SUM(m.tokens_input + m.tokens_output) AS tokens_total,
SUM(b.revenue_generated) AS revenue_from_ai,
AVG(CASE WHEN b.resolved_by = 'agent' THEN 1 ELSE 0 END) AS resolution_rate
FROM {{ ref('model_performance') }} m
LEFT JOIN {{ ref('business_impact') }} b
ON m.session_id = b.ticket_id
GROUP BY 1, 2
Visualisasikan dengan Plotly
import duckdb
import plotly.express as px
con = duckdb.connect("md:indoai_dashboard")
df = con.execute("SELECT * FROM dashboard_facts WHERE provider = 'OpenAI'").fetch_df()
fig = px.line(
df,
x="event_date",
y=["accuracy_rolling_7d", "resolution_rate"],
labels={"value": "Rate", "variable": "Metric"},
title="Akurasi vs. Tingkat Resolusi"
)
fig.show()
Sematkan bagan di dalam halaman Hugo Anda menggunakan {{< chart data="line-chart" >}} setelah Anda mengekspor JSON Plotly.
Beri tahu tim
- Atur peringatan ambang batas di Metabase:
latency_p95_ms > 1200memicu notifikasi Slack. - Kirim ringkasan email harian yang merangkum akurasi dan pengeluaran token.
- Catat anomali ke Sentry atau PagerDuty untuk penyelidikan on-call.
Rencana peluncuran
- Minggu 1 — Lakukan instrumentasi logging dan kirimkan model gudang.
- Minggu 2 — Luncurkan dasbor eksekutif (akurasi, latensi, biaya).
- Minggu 3 — Tambahkan metrik peningkatan bisnis dan atur ambang batas peringatan.
- Minggu 4 — Otomatiskan ringkasan naratif dengan laporan LLM template.
Mencari panduan dalam Bahasa Indonesia? Gunakan pengalih bahasa untuk panduan yang dilokalkan.