{% extends "ewoooc_base.html" %} {% block title %}AI 品質診斷台{% endblock %} {% block ewooo_content %} {% import "admin/_observability_labels.html" as obs_label %} {% set total_feedback = namespace(value=0) %}{% set worst_avg = namespace(value=5) %}{% for caller, info in trends %}{% set total_feedback.value = total_feedback.value + (info.total_feedback or 0) %}{% if info.avg_score < worst_avg.value %}{% set worst_avg.value = info.avg_score %}{% endif %}{% endfor %} {% set episode_total = (episode_distribution.values() | sum) if episode_distribution else 0 %} {% set rag_total = (rag_overall_dist | sum(attribute='count')) if rag_overall_dist else 0 %}
品質診斷 · {{ days }} 日視窗

AI 品質診斷台

這裡看 AI 的回答到底有沒有變好:呼叫端反饋、RAG 分數、學習片段流量、行動計畫與結果閉環全部聚合到同一張品質雷達。

反饋總量
{{ total_feedback.value }}呼叫端反饋總量
最差均分
{{ "%.2f"|format(worst_avg.value) }}最差呼叫端平均分
蒸餾樣本
{{ episode_total }}蒸餾池 {{ days }} 日
RAG 評分
{{ rag_total }}已回饋 RAG 查詢
{% if error %}
{{ error }}
{% endif %}
呼叫端反饋

呼叫端 × 反饋分佈

{% for caller, info in trends %}{% else %}{% endfor %}
呼叫端平均倒讚總數趨勢分布
{{ caller }}{{ "%.2f"|format(info.avg_score) }}/5{{ info.thumbs_up }}{{ info.thumbs_down }}{{ info.total_feedback }}{% if info.trend == 'positive' %}正向{% elif info.trend == 'negative' %}負向{% elif info.trend == 'neutral' %}中性{% else %}無資料{% endif %}
無反饋資料
{% if action_plans_status %}
行動計畫

行動計畫狀態分布

{% for a in action_plans_status %}{% endfor %}
狀態計畫類型數量
{{ obs_label.status(a.status) }}{{ obs_label.plan_type(a.plan_type) }}{{ a.count }}
{% endif %}
{% if rag_root_causes %}
根因分析

RAG 自動根因建議

{% for rc in rag_root_causes %}
{{ rc.caller }}{{ "%.2f"|format(rc.avg_score) }}/5{{ rc.feedback_n }} 筆
    {% for h in rc.hits %}
  • {{ obs_label.insight(h.insight_type) }}相似度 {{ "%.2f"|format(h.similarity) }}{{ h.content }}{% if h.content|length >= 200 %}…{% endif %}
  • {% endfor %}
{% endfor %}
{% endif %} {% if recommendations %}
智能建議

智能建議

    {% for rec in recommendations %}
  • {% if rec.action == 'review' %}{% else %}{% endif %}{{ rec.caller }}:{{ rec.reason }}
  • {% endfor %}
{% endif %} {% if action_outcomes_stats %}
動作成效

實際動作成效

{% set total_ao = (action_outcomes_stats | sum(attribute='count')) or 1 %}{% for r in action_outcomes_stats %}
{{ obs_label.verdict(r.verdict) }}{{ r.count }}{{ "%.1f"|format(r.count / total_ao * 100) }}%
{% endfor %}
{% endif %}

Ollama 優先策略 v5.0 — AI 品質診斷台

{% endblock %}