每小時流量
{% extends "ewoooc_base.html" %} {% block title %}AI 流量控制塔{% endblock %} {% block ewooo_content %} {% import "admin/_observability_labels.html" as obs_label %} {% set total = summary.total_calls or 0 %} {% set errors = summary.error_calls or 0 %} {% set error_rate = (errors / total * 100) if total > 0 else 0 %} {% set rag_rate = ((summary.rag_hits or 0) / total * 100) if total > 0 else 0 %} {% set avg_tokens = ((summary.total_tokens or 0) // (total or 1)) %}
這裡不是流水帳,而是 AI 中樞的飛航管制台:看呼叫量、權杖量、成本、錯誤率、RAG 命中與 MCP 編排,並在異常時一鍵派出程式碼審查管線。
| 呼叫端 | 總呼叫 | RAG 命中 | MCP 編排 | RAG 反饋 | 筆數 |
|---|---|---|---|---|---|
{{ c.caller }} | {{ "{:,}".format(c.total_calls) }} | {{ "%.1f"|format(c.rag_hit_rate) }}% ({{ c.rag_hits }}) | {{ "%.1f"|format(c.mcp_rate) }}% | {% if c.feedback_count > 0 %}{{ "%.2f"|format(c.avg_rag_feedback) }}/5{% else %}—{% endif %} | {{ c.feedback_count }} |
| 模型 | 供應商 | 呼叫 | 權杖 | 成本 | 耗時 | 錯誤 |
|---|---|---|---|---|---|---|
{{ m.model[:35] }} | {{ obs_label.provider(m.provider) }} | {{ "{:,}".format(m.calls) }} | {{ "{:,}".format(m.tokens) }} | ${{ "%.4f"|format(m.cost) }} | {{ m.avg_ms }} ms | {% if m.errors > 0 %}{{ m.errors }}{% else %}0{% endif %} |
| 編號 | 時間 | 呼叫端 | 供應商 | 模型 | 輸入 | 輸出 | 耗時 | 狀態 | 成本 | 標記 |
|---|---|---|---|---|---|---|---|---|---|---|
| {{ r.id }} | {{ r.called_at }} | {{ r.caller }} | {{ obs_label.provider(r.provider) }} | {{ r.model[:25] }} | {{ r.in_tokens }} | {{ r.out_tokens }} | {{ r.duration_ms }} | {{ obs_label.status(r.status, '-') }} | ${{ "%.4f"|format(r.cost) }} | {% if r.cache_hit %}快取{% endif %}{% if r.rag_hit %}RAG{% endif %} |
Ollama 優先策略 v5.0 — AI 流量控制塔