Spaces:
Sleeping
Sleeping
| | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8" /> | |
| <meta name="viewport" content="width=device-width, initial-scale=1" /> | |
| <title>HF Console · Crypto Intelligence</title> | |
| <link rel="preconnect" href="https://fonts.googleapis.com" /> | |
| <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> | |
| <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" /> | |
| <link rel="stylesheet" href="/static/css/unified-ui.css" /> | |
| <link rel="stylesheet" href="/static/css/components.css" /> | |
| <script defer src="/static/js/ui-feedback.js"></script> | |
| <script defer src="/static/js/hf-console.js"></script> | |
| </head> | |
| <body class="page page-hf-console"> | |
| <header class="top-nav"> | |
| <div class="branding"> | |
| <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><circle cx="12" cy="12" r="10"/></svg> | |
| <div> | |
| <strong>HF Models & Datasets</strong> | |
| <small style="color:var(--ui-text-muted);letter-spacing:0.2em;">/api/hf/* endpoints</small> | |
| </div> | |
| </div> | |
| <nav class="nav-links"> | |
| <a href="/dashboard">Dashboard</a> | |
| <a href="/admin">Admin</a> | |
| <a class="active" href="/hf_console">HF Console</a> | |
| <a href="/docs" target="_blank" rel="noreferrer">API Docs</a> | |
| </nav> | |
| </header> | |
| <main class="page-content"> | |
| <section class="card"> | |
| <div class="section-heading"> | |
| <h2>Registry & Status</h2> | |
| <span class="badge info" id="hf-console-health">Loading...</span> | |
| </div> | |
| <p class="metric-subtext" id="hf-console-summary"></p> | |
| <ul class="list" id="hf-console-models"></ul> | |
| </section> | |
| <section class="split-grid"> | |
| <article class="card"> | |
| <div class="section-heading"><h2>Sentiment Playground</h2><span class="badge info">POST /api/hf/models/sentiment</span></div> | |
| <div class="form-field"> | |
| <label for="sentiment-model">Sentiment model</label> | |
| <select id="sentiment-model"> | |
| <option value="auto">auto (ensemble)</option> | |
| <option value="cryptobert">cryptobert</option> | |
| <option value="cryptobert_finbert">cryptobert_finbert</option> | |
| <option value="tiny_crypto_lm">tiny_crypto_lm</option> | |
| </select> | |
| </div> | |
| <div class="form-field"> | |
| <label for="sentiment-texts">Texts (one per line)</label> | |
| <textarea id="sentiment-texts" rows="5" placeholder="BTC is breaking out...\nETH looks weak..."></textarea> | |
| </div> | |
| <button class="primary" id="run-sentiment">Run Sentiment</button> | |
| <div id="sentiment-results" class="ws-stream" style="margin-top:16px;"></div> | |
| </article> | |
| <article class="card"> | |
| <div class="section-heading"><h2>Forecast Sandbox</h2><span class="badge info">POST /api/hf/models/forecast</span></div> | |
| <div class="form-field"> | |
| <label for="forecast-model">Model</label> | |
| <select id="forecast-model"> | |
| <option value="btc_lstm">btc_lstm</option> | |
| <option value="btc_arima">btc_arima</option> | |
| </select> | |
| </div> | |
| <div class="form-field"> | |
| <label for="forecast-series">Closing Prices (comma separated)</label> | |
| <textarea id="forecast-series" rows="5" placeholder="67650, 67820, 68010, 68120"></textarea> | |
| </div> | |
| <div class="form-field"> | |
| <label for="forecast-steps">Future Steps</label> | |
| <input type="number" id="forecast-steps" value="3" min="1" max="10" /> | |
| </div> | |
| <button class="primary" id="run-forecast">Forecast</button> | |
| <div id="forecast-results" class="ws-stream" style="margin-top:16px;"></div> | |
| </article> | |
| </section> | |
| <section class="card"> | |
| <div class="section-heading"> | |
| <h2>HF Datasets</h2> | |
| <span class="badge info">GET /api/hf/datasets/*</span> | |
| </div> | |
| <div class="button-row" style="margin-bottom:16px;"> | |
| <button class="secondary" data-dataset="market-ohlcv">Market OHLCV</button> | |
| <button class="secondary" data-dataset="market-btc">BTC Technicals</button> | |
| <button class="secondary" data-dataset="news-semantic">News Semantic</button> | |
| </div> | |
| <div id="dataset-output" class="ws-stream"></div> | |
| </section> | |
| </main> | |
| </body> | |
| </html> | |