<?php
/**
 * =====================================================
 * AI NEWS — ŠABLÓNA PRE NOVÝ ČLÁNOK
 * =====================================================
 * Postup:
 * 1. Skopírujte tento súbor do priečinka /ai-news/
 * 2. Premenujte ho podľa URL, ktorú chcete (napr. "moj-clanok.php")
 *    URL bude: 191tech.com/ai-news/moj-clanok
 * 3. Vyplňte $article pole nižšie
 * 4. Napíšte obsah článku do sekcie označenej "TU ZAČÍNA OBSAH"
 * =====================================================
 */

$article = [
    'title'    => 'Ako nemecký veľkoobchod s Qwen-72B zrýchlil zalistovanie produktov o 80 %',
    'excerpt'  => 'Nemecký B2B veľkoobchod automatizoval spracovanie 120 000 priemyselných produktov pomocou lokálneho LLM Alibaba Qwen-1.5-72B. Chybovosť klesla na 1,5 % a tržby vzrástli o 11 %.',
    'date'     => '2026-08-09',              // Dnes. Alebo konkrétny dátum: '2026-06-01'
    'author'   => '191tech',
    'category' => 'E-commerce a Maloobchod',       // Napr: E-commerce, Webdesign, Marketing, AI školenia
    'image'    => 'https://images.pexels.com/photos/6207736/pexels-photo-6207736.jpeg?auto=compress&cs=tinysrgb&fit=crop&h=627&w=1200',      // Cesta k obrázku článku (odporúčaný rozmer: 1200x630)
    'cta_text' => 'Mám záujem o konzultáciu', // Text hlavného CTA tlačidla
    'cta_link' => '/kontakt',                 // URL link CTA tlačidla
];

$page_title       = $article['title'] . ' | AI News 191tech';
$page_description = $article['excerpt'];
include dirname(__DIR__, 2) . '/parts/ai-page-head.php';
?>

<!-- ===== HERO ČLÁNKU ===== -->
<section class="ai-hero" style="min-height:auto; padding:140px 0 60px;">
  <div class="ai-container" style="max-width:860px;">
    <div style="display:flex; gap:12px; align-items:center; margin-bottom:24px; font-size:14px;">
      <a href="/ai-news" style="color:var(--ai-cyan); text-decoration:none;">← Späť na AI News</a>
      <span style="color:var(--ai-border);">|</span>
      <span style="color:var(--ai-purple); font-weight:600; text-transform:uppercase; letter-spacing:1px;"><?= htmlspecialchars($article['category']) ?></span>
      <span style="color:var(--ai-border);">|</span>
      <span style="color:var(--ai-text-muted);"><?= date('d.m.Y', strtotime($article['date'])) ?></span>
    </div>
    <h1 style="font-size:42px; line-height:1.2; margin-bottom:28px;"><?= htmlspecialchars($article['title']) ?></h1>
    <p style="font-size:20px; color:var(--ai-text-muted); line-height:1.6; margin-bottom:40px;"><?= htmlspecialchars($article['excerpt']) ?></p>

    <?php if(!empty($article['image'])): ?>
    <div style="border-radius:16px; overflow:hidden; border:1px solid var(--ai-border); margin-bottom:0;">
      <img src="<?= htmlspecialchars($article['image']) ?>" alt="<?= htmlspecialchars($article['title']) ?>"
           style="width:100%; height:auto; display:block; max-height:420px; object-fit:cover;">
    </div>
    <?php endif; ?>
  </div>
</section>

<!-- ===== OBSAH ČLÁNKU ===== -->
<section class="ai-section" style="padding-top:0;">
  <div class="ai-container" style="max-width:860px;">
    <div class="article-content">

      <!-- ════════════════════════════════════════════
           TU ZAČÍNA OBSAH ČLÁNKU
           Môžete použiť: <h2>, <h3>, <p>, <ul>, <ol>,
           <li>, <strong>, <em>, <a href="">, <blockquote>
      ════════════════════════════════════════════ -->

