grok-4.5 @ low · api
apilow
- config
- grok-4.5-eff-low--api--official--dev
- batch
- 2026-07-19--unified
- transport
- xai-official-api
- protocol
- api · metered
- served model
- grok-4.5
- 采集于
- 2026年7月18日 11:54 · N=4
variant
live
slot 0 · P-q · sandboxed iframe

截图是 similarity 通道测量时的原始像素。运行 live 会在 sandboxed iframe 中重新执行原始输出;渲染结果取决于你的浏览器和字体,不保证与测量像素一致。
similarity 邻居
最近
grok-4.5 · api0.69grok-4.5 @low · grok-cli0.69claude-sonnet-4-6 @max · kiro0.66claude-sonnet-5 @max · kiro0.66claude-sonnet-5 @medium · CC0.66最远
gpt-5.6-luna @high · kiro0.36gpt-5.6-luna @low · codex-oauth0.38gpt-5.6-luna @medium · codex-oauth0.39gpt-5.6-terra @medium · kiro0.44gpt-5.6-sol @ultra · codex-oauth0.45限于 session 2026-07-19--unified
similarity 衡量本 session 内的趋同程度 —— 不是质量。
Fidelity —— 卡片展示的数据对不对?
- namematch
- conditionmatch
- datematch
- max tempmismatch展示值:17.4
- min tempmismatch展示值:17.2
- hourlymatchcoverage 22/24 · 22 命中 · 0 不符 · 2 未展示
- request sidematch0 处违规
extractor fidelity-extractor-v1+Berlin-2026-07-15
源码 —— 原始模型输出,一字节未改
下载 card.html<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Weather Card</title>
<style>
:root {
--bg-deep: #0b1220;
--bg-mid: #152238;
--glass: rgba(255, 255, 255, 0.08);
--glass-border: rgba(255, 255, 255, 0.14);
--text: #f4f7fb;
--muted: #9aadc2;
--accent: #5ec8ff;
--accent-warm: #ffb454;
--danger: #ff6b7a;
--shadow: 0 30px 80px rgba(0, 0, 0, 0.45);
--radius: 28px;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
width: 1280px;
height: 800px;
overflow: hidden;
font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
color: var(--text);
background: var(--bg-deep);
}
body {
display: grid;
place-items: center;
background:
radial-gradient(1200px 600px at 15% 10%, rgba(94, 200, 255, 0.18), transparent 55%),
radial-gradient(900px 500px at 85% 90%, rgba(255, 180, 84, 0.12), transparent 50%),
radial-gradient(700px 400px at 60% 30%, rgba(120, 90, 255, 0.1), transparent 45%),
linear-gradient(160deg, #0a101c 0%, #121c30 45%, #0d1524 100%);
}
.card {
width: 920px;
min-height: 560px;
padding: 40px 48px 36px;
border-radius: var(--radius);
background:
linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.03)),
var(--glass);
border: 1px solid var(--glass-border);
box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,0.12);
backdrop-filter: blur(22px);
position: relative;
overflow: hidden;
}
.card::before {
content: "";
position: absolute;
inset: -40% auto auto -20%;
width: 420px;
height: 420px;
background: radial-gradient(circle, rgba(94,200,255,0.22), transparent 65%);
pointer-events: none;
}
.card::after {
content: "";
position: absolute;
right: -80px;
bottom: -100px;
width: 360px;
height: 360px;
background: radial-gradient(circle, rgba(255,180,84,0.16), transparent 70%);
pointer-events: none;
}
.header {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 24px;
margin-bottom: 28px;
position: relative;
z-index: 1;
}
.location {
font-size: 2rem;
font-weight: 650;
letter-spacing: -0.02em;
line-height: 1.15;
}
.date-label {
margin-top: 8px;
color: var(--muted);
font-size: 1.05rem;
font-weight: 500;
}
.badge {
flex-shrink: 0;
padding: 10px 16px;
border-radius: 999px;
background: rgba(94, 200, 255, 0.12);
border: 1px solid rgba(94, 200, 255, 0.28);
color: var(--accent);
font-size: 0.85rem;
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
}
.main {
display: grid;
grid-template-columns: 1.1fr 1fr;
gap: 32px;
align-items: center;
margin-bottom: 36px;
position: relative;
z-index: 1;
}
.condition-block {
display: flex;
align-items: center;
gap: 22px;
}
.icon-wrap {
width: 112px;
height: 112px;
border-radius: 28px;
display: grid;
place-items: center;
background: linear-gradient(145deg, rgba(255,255,255,0.14), rgba(255,255,255,0.03));
border: 1px solid rgba(255,255,255,0.12);
box-shadow: 0 12px 30px rgba(0,0,0,0.2);
font-size: 3.4rem;
}
.condition-text {
font-size: 1.55rem;
font-weight: 600;
letter-spacing: -0.01em;
}
.condition-sub {
margin-top: 6px;
color: var(--muted);
font-size: 0.95rem;
}
.temps {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 14px;
}
.temp-box {
padding: 18px 20px;
border-radius: 18px;
background: rgba(0, 0, 0, 0.18);
border: 1px solid rgba(255,255,255,0.08);
}
.temp-box .label {
font-size: 0.78rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--muted);
font-weight: 600;
margin-bottom: 8px;
}
.temp-box .value {
font-size: 2.35rem;
font-weight: 700;
letter-spacing: -0.03em;
line-height: 1;
}
.temp-box.max .value { color: var(--accent-warm); }
.temp-box.min .value { color: var(--accent); }
.temp-box .unit {
font-size: 1.1rem;
font-weight: 500;
opacity: 0.75;
margin-left: 2px;
}
.hourly-section {
position: relative;
z-index: 1;
}
.hourly-title {
font-size: 0.82rem;
text-transform: uppercase;
letter-spacing: 0.1em;
color: var(--muted);
font-weight: 650;
margin-bottom: 14px;
}
.hourly-scroll {
display: flex;
gap: 10px;
overflow-x: auto;
padding-bottom: 6px;
scrollbar-width: thin;
scrollbar-color: rgba(255,255,255,0.2) transparent;
}
.hour-pill {
flex: 0 0 auto;
width: 72px;
padding: 14px 8px;
border-radius: 16px;
text-align: center;
background: rgba(255,255,255,0.05);
border: 1px solid rgba(255,255,255,0.08);
transition: background 0.2s, border-color 0.2s, transform 0.2s;
}
.hour-pill:hover {
background: rgba(94, 200, 255, 0.12);
border-color: rgba(94, 200, 255, 0.28);
transform: translateY(-2px);
}
.hour-pill .h {
font-size: 0.78rem;
color: var(--muted);
font-weight: 600;
margin-bottom: 8px;
}
.hour-pill .t {
font-size: 1.15rem;
font-weight: 700;
letter-spacing: -0.02em;
}
.state {
position: relative;
z-index: 1;
min-height: 280px;
display: grid;
place-items: center;
text-align: center;
}
.state .msg {
font-size: 1.25rem;
color: var(--muted);
max-width: 420px;
line-height: 1.5;
}
.state.error .msg { color: var(--danger); }
.spinner {
width: 42px;
height: 42px;
border-radius: 50%;
border: 3px solid rgba(255,255,255,0.12);
border-top-color: var(--accent);
animation: spin 0.8s linear infinite;
margin: 0 auto 18px;
}
@keyframes spin { to { transform: rotate(360deg); } }
.footer-meta {
margin-top: 22px;
font-size: 0.75rem;
color: rgba(154, 173, 194, 0.7);
letter-spacing: 0.02em;
position: relative;
z-index: 1;
}
</style>
</head>
<body>
<div class="card" id="card">
<div class="state" id="state">
<div>
<div class="spinner"></div>
<p class="msg">Loading weather…</p>
</div>
</div>
</div>
<script>
(function () {
const WMO = {
0: { label: "Clear sky", icon: "☀️" },
1: { label: "Mainly clear", icon: "🌤️" },
2: { label: "Partly cloudy", icon: "⛅" },
3: { label: "Overcast", icon: "☁️" },
45: { label: "Fog", icon: "🌫️" },
48: { label: "Depositing rime fog", icon: "🌫️" },
51: { label: "Light drizzle", icon: "🌦️" },
53: { label: "Moderate drizzle", icon: "🌦️" },
55: { label: "Dense drizzle", icon: "🌧️" },
56: { label: "Light freezing drizzle", icon: "🌧️" },
57: { label: "Dense freezing drizzle", icon: "🌧️" },
61: { label: "Slight rain", icon: "🌧️" },
63: { label: "Moderate rain", icon: "🌧️" },
65: { label: "Heavy rain", icon: "🌧️" },
66: { label: "Light freezing rain", icon: "🌧️" },
67: { label: "Heavy freezing rain", icon: "🌧️" },
71: { label: "Slight snow", icon: "🌨️" },
73: { label: "Moderate snow", icon: "🌨️" },
75: { label: "Heavy snow", icon: "❄️" },
77: { label: "Snow grains", icon: "❄️" },
80: { label: "Slight rain showers", icon: "🌦️" },
81: { label: "Moderate rain showers", icon: "🌧️" },
82: { label: "Violent rain showers", icon: "⛈️" },
85: { label: "Slight snow showers", icon: "🌨️" },
86: { label: "Heavy snow showers", icon: "❄️" },
95: { label: "Thunderstorm", icon: "⛈️" },
96: { label: "Thunderstorm with slight hail", icon: "⛈️" },
99: { label: "Thunderstorm with heavy hail", icon: "⛈️" }
};
function todayUTC() {
const d = new Date();
const y = d.getUTCFullYear();
const m = String(d.getUTCMonth() + 1).padStart(2, "0");
const day = String(d.getUTCDate()).padStart(2, "0");
return y + "-" + m + "-" + day;
}
function parseParams() {
const q = new URLSearchParams(window.location.search);
const lat = parseFloat(q.get("lat"));
const lon = parseFloat(q.get("lon"));
return {
lat: Number.isFinite(lat) ? lat : 52.52,
lon: Number.isFinite(lon) ? lon : 13.405,
name: q.get("name") || "Berlin",
date: q.get("date") || todayUTC()
};
}
function formatDisplayDate(iso) {
const parts = iso.split("-").map(Number);
const d = new Date(Date.UTC(parts[0], parts[1] - 1, parts[2]));
return d.toLocaleDateString("en-US", {
weekday: "long",
year: "numeric",
month: "long",
day: "numeric",
timeZone: "UTC"
});
}
function weatherInfo(code) {
return WMO[code] || { label: "Unknown (" + code + ")", icon: "🌡️" };
}
function showError(message) {
const card = document.getElementById("card");
card.innerHTML =
'<div class="state error"><div><p class="msg">' +
escapeHtml(message) +
"</p></div></div>";
}
function escapeHtml(s) {
return String(s)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/"/g, """);
}
function buildUrl(base, params) {
const u = new URL(base, window.location.origin);
Object.keys(params).forEach(function (k) {
u.searchParams.set(k, params[k]);
});
return u.pathname + u.search;
}
async function load() {
const p = parseParams();
const today = todayUTC();
const isPast = p.date < today;
const endpoint = isPast ? "/api/om/archive" : "/api/om/forecast";
const query = {
latitude: p.lat,
longitude: p.lon,
daily: "temperature_2m_max,temperature_2m_min,weather_code",
hourly: "temperature_2m",
timezone: "UTC",
temperature_unit: "celsius",
start_date: p.date,
end_date: p.date
};
let data;
try {
const res = await fetch(buildUrl(endpoint, query));
if (!res.ok) throw new Error("HTTP " + res.status);
data = await res.json();
if (data.error) throw new Error(data.reason || "API error");
} catch (err) {
showError("Weather data could not be loaded. Please try again later.");
return;
}
const daily = data.daily;
const hourly = data.hourly;
if (
!daily ||
!daily.time ||
!daily.time.length ||
daily.temperature_2m_max[0] == null ||
daily.temperature_2m_min[0] == null
) {
showError("Weather data could not be loaded for this date and location.");
return;
}
const maxT = daily.temperature_2m_max[0];
const minT = daily.temperature_2m_min[0];
const code = daily.weather_code[0];
const w = weatherInfo(code);
const hours = [];
if (hourly && hourly.time && hourly.temperature_2m) {
for (let i = 0; i < hourly.time.length; i++) {
if (hourly.time[i].startsWith(p.date)) {
hours.push({
time: hourly.time[i],
temp: hourly.temperature_2m[i]
});
}
}
}
const hourHtml = hours
.map(function (h) {
const hh = h.time.slice(11, 13);
const t =
h.temp == null ? "—" : (Math.round(h.temp * 10) / 10).toFixed(1);
return (
'<div class="hour-pill"><div class="h">' +
hh +
':00</div><div class="t">' +
t +
"°</div></div>"
);
})
.join("");
const card = document.getElementById("card");
card.innerHTML =
'<div class="header">' +
'<div><div class="location">' +
escapeHtml(p.name) +
'</div><div class="date-label">' +
escapeHtml(formatDisplayDate(p.date)) +
'</div></div><div class="badge">' +
(isPast ? "Historical" : p.date === today ? "Today" : "Forecast") +
"</div></div>" +
'<div class="main">' +
'<div class="condition-block">' +
'<div class="icon-wrap" aria-hidden="true">' +
w.icon +
'</div><div><div class="condition-text">' +
escapeHtml(w.label) +
'</div><div class="condition-sub">WMO code ' +
code +
" · UTC</div></div></div>" +
'<div class="temps">' +
'<div class="temp-box max"><div class="label">High</div><div class="value">' +
(Math.round(maxT * 10) / 10).toFixed(1) +
'<span class="unit">°C</span></div></div>' +
'<div class="temp-box min"><div class="label">Low</div><div class="value">' +
(Math.round(minT * 10) / 10).toFixed(1) +
'<span class="unit">°C</span></div></div>' +
"</div></div>" +
'<div class="hourly-section"><div class="hourly-title">Hourly temperature</div>' +
'<div class="hourly-scroll">' +
(hourHtml ||
'<div class="hour-pill"><div class="h">—</div><div class="t">n/a</div></div>') +
"</div></div>" +
'<div class="footer-meta">' +
escapeHtml(p.lat.toFixed(4) + ", " + p.lon.toFixed(4)) +
" · " +
escapeHtml(p.date) +
"</div>";
}
load();
})();
</script>
</body>
</html>L1 —— 廉价的确定性描述量
| bytes 总计 | 13,271 | html / css / js | 420 / 6,006 / 6,845 |
|---|---|---|---|
| dom 节点 | 13 | dom 深度 | 6 |
| css 规则 | 37 | 含 js | 是 |
| brightness | 47.8 | contrast | 23.4 |
| colorfulness | 17.4 | 留白 | 47.5% |
该 slot 的 telemetry
| prompt tokens | 526 | completion tokens | 4,546 |
|---|---|---|---|
| total tokens | 5,072 | wall | 42.8 s |
| cost | — | request id | — |
config.json551 B
{
"N": 4,
"auth": {
"credential_ref": "WCB_XAI_OFFICIAL_KEY",
"method": "api-key"
},
"billing": "metered",
"config_id": "grok-4.5-eff-low--api--official--dev",
"effort": "low",
"family": "grok",
"m": {
"min": 4,
"q": 4
},
"model_id": "grok-4.5",
"protocol": "api",
"served_model": "grok-4.5",
"telemetry": {
"completion_tokens": 32415,
"cost_usd": null,
"prompt_tokens": 4176,
"total_tokens": 36591,
"wall_ms": 290358
},
"transport": "xai-official-api",
"vendor_sanction_ref": null
}send-log4.6 KB
{
"N": 4,
"batch_id": "2026-07-18--official-grok",
"config_id": "grok-4.5-eff-low--api--official--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-17T15:14:53.144864+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-17T15:14:10.365537+00:00"
}
],
"block_index": 0,
"model_reaching_attempt_index": 0,
"slot_index": 0,
"terminal_state": "valid",
"variant": "P-q"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-17T15:15:21.049656+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-17T15:14:57.014123+00:00"
}
],
"block_index": 0,
"model_reaching_attempt_index": 0,
"slot_index": 0,
"terminal_state": "valid",
"variant": "P-min"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-17T15:15:46.796576+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-17T15:15:24.688458+00:00"
}
],
"block_index": 1,
"model_reaching_attempt_index": 0,
"slot_index": 1,
"terminal_state": "valid",
"variant": "P-min"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-17T15:16:39.177295+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-17T15:15:50.698731+00:00"
}
],
"block_index": 1,
"model_reaching_attempt_index": 0,
"slot_index": 1,
"terminal_state": "valid",
"variant": "P-q"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-17T15:17:35.307119+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-17T15:16:42.760528+00:00"
}
],
"block_index": 2,
"model_reaching_attempt_index": 0,
"slot_index": 2,
"terminal_state": "valid",
"variant": "P-q"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-17T15:18:02.674093+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-17T15:17:39.307824+00:00"
}
],
"block_index": 2,
"model_reaching_attempt_index": 0,
"slot_index": 2,
"terminal_state": "valid",
"variant": "P-min"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-17T15:18:33.375027+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-17T15:18:06.381790+00:00"
}
],
"block_index": 3,
"model_reaching_attempt_index": 0,
"slot_index": 3,
"terminal_state": "valid",
"variant": "P-min"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-17T15:19:26.976154+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-17T15:18:36.924685+00:00"
}
],
"block_index": 3,
"model_reaching_attempt_index": 0,
"slot_index": 3,
"terminal_state": "valid",
"variant": "P-q"
}
],
"retry_policy": {
"max_unreachable_retries": 5,
"rate_limit_backoff": {
"max_attempts": 4,
"max_total_ms": 60000
}
}
}