2.5 KiB
2.5 KiB
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
- Vytvorenie triedy
App\Services\DAIClientvsrc/Services/DAIClient.php:- Metóda
sendRequest(string $prompt): ?string(použitiecurlalebofile_get_contentspre POST na lokalne API). - Spracovanie odpovede a ošetrenie timeoutov.
- Metóda
- Vytvorenie triedy
App\Prompts\ContentPromptvsrc/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.
- Metóda
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.phpsrc/Prompts/ContentPrompt.php
Súbory ktoré je potrebné upraviť
Žiadne.
API a dátové štruktúry
DAIAPI typicky očakáva:
- URL:
http://webwizard.test: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
curlv PHP.
Testovací scenár
- Vytvor testovací skript, ktorý vygeneruje prompt pre mock
wizard_data. - Over, či prompt obsahuje všetky kľúčové informácie (názov firmy, služby).
- 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