<p>Správa nepravidelných katalógových dát od desiatok rôznych dodávateľov priemyselného vybavenia paralyzovala nemeckého veľkoobchodníka, kým nenasadil lokálny open-source model Alibaba Qwen-1.5-72B na automatickú kategorizáciu a extrakciu parametrov. Nemecký distribútor s viac ako 120 000 skladovými položkami (SKU) narážal na kritické úzke hrdlo pri spracovávaní dodávateľských cenníkov v rôznych nepripravených formátoch. Manuálna úprava popisov, prideľovanie kategórií a dopĺňanie technických vlastností trvalo internému tímu celé týždne, čo spomaľovalo zaraďovanie noviniek do B2B e-shopu a znižovalo vyhľadateľnosť tovaru.</p><h2>Technická architektúra a automatizácia PIM</h2><p>Spoločnosť zvolila architektúru s lokálnym nasadením open-weight modelu Qwen-1.5-72B na vlastnom serveri osadenom GPU akcelerátormi Nvidia A100. Tento prístup zaručil striktné dodržanie pravidiel ochrany obchodných údajov bez nutnosti odosielať citlivé B2B cenníky do cloudu tretích strán. Integrácia prebieha prostredníctvom rozhrania Python API prepojeného priamo s ERP a PIM (Product Information Management) systémom e-shopu.</p><p>Spracovanie produktových dát prebieha v troch nadväzujúcich krokoch:</p><ul><li><strong>Normalizácia a validácia vstupu:</strong> Systém automaticky preberá surové dáta z CSV, XML alebo PDF súborov od dodávateľov a pripravuje ich pre model Qwen pomocou štruktúrovaných promptov.</li><li><strong>Extrakcia atribútov a kategorizácia:</strong> Qwen-1.5-72B vďaka vysokému výkonu v porozumení technickému textu presne identifikuje kľúčové parametre ako rozmery, záťažové triedy, typy závitov či materiálové zloženie. Model zvládá aj skratky a neštandardizované jednotky a zaradí produkt do presnej kategórie v taxonomickom strome e-shopu.</li><li><strong>Generovanie B2B popisov:</strong> Na základe získaných atribútov model vygeneruje štruktúrovaný produktový popis prispôsobený pre vyhľadávanie v B2B portáli. Pokiaľ pravdepodobnosť správnosti klasifikácie klesne pod 90 %, systém položí požiadavku na kontrolu ľudskému operátorovi.</li></ul><div class="case-study-box"><h3>Príklad z praxe</h3><ul><li><strong>Firma:</strong> Stredne veľký B2B veľkoobchod s priemyselným vybavením, Nemecko</li><li><strong>AI riešenie:</strong> Alibaba Qwen-1.5-72B (lokálne nasadený open-weight model)</li><li><strong>Problém:</strong> Zdĺhavá a chybová manuálna kategorizácia viac ako 120 000 produktov od dodávateľov, čo spomaľovalo zaraďovanie noviniek do B2B e-shopu a znižovalo vyhľadateľnosť tovaru.</li><li><strong>Výsledok:</strong> Zrýchlenie zaraďovania nových produktov do ponuky o 80 %, zníženie chybovosti v parametroch tovaru z 12 % na 1,5 % a nárast B2B tržieb o 11 % za rok 2024.</li></ul></div><h2>Merateľný prínos pre B2B biznis</h2><p>Nasadenie open-source veľkého jazykového modelu odstránilo kapacitné obmedzenia produktového tímu. Čas potrebný na zalistovanie nového produktového katalógu sa skrátil z dvoch týždňov na necelé dva dni, čo predstavuje zrýchlenie o 80 %. Automatizovaná validácia technických parametrov výrazne spresnila dáta a znížila chybovosť v ponuke z pôvodných 12 % na 1,5 %.</p><p>Zvýšená kvalita produktových dát priamo ovplyvnila nákupné správanie odberateľov. Presnejšie filtrovanie a lepšia vyhľadateľnosť špecifických náhradných dielov skrátili nákupný proces B2B zákazníkov. Výsledkom bol nárast celkových B2B tržieb o 11 % za rok 2024 a huteľné zníženie počtu vratiek spôsobených nesprávne uvedenými parametrami.</p><h2>Ponaučenie pre B2B e-commerce</h2><p>Prípad nemeckého veľkoobchodu spochybňuje mýtus, že špičkové spracovanie textových dát vyžaduje drahé proprietárne cloudové API. Pokročilé open-weight modely typu Alibaba Qwen-1.5-72B poskytujú porovnateľný výkon pri plnej kontrole nad infraštruktúrou a bezpečnosťou dát.</p><p>Pre obchodné spoločnosti spravujúce desiatky tisíc položiek znamená lokálna automatizácia správy katalógu zásadnú konkurenčnú výhodu. Skrátenie času uvedenia tovaru na trh (time-to-market) a vyššia presnosť dát prinášajú okamžitú návratnosť investícií do hardvéru aj softvérového vývoja.</p>

<!-- ════════════════════════════════════════════
           KONIEC OBSAHU ČLÁNKU
      ════════════════════════════════════════════ -->

    </div>

    <!-- CTA Banner vo vnútri článku -->
    <div class="ai-highlight-box" style="margin-top:56px; text-align:center;">
      <div class="ai-label" style="margin:0 auto 16px; display:table;">Zaujíma vás toto téma?</div>
      <h3 style="font-size:26px;">Hovoríme o tom <span class="ai-gradient-text">osobne</span></h3>
      <p style="margin-bottom:24px;">Kontaktujte nás na bezplatnú konzultáciu — analyzujeme možnosti AI pre vašu firmu.</p>
      <a href="<?= htmlspecialchars($article['cta_link']) ?>" class="ai-btn ai-btn-primary ai-btn-lg"><?= htmlspecialchars($article['cta_text']) ?></a>
    </div>
  </div>
