Files
WebWizard/docs/prompts/step13.md
2026-06-12 12:54:10 +02:00

67 lines
2.5 KiB
Markdown

# Krok 13 - Architektúra promptov a DAIAPI klient
## Kontext projektu
Systém využíva lokálne DAIAPI na generovanie textového obsahu (JSON content layer). AI nesmie generovať HTML, ale štruktúrované dáta podľa dodaného promptu.
## Pred implementáciou si preštuduj
- `docs/mvp.md` - Sekcia 7 (AI workflow).
- `docs/architecture.md` - Sekcia 10 (AI workflow).
## Cieľ
Implementovať klienta pre DAIAPI a vytvoriť generátor promptov, ktorý na základe `wizard_data` pripraví zadanie pre AI.
## Požadované zmeny
1. Vytvorenie triedy `App\Services\DAIClient` v `src/Services/DAIClient.php`:
- Metóda `sendRequest(string $prompt): ?string` (použitie `curl` alebo `file_get_contents` pre POST na lokalne API).
- Spracovanie odpovede a ošetrenie timeoutov.
2. Vytvorenie triedy `App\Prompts\ContentPrompt` v `src/Prompts/ContentPrompt.php`:
- Metóda `generate(array $wizardData): string`.
- Prompt musí obsahovať:
- Kontext projektu.
- Inštrukcie pre "Content Layer" (SEO, Hero, Služby, atď.).
- Striktný zákaz HTML výstupu.
- Príklad požadovaného JSON formátu.
- Vstupné fakty z `wizard_data`.
## Implementačné pravidlá
- Prompt musí byť v slovenskom jazyku (alebo podľa `wizard_data.language`).
- Klient musí logovať chyby komunikácie s API.
- Použi systémovú premennú alebo konfiguračný súbor pre URL DAIAPI.
## Súbory ktoré je potrebné vytvoriť
- `src/Services/DAIClient.php`
- `src/Prompts/ContentPrompt.php`
## Súbory ktoré je potrebné upraviť
Žiadne.
## API a dátové štruktúry
DAIAPI typicky očakáva:
- URL: `http://localhost:port/v1/chat/completions` (podľa lokálneho nastavenia).
- Formát: JSON (messages, temperature, atď.).
## Frontend požiadavky
Nerelevantné.
## Backend požiadavky
- Povolené rozšírenie `curl` v PHP.
## Testovací scenár
1. Vytvor testovací skript, ktorý vygeneruje prompt pre mock `wizard_data`.
2. Over, či prompt obsahuje všetky kľúčové informácie (názov firmy, služby).
3. Skús (ak máš prístup k API) poslať testovací dopyt a over, či vráti validný JSON bez HTML.
## Definition of Done
- Klient pre AI je funkčný.
- Prompt je správne navrhnutý a generuje štruktúrované zadanie.
- Systém je pripravený na integráciu s workerom.
## Obmedzenia
- AI nesmie v žiadnom prípade generovať tagy ako `<div>`, `<h1>` a pod. v rámci content layer.
## Výstup
- zoznam vytvorených súborov
- zoznam upravených súborov
- stručné zhrnutie vykonaných zmien
- prípadné otvorené problémy