deepseek-v4-flash-0731 @ high · api

apihigh
config
deepseek-v4-flash-0731-eff-high--api--official--dev
batch
2026-07-19--unified
transport
deepseek-official-api
protocol
api · metered
served model
deepseek-v4-flash
采集于
2026年7月18日 11:54 · N=4
variant
live
slot 0 · P-q · sandboxed iframe
deepseek-v4-flash-0731 @high · api P-q slot 0 截图

输出带 markdown 围栏 — 模型把 HTML 包在代码围栏里返回,提取时已剥离;记录在此以便追溯。

截图是 similarity 通道测量时的原始像素。运行 live 会在 sandboxed iframe 中重新执行原始输出;渲染结果取决于你的浏览器和字体,不保证与测量像素一致。

similarity 邻居

限于 session 2026-07-19--unified

similarity 衡量本 session 内的趋同程度 —— 不是质量。

Fidelity —— 卡片展示的数据对不对?

  • namematch
  • conditionmatch
  • datematch
  • max tempmatch展示值:25
  • min tempmatch展示值:16
  • hourlymatchcoverage 24/24 · 24 命中 · 0 不符 · 0 未展示
  • request sidematch0 处违规

extractor fidelity-extractor-v1+Berlin-2026-07-15

源码 —— 原始模型输出,一字节未改

