Dasbor Perbatasan: Memvisualisasikan Kesehatan Model Secara Real Time

Apr 20, 2024·
Oussama
Oussama
· 2 menit untuk membaca
Kredit gambar: Unsplash

Visibilitas 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

LapisanMetrikDeskripsiPemilik
Modelaccuracy_rolling_7dAkurasi prediksi vs. label manusiaIlmu Data
Modellatency_p95_msWaktu respons persentil ke-95Platform
Modeltoken_usage_dailyToken input + output per penyediaKeuangan
Bisnisconversion_upliftTingkat upsell tambahan vs. kontrolPertumbuhan
Bisnissupport_resolution_ratePangsa tiket yang ditutup oleh agen AIOperasi

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 > 1200 memicu notifikasi Slack.
  • Kirim ringkasan email harian yang merangkum akurasi dan pengeluaran token.
  • Catat anomali ke Sentry atau PagerDuty untuk penyelidikan on-call.

Rencana peluncuran

  1. Minggu 1 — Lakukan instrumentasi logging dan kirimkan model gudang.
  2. Minggu 2 — Luncurkan dasbor eksekutif (akurasi, latensi, biaya).
  3. Minggu 3 — Tambahkan metrik peningkatan bisnis dan atur ambang batas peringatan.
  4. Minggu 4 — Otomatiskan ringkasan naratif dengan laporan LLM template.

Mencari panduan dalam Bahasa Indonesia? Gunakan pengalih bahasa untuk panduan yang dilokalkan.