</section>

<!-- ===== NEWSLETTER ===== -->
<section class="ai-section" style="background:var(--ai-bg2);">
  <div class="ai-container" style="max-width:700px; text-align:center;">
    <div class="ai-label ai-label-purple" style="margin:0 auto 16px; display:table;">AI News Newsletter</div>
    <h2>Podobné tipy priamo do <span class="ai-gradient-text-2">e-mailu</span></h2>
    <p style="margin-bottom:30px;">Prihláste sa na odber — každý týždeň pošleme najdôležitejšie AI novinky pre vaše podnikanie.</p>
    <form id="nlForm" style="display:flex; gap:12px; flex-wrap:wrap; justify-content:center;">
      <input type="text" name="website" style="display:none;" tabindex="-1" autocomplete="off">
      
      <select name="category" required style="padding:14px 20px; border-radius:8px; border:1px solid var(--ai-border); background:var(--ai-card); color:var(--ai-text); font-family:'Inter',sans-serif; outline:none; min-width:180px;">
        <option value="">Zvoľte odvetvie</option>
        <option value="Všetky odvetvia">Všetky odvetvia</option>
        <option value="Marketing a Predaj">Marketing a Predaj</option>
        <option value="E-commerce a Maloobchod">E-commerce a Maloobchod</option>
        <option value="Priemysel a Výroba">Priemysel a Výroba</option>
        <option value="Logistika a Doprava">Logistika a Doprava</option>
        <option value="Financie a Účtovníctvo">Financie a Účtovníctvo</option>
        <option value="HR a Administratíva">HR a Administratíva</option>
        <option value="Služby a Iné">Služby a Iné</option>
      </select>

      <input type="email" name="email" required placeholder="Váš pracovný e-mail"
        style="flex-grow:1; min-width:240px; padding:14px 20px; border-radius:8px; border:1px solid var(--ai-border); background:var(--ai-card); color:var(--ai-text); font-family:'Inter',sans-serif; outline:none;">
      <button type="submit" class="ai-btn ai-btn-primary" style="border:none; cursor:pointer;">Odoberať novinky</button>
    </form>
    <div id="nlMsg" style="margin-top:16px; font-weight:600; display:none;"></div>
  </div>
</section>

<script>
document.getElementById('nlForm').addEventListener('submit', function(e) {
  e.preventDefault();
  const fd = new FormData(this), msg = document.getElementById('nlMsg');
  fetch('/subscribe.php', { method:'POST', body:fd })
    .then(r => r.json())
    .then(d => {
      msg.style.display = 'block';
      msg.style.color = d.status === 'success' ? 'var(--ai-green)' : '#ef4444';
      msg.textContent = d.message;
      if(d.status === 'success') {
          this.reset();
          localStorage.setItem('ai_newsletter_subscribed', '1');
      }
    }).catch(() => {
      msg.style.display = 'block';
      msg.style.color = '#ef4444';
      msg.textContent = 'Nastala chyba. Skúste to prosím neskôr.';
    });
});
</script>

<!-- ===== NEWSLETTER POPUP ===== -->
<div id="aiPopup" style="display:none; position:fixed; bottom:30px; right:30px; max-width:400px; background:var(--ai-card); border:1px solid var(--ai-border); border-radius:16px; box-shadow:0 20px 40px rgba(0,0,0,0.1); z-index:9999; padding:32px; font-family:'Inter',sans-serif;">
  <button id="aiPopupClose" style="position:absolute; top:16px; right:16px; background:none; border:none; font-size:24px; cursor:pointer; color:var(--ai-text-muted); line-height:1;">&times;</button>
  <div class="ai-label ai-label-purple" style="margin-bottom:12px; display:inline-block;">AI News Newsletter</div>
  <h3 style="margin-top:0; font-size:20px; color:var(--ai-text); margin-bottom:8px;">Získajte náskok s AI</h3>
  <p style="color:var(--ai-text-muted); font-size:15px; line-height:1.6; margin-bottom:20px;">Vyberte si vaše odvetvie a pošleme vám len tie najrelevantnejšie AI tipy a novinky.</p>
  
  <form id="nlPopupForm" style="display:flex; flex-direction:column; gap:12px;">
    <input type="text" name="website" style="display:none;" tabindex="-1" autocomplete="off">
    <select name="category" required style="padding:12px 16px; border-radius:8px; border:1px solid var(--ai-border); background:var(--ai-bg); color:var(--ai-text); outline:none; font-size:15px;">
      <option value="">Zvoľte odvetvie</option>
      <option value="Všetky odvetvia">Všetky odvetvia</option>
      <option value="Marketing a Predaj">Marketing a Predaj</option>
      <option value="E-commerce a Maloobchod">E-commerce a Maloobchod</option>
      <option value="Priemysel a Výroba">Priemysel a Výroba</option>
      <option value="Logistika a Doprava">Logistika a Doprava</option>
      <option value="Financie a Účtovníctvo">Financie a Účtovníctvo</option>
      <option value="HR a Administratíva">HR a Administratíva</option>
      <option value="Služby a Iné">Služby a Iné</option>
    </select>
    <input type="email" name="email" required placeholder="Váš pracovný e-mail" style="padding:12px 16px; border-radius:8px; border:1px solid var(--ai-border); background:var(--ai-bg); color:var(--ai-text); outline:none; font-size:15px;">
    <button type="submit" class="ai-btn ai-btn-primary" style="width:100%; border:none; cursor:pointer; padding:12px;">Odoberať novinky</button>
  </form>
  <div id="nlPopupMsg" style="margin-top:12px; font-weight:600; font-size:14px; display:none;"></div>