下载 card.html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Weather Card</title>
  <style>
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    html, body {
      width: 1280px;
      height: 800px;
    }

    body {
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
      background: linear-gradient(135deg, #0f2027 0%, #203a43 50%, #2c5364 100%);
      color: #1a1a2e;
      overflow: hidden;
    }

    body::before {
      content: '';
      position: fixed;
      top: 50%;
      left: 50%;
      width: 760px;
      height: 760px;
      transform: translate(-50%, -50%);
      background: radial-gradient(circle, rgba(79, 172, 254, 0.12) 0%, transparent 70%);
      border-radius: 50%;
      pointer-events: none;
    }

    .card {
      width: 780px;
      min-height: 560px;
      background: linear-gradient(145deg, #ffffff 0%, #f0f4f8 100%);
      border-radius: 28px;
      box-shadow:
        0 24px 60px -12px rgba(0, 0, 0, 0.35),
        0 0 0 1px rgba(255, 255, 255, 0.2) inset;
      padding: 40px 48px;
      position: relative;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      animation: fadeInUp 0.6s ease-out;
    }

    .card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 6px;
      background: linear-gradient(90deg, #4facfe, #00f2fe);
      z-index: 2;
    }

    .hidden {
      display: none !important;
    }

    /* Loading / Error states */
    .loading,
    .error {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      gap: 14px;
      min-height: 400px;
      padding: 40px;
    }

    .loading {
      color: #555;
      font-size: 16px;
      font-weight: 500;
    }

    .error {
      color: #c0392b;
      font-size: 17px;
      font-weight: 500;
    }

    .error-icon {
      font-size: 44px;
    }

    .spinner {
      width: 24px;
      height: 24px;
      border: 3px solid rgba(0, 0, 0, 0.1);
      border-top-color: #3498db;
      border-radius: 50%;
      animation: spin 0.8s linear infinite;
    }

    @keyframes spin {
      to { transform: rotate(360deg); }
    }

    @keyframes fadeInUp {
      from {
        opacity: 0;
        transform: translateY(24px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    /* Content */
    .content {
      flex: 1;
      display: flex;
      flex-direction: column;
    }

    .card-header {
      margin-bottom: 12px;
    }

    .location-group {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .pin-icon {
      color: #e74c3c;
      flex-shrink: 0;
    }

    .location {
      font-size: 26px;
      font-weight: 700;
      color: #1a1a2e;
      letter-spacing: -0.5px;
      line-height: 1.2;
    }

    .date {
      font-size: 14px;
      color: #7f8c8d;
      margin-top: 4px;
      margin-left: 28px;
      line-height: 1.3;
    }

    .weather-main {
      text-align: center;
      padding: 16px 0 4px;
    }

    .weather-icon-wrap {
      width: 110px;
      height: 110px;
      border-radius: 50%;
      background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.95), rgba(210, 225, 240, 0.5));
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 14px;
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    }

    .weather-icon {
      font-size: 54px;
      line-height: 1;
    }

    .weather-desc {
      font-size: 22px;
      font-weight: 500;
      color: #2c3e50;
      margin-bottom: 22px;
    }

    .temp-range {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 28px;
    }

    .temp-box {
      display: flex;
      flex-direction: column;
      align-items: center;
      min-width: 100px;
    }

    .temp-value {
      font-size: 48px;
      font-weight: 700;
      line-height: 1.1;
      letter-spacing: -1px;
    }

    .temp-box.max .temp-value {
      color: #e67e22;
    }

    .temp-box.min .temp-value {
      color: #3498db;
    }

    .temp-label-text {
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: 1.5px;
      color: #95a5a6;
      margin-top: 4px;
    }

    .temp-divider {
      width: 1px;
      height: 46px;
      background: #e0e5ea;
    }

    .hourly-section {
      margin-top: 26px;
      background: rgba(255, 255, 255, 0.7);
      border: 1px solid rgba(0, 0, 0, 0.04);
      border-radius: 16px;
      padding: 16px 14px 12px;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    }

    .hourly-title {
      font-size: 12px;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 1.5px;
      color: #7f8c8d;
      margin-bottom: 10px;
    }

    .hourly-chart {
      display: flex;
      gap: 2px;
      height: 150px;
      align-items: stretch;
      position: relative;
    }

    .hourly-bar {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-end;
      flex: 1;
      min-width: 10px;
    }

    .temp-label {
      font-size: 9px;
      font-weight: 600;
      color: #34495e;
      line-height: 10px;
      margin-bottom: 3px;
      white-space: nowrap;
    }

    .bar {
      width: 70%;
      max-width: 24px;
      border-radius: 3px 3px 0 0;
      min-height: 3px;
      transition: opacity 0.2s ease;
    }

    .hourly-bar:hover .bar {
      opacity: 0.75;
    }

    .hour-label {
      font-size: 9px;
      color: #95a5a6;
      margin-top: 5px;
      line-height: 10px;
    }

    .zero-line {
      position: absolute;
      left: 0;
      right: 0;
      height: 0;
      border-top: 1px dashed rgba(0, 0, 0, 0.15);
      pointer-events: none;
      z-index: 0;
    }

    .no-data {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #7f8c8d;
      font-size: 14px;
    }
  </style>
</head>
<body>
  <div class="card" id="weather-card">
    <div class="loading" id="loading">
      <div class="spinner"></div>
      <span>Loading weather data…</span>
    </div>
    <div class="error hidden" id="error">
      <div class="error-icon">⚠️</div>
      <div>Weather data could not be loaded.</div>
    </div>
    <div class="content hidden" id="content">
      <div class="card-header">
        <div class="location-group">
          <svg class="pin-icon" viewBox="0 0 24 24" width="20" height="20" fill="currentColor" aria-hidden="true">
            <path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/>
          </svg>
          <h1 class="location" id="location">Berlin</h1>
        </div>
        <p class="date" id="date">Saturday, March 15, 2025</p>
      </div>

      <div class="weather-main">
        <div class="weather-icon-wrap">
          <span class="weather-icon" id="weather-icon">☀️</span>
        </div>
        <div class="weather-desc" id="weather-desc">Clear Sky</div>
        <div class="temp-range">
          <div class="temp-box max">
            <span class="temp-value" id="temp-max">18°C</span>
            <span class="temp-label-text">Max</span>
          </div>
          <div class="temp-divider"></div>
          <div class="temp-box min">
            <span class="temp-value" id="temp-min">9°C</span>
            <span class="temp-label-text">Min</span>
          </div>
        </div>
      </div>

      <div class="hourly-section">
        <h3 class="hourly-title">Hourly Temperatures (°C)</h3>
        <div class="hourly-chart" id="hourly-chart">
          <!-- bars injected by JS -->
        </div>
      </div>
    </div>
  </div>

  <script>
    (function() {
      var params = new URLSearchParams(window.location.search);

      var latParam = parseFloat(params.get('lat'));
      var lonParam = parseFloat(params.get('lon'));
      var lat = isNaN(latParam) ? 52.52 : latParam;
      var lon = isNaN(lonParam) ? 13.405 : lonParam;
      var name = params.get('name') || 'Berlin';

      var dateParam = params.get('date');
      var todayStr = new Date().toISOString().slice(0, 10);
      var date = (dateParam && /^\d{4}-\d{2}-\d{2}$/.test(dateParam)) ? dateParam : todayStr;

      var isPast = date < todayStr;
      var basePath = isPast ? '/api/om/archive' : '/api/om/forecast';

      var query = new URLSearchParams({
        latitude: lat,
        longitude: lon,
        daily: 'temperature_2m_max,temperature_2m_min,weather_code',
        hourly: 'temperature_2m',
        timezone: 'UTC',
        temperature_unit: 'celsius',
        start_date: date,
        end_date: date
      });

      var url = basePath + '?' + query.toString();

      var loadingDiv = document.getElementById('loading');
      var errorDiv = document.getElementById('error');
      var contentDiv = document.getElementById('content');

      function formatDate(dateStr) {
        var d = new Date(dateStr + 'T00:00:00Z');
        return d.toLocaleDateString('en-US', {
          weekday: 'long',
          year: 'numeric',
          month: 'long',
          day: 'numeric',
          timeZone: 'UTC'
        });
      }

      function getWeatherInfo(code) {
        var map = {
          0:  { desc: 'Clear sky', icon: '☀️' },
          1:  { desc: 'Mainly clear', icon: '🌤️' },
          2:  { desc: 'Partly cloudy', icon: '⛅' },
          3:  { desc: 'Overcast', icon: '☁️' },
          45: { desc: 'Fog', icon: '🌫️' },
          48: { desc: 'Depositing rime fog', icon: '🌫️' },
          51: { desc: 'Light drizzle', icon: '🌦️' },
          53: { desc: 'Moderate drizzle', icon: '🌦️' },
          55: { desc: 'Dense drizzle', icon: '🌧️' },
          56: { desc: 'Light freezing drizzle', icon: '🌧️' },
          57: { desc: 'Dense freezing drizzle', icon: '🌧️' },
          61: { desc: 'Slight rain', icon: '🌦️' },
          63: { desc: 'Moderate rain', icon: '🌧️' },
          65: { desc: 'Heavy rain', icon: '🌧️' },
          66: { desc: 'Light freezing rain', icon: '🌧️' },
          67: { desc: 'Heavy freezing rain', icon: '🌧️' },
          71: { desc: 'Slight snow', icon: '🌨️' },
          73: { desc: 'Moderate snow', icon: '🌨️' },
          75: { desc: 'Heavy snow', icon: '❄️' },
          77: { desc: 'Snow grains', icon: '🌨️' },
          80: { desc: 'Light rain showers', icon: '🌦️' },
          81: { desc: 'Moderate rain showers', icon: '🌧️' },
          82: { desc: 'Violent rain showers', icon: '⛈️' },
          85: { desc: 'Slight snow showers', icon: '🌨️' },
          86: { desc: 'Heavy snow showers', icon: '❄️' },
          95: { desc: 'Thunderstorm', icon: '⛈️' },
          96: { desc: 'Thunderstorm with slight hail', icon: '⛈️' },
          99: { desc: 'Thunderstorm with heavy hail', icon: '⛈️' }
        };
        return map[code] || { desc: 'Unknown', icon: '🌡️' };
      }

      function tempColor(temp) {
        if (temp <= -10) return '#4a6fa5';
        if (temp < 0) return '#6baed6';
        if (temp < 10) return '#74c476';
        if (temp < 20) return '#fdae6b';
        if (temp < 30) return '#f16913';
        return '#d73027';
      }

      function renderHourly(times, temps) {
        var container = document.getElementById('hourly-chart');
        container.innerHTML = '';

        if (!times || !temps || times.length === 0) {
          var nope = document.createElement('div');
          nope.className = 'no-data';
          nope.textContent = 'No hourly data available.';
          container.appendChild(nope);
          return;
        }

        var filteredTimes = [];
        var filteredTemps = [];
        for (var i = 0; i < times.length; i++) {
          if (times[i].startsWith(date)) {
            filteredTimes.push(times[i]);
            filteredTemps.push(temps[i]);
          }
        }

        if (filteredTemps.length === 0) {
          var nope2 = document.createElement('div');
          nope2.className = 'no-data';
          nope2.textContent = 'No hourly data available.';
          container.appendChild(nope2);
          return;
        }

        var minTemp = Math.min.apply(null, filteredTemps);
        var maxTemp = Math.max.apply(null, filteredTemps);
        var range = maxTemp - minTemp || 1;
        var maxBarHeight = 100;
        var minBarHeight = 4;

        if (minTemp < 0 && maxTemp > 0) {
          var zeroLine = document.createElement('div');
          zeroLine.className = 'zero-line';
          var zeroPos = minBarHeight + (0 - minTemp) / range * (maxBarHeight - minBarHeight);
          zeroLine.style.bottom = zeroPos + 'px';
          container.appendChild(zeroLine);
        }

        for (var j = 0; j < filteredTimes.length; j++) {
          var tempValue = filteredTemps[j];
          var tempRounded = Math.round(tempValue);
          var timeParts = filteredTimes[j].split('T');
          var hour = (timeParts.length > 1 ? timeParts[1].slice(0, 2) : '') || '?';
          var normalized = (tempValue - minTemp) / range;
          var barHeight = minBarHeight + normalized * (maxBarHeight - minBarHeight);

          var col = document.createElement('div');
          col.className = 'hourly-bar';

          var label = document.createElement('span');
          label.className = 'temp-label';
          label.textContent = tempRounded + '°';

          var bar = document.createElement('div');
          bar.className = 'bar';
          bar.style.height = barHeight + 'px';
          bar.style.background = tempColor(tempValue);

          var hourLabel = document.createElement('span');
          hourLabel.className = 'hour-label';
          hourLabel.textContent = hour;

          col.appendChild(label);
          col.appendChild(bar);
          col.appendChild(hourLabel);
          container.appendChild(col);
        }
      }

      fetch(url)
        .then(function(res) {
          if (!res.ok) throw new Error('API error');
          return res.json();
        })
        .then(function(data) {
          if (data.error) throw new Error(data.reason || 'API error');

          var daily = data.daily;
          var hourly = data.hourly;
          if (!daily || !hourly) throw new Error('Missing data');

          var maxTemp = Math.round(daily.temperature_2m_max[0]);
          var minTemp = Math.round(daily.temperature_2m_min[0]);
          var code = daily.weather_code[0];
          var wi = getWeatherInfo(code);

          document.getElementById('location').textContent = name;
          document.getElementById('date').textContent = formatDate(date);
          document.getElementById('weather-icon').textContent = wi.icon;
          document.getElementById('weather-desc').textContent = wi.desc;
          document.getElementById('temp-max').textContent = maxTemp + '°C';
          document.getElementById('temp-min').textContent = minTemp + '°C';

          renderHourly(hourly.time, hourly.temperature_2m);

          loadingDiv.classList.add('hidden');
          contentDiv.classList.remove('hidden');
        })
        .catch(function(err) {
          console.error('Weather load error:', err);
          loadingDiv.classList.add('hidden');
          errorDiv.classList.remove('hidden');
        });
    })();
  </script>
</body>
</html>

L1 —— 廉价的确定性描述量

bytes 总计15,640html / css / js1,962 / 6,034 / 7,644
dom 节点36dom 深度8
css 规则44含 js
brightness143.4contrast97.2
colorfulness41.6留白44.2%

该 slot 的 telemetry

prompt tokens400completion tokens33,218
total tokens33,618wall235.9 s
costrequest id
config.json598 B
{
  "N": 4,
  "auth": {
    "credential_ref": "WCB_DEEPSEEK_KEY",
    "method": "api-key"
  },
  "billing": "metered",
  "config_id": "deepseek-v4-flash-0731-eff-high--api--official--dev",
  "effort": "high",
  "family": "deepseek",
  "m": {
    "min": 4,
    "q": 3
  },
  "model_id": "deepseek-v4-flash-0731",
  "protocol": "api",
  "served_model": "deepseek-v4-flash",
  "telemetry": {
    "completion_tokens": 245102,
    "cost_usd": null,
    "prompt_tokens": 2768,
    "total_tokens": 247870,
    "wall_ms": 2093800
  },
  "transport": "deepseek-official-api",
  "vendor_sanction_ref": null
}
send-log4.7 KB
{
  "N": 4,
  "batch_id": "2026-07-31--official-deepseek-flash-0731",
  "config_id": "deepseek-v4-flash-0731-eff-high--api--official--dev",
  "positions": [
    {
      "attempts": [
        {
          "attempt_index": 0,
          "backoff_ms": null,
          "charged": true,
          "ended_at": "2026-07-31T06:30:58.414293+00:00",
          "http_status": 200,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-07-31T06:28:04.379847+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-31T06:34:57.654270+00:00",
          "http_status": 200,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-07-31T06:31:01.793267+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-31T06:43:14.539829+00:00",
          "http_status": 200,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-07-31T06:35:01.471698+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-31T06:47:42.377132+00:00",
          "http_status": 200,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-07-31T06:43:18.497269+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-31T06:52:49.791252+00:00",
          "http_status": 200,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-07-31T06:47:45.759508+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-31T07:02:59.550624+00:00",
          "http_status": 200,
          "outcome": "model-failed",
          "reached_model": true,
          "reason": "no-valid-html",
          "request_id": null,
          "started_at": "2026-07-31T06:52:53.346741+00:00"
        }
      ],
      "block_index": 2,
      "model_reaching_attempt_index": 0,
      "slot_index": 2,
      "terminal_state": "model-failed",
      "variant": "P-q"
    },
    {
      "attempts": [
        {
          "attempt_index": 0,
          "backoff_ms": null,
          "charged": true,
          "ended_at": "2026-07-31T07:10:33.598944+00:00",
          "http_status": 200,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-07-31T07:02:59.552266+00:00"
        }
      ],
      "block_index": 3,
      "model_reaching_attempt_index": 0,
      "slot_index": 3,
      "terminal_state": "valid",
      "variant": "P-q"
    },
    {
      "attempts": [
        {
          "attempt_index": 0,
          "backoff_ms": null,
          "charged": true,
          "ended_at": "2026-07-31T07:13:26.413341+00:00",
          "http_status": 200,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-07-31T07:10:37.512932+00:00"
        }
      ],
      "block_index": 3,
      "model_reaching_attempt_index": 0,
      "slot_index": 3,
      "terminal_state": "valid",
      "variant": "P-min"
    }
  ],
  "retry_policy": {
    "max_unreachable_retries": 5,
    "rate_limit_backoff": {
      "max_attempts": 4,
      "max_total_ms": 60000
    }
  }
}