chronos-zero-shot / static /index.html
jamnif's picture
Upload static/index.html with huggingface_hub
4b89406 verified
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Chronos-2 Zero-Shot Demo</title>
<link rel="stylesheet" href="/static/style.css">
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
</head>
<body>
<div class="container">
<header>
<h1>Chronos-2 Zero-Shot Forecasting</h1>
<p class="tagline">No training. No fine-tuning. Just forecast.</p>
<p class="desc">์ž…๋ ฅํ•œ ์‹œ๊ณ„์—ด๋งŒ์œผ๋กœ ๋‹ค์Œ ๊ฐ’์„ ์ฆ‰์‹œ ์˜ˆ์ธกํ•ฉ๋‹ˆ๋‹ค.</p>
</header>
<div class="tabs">
<button class="tab-btn active" data-tab="forecast">์˜ˆ์ธก</button>
<button class="tab-btn" data-tab="compare">๋น„๊ต</button>
</div>
<main>
<div id="tab-forecast" class="tab-content active">
<section class="input-section">
<div class="input-header">
<label for="ts-input">์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ ์ž…๋ ฅ (์‰ผํ‘œ, ๊ณต๋ฐฑ, ์ค„๋ฐ”๊ฟˆ ๊ตฌ๋ถ„)</label>
<div class="input-actions">
<select id="sample-select">
<option value="">-- ์ƒ˜ํ”Œ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ --</option>
<option value="air_passengers">Air Passengers</option>
<option value="gfk_sample">GFK Sample</option>
</select>
<label class="pred-steps">
์˜ˆ์ธก ์Šคํ…
<input type="number" id="pred-steps" value="1" min="1" max="24" />
</label>
</div>
</div>
<textarea id="ts-input" rows="4" placeholder="100, 120, 115, 130&#10;๋˜๋Š” ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ"></textarea>
</section>
<section class="output-section">
<div class="forecast-display" id="forecast-display">
<span class="label">๋‹ค์Œ ์˜ˆ์ธก: </span>
<span class="value" id="forecast-value">โ€”</span>
<span class="range" id="forecast-range"></span>
</div>
<div class="loading" id="loading" style="display: none;">์˜ˆ์ธก ์ค‘...</div>
<div class="error" id="error" style="display: none;"></div>
<div class="chart-container">
<canvas id="chart"></canvas>
</div>
<div class="download-row">
<button type="button" id="download-csv">์˜ˆ์ธก ๊ฒฐ๊ณผ CSV ๋‹ค์šด๋กœ๋“œ</button>
</div>
</section>
</div>
<div id="tab-compare" class="tab-content">
<section class="compare-section">
<h2>์ „ํ†ต ML vs Chronos Zero-Shot</h2>
<p class="compare-intro">์ „ํ†ต ML ์‹œ๊ณ„์—ด ์˜ˆ์ธก์€ ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ, ๋ชจ๋ธ ์„ ํƒ, ํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹, ํ•™์Šต ๋“ฑ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Chronos๋Š” <strong>ํ•™์Šต/ํŠœ๋‹ ์—†์ด</strong> ์ž…๋ ฅ๋งŒ์œผ๋กœ ์ฆ‰์‹œ ์˜ˆ์ธกํ•ฉ๋‹ˆ๋‹ค.</p>
<div class="pipeline-row">
<div class="pipeline-block">
<h3 class="pipeline-label">์ „ํ†ต ML (ARIMA, Prophet ๋“ฑ)</h3>
<div class="pipeline ml-pipeline">
<div class="step">๋ฐ์ดํ„ฐ ์ˆ˜์ง‘</div>
<div class="arrow">โ†’</div>
<div class="step">๊ฒฐ์ธก์น˜ ์ฒ˜๋ฆฌ</div>
<div class="arrow">โ†’</div>
<div class="step">์ •์ƒ์„ฑ ๊ฒ€์ •</div>
<div class="arrow">โ†’</div>
<div class="step">์ฐจ๋ถ„/๋ณ€ํ™˜</div>
<div class="arrow">โ†’</div>
<div class="step">๊ณ„์ ˆ์„ฑ ๋ถ„ํ•ด</div>
<div class="arrow">โ†’</div>
<div class="step">๋ชจ๋ธ ์„ ํƒ</div>
<div class="arrow">โ†’</div>
<div class="step">ํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹</div>
<div class="arrow">โ†’</div>
<div class="step">ํ•™์Šต (fit)</div>
<div class="arrow">โ†’</div>
<div class="step">๊ฒ€์ฆ/์˜ค์ฐจ ํ™•์ธ</div>
<div class="arrow">โ†’</div>
<div class="step">ํŠœ๋‹ ๋ฐ˜๋ณต</div>
<div class="arrow">โ†’</div>
<div class="step">์˜ˆ์ธก</div>
</div>
</div>
<div class="pipeline-block">
<h3 class="pipeline-label">Chronos Zero-Shot</h3>
<div class="pipeline chronos-pipeline">
<div class="step highlight">๋ฐ์ดํ„ฐ ์ž…๋ ฅ</div>
<div class="arrow">โ†’</div>
<div class="step highlight">์˜ˆ์ธก</div>
</div>
</div>
</div>
<p class="compare-cta">Chronos๋Š” ํ•™์Šต ์—†์ด <strong>์ž…๋ ฅ ์ฆ‰์‹œ ์˜ˆ์ธก</strong>ํ•ฉ๋‹ˆ๋‹ค.</p>
</section>
</div>
</main>
</div>
<script src="/static/app.js"></script>
</body>
</html>