</div>

<script>
// Logika popupu
document.addEventListener('DOMContentLoaded', function() {
    if (!localStorage.getItem('ai_newsletter_subscribed') && !sessionStorage.getItem('ai_popup_closed')) {
        setTimeout(() => {
            document.getElementById('aiPopup').style.display = 'block';
        }, 5000); // Zobrazí sa po 5 sekundách
    }

    document.getElementById('aiPopupClose').addEventListener('click', function() {
        document.getElementById('aiPopup').style.display = 'none';
        sessionStorage.setItem('ai_popup_closed', '1');
    });

    document.getElementById('nlPopupForm').addEventListener('submit', function(e) {
        e.preventDefault();
        const fd = new FormData(this), msg = document.getElementById('nlPopupMsg');
        const btn = this.querySelector('button');
        btn.textContent = 'Odosielam...';
        btn.disabled = true;

        fetch('/subscribe.php', { method:'POST', body:fd })
          .then(r => r.json())
          .then(d => {
            msg.style.display = 'block';
            msg.style.color = d.status === 'success' ? 'var(--ai-green)' : '#ef4444';
            msg.textContent = d.message;
            if(d.status === 'success') {
                this.reset();
                localStorage.setItem('ai_newsletter_subscribed', '1');
                setTimeout(() => document.getElementById('aiPopup').style.display = 'none', 3000);
            } else {
                btn.textContent = 'Odoberať novinky';
                btn.disabled = false;
            }
          }).catch(() => {
            msg.style.display = 'block';
            msg.style.color = '#ef4444';
            msg.textContent = 'Nastala chyba. Skúste to prosím neskôr.';
            btn.textContent = 'Odoberať novinky';
            btn.disabled = false;
          });
    });
});
</script>

<style>
.article-content { font-size:17px; line-height:1.8; color:var(--ai-text-muted); }
.article-content h2 { font-size:28px; color:var(--ai-text); margin:48px 0 20px; padding-top:8px; border-top:1px solid var(--ai-border); }
.article-content h3 { font-size:22px; color:var(--ai-text); margin:32px 0 14px; }
.article-content p  { margin-bottom:24px; color:var(--ai-text-muted); }
.article-content a  { color:var(--ai-cyan); text-decoration:underline; }
.article-content ul, .article-content ol { margin-bottom:24px; padding-left:22px; }
.article-content li { margin-bottom:10px; }
.article-content blockquote {
  border-left:4px solid var(--ai-cyan);
  background:rgba(0,243,255,0.06);
  padding:22px 28px; font-size:20px;
  font-style:italic; margin:40px 0;
  border-radius:0 10px 10px 0; color:var(--ai-text);
}
.article-content strong { color:var(--ai-text); }

/* ── Case Study Box ─────────────────────────────── */
.case-study-box {
  background: var(--ai-bg3);
  border: 1px solid var(--ai-border);
  border-left: 4px solid var(--ai-cyan);
  border-radius: 12px;
  padding: 28px 32px;
  margin: 40px 0;
}
.case-study-box h3 {
  font-size: 14px !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--ai-cyan) !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: none !important;
}
.case-study-box ul {
  margin: 0 !important;
  padding-left: 0 !important;
  list-style: none;
}
.case-study-box li {
  padding: 6px 0;
  border-bottom: 1px solid var(--ai-border);
  font-size: 15px;
  color: var(--ai-text-muted);
}
.case-study-box li:last-child { border-bottom: none; }
.case-study-box li strong { color: var(--ai-text); margin-right: 6px; }
</style>

<?php include dirname(__DIR__, 2) . '/parts/ai-page-foot.php'; ?>
