Lekce 2 - Vytváříme efektivní prompty pro excelentní výstupy
V předchozí lekci, Úvod do AI, jsme si představili umělou inteligenci a přiblížili si možnosti, které nám současná generace AI nabízí.
V následujícím tutoriálu základů umělé inteligence se podíváme na klíčový koncept AI, kterým je prompt. Správně položený dotaz (prompt) nás rychle přiblíží k požadovanému výsledku, zatímco sestavujeme-li prompty nesprávně, nebude nám ani ten nejsofistikovanější model AI příliš platný. Porozumění těmto základům nám poskytne pevný základ pro další studium a aplikaci AI v našem profesním i osobním životě.
Prompt
Prompt (dotaz, výzva) je termín, který se v kontextu umělé inteligence a strojového učení používá k popisu vstupu. Ten poskytujeme AI systému za účelem generování výstupu. Vstupem může být jednoduchá otázka nebo konkrétní příkaz, který nasměruje AI k vytvoření odpovědi nebo provedení určité úlohy. Prompty jsou zásadní pro interakci s modely umělé inteligence. A to zejména v případech, kdy se používají generativní modely, jako je například ChatGPT. Staré rčení říká, že na nesprávnou otázku je nesprávná i odpověď. U generativních modelů toto platí dvakrát podtržené a s vykřičníkem.
Čím přesněji modelu vymezíme to, co po něm chceme, tím lepší odpověď dostaneme.
Řekněme, že chceme vygenerovat štěně s kachničkou. Podívejme se na následující dva prompty a jejich výsledek:
✗ Špatně
Ukaž mi něco roztomilého.
✔ Správně
Ukaž mi štěně pomeraniana s plastovou kachničkou.
Při přesném požadavku dostaneme realistický obrázek štěňátka. Při obecném zadání pak AI může vygenerovat cokoliv. Nedejbože i berušku
Interakce s AI modelem
Bez promptu se při interakci s AI neobejdeme. Od jednoduchých dotazů až po složitější scénáře vždy začínáme oslovením modelu. Nejjednodušší prompty jsou obecné, kdy AI příliš nelimitujeme. Například následující prompty patří právě mezi ty nejjednodušší:
- Jednoduchý dotaz – "Jaké je dnes počasí v Praze?"
- Příkaz k vytvoření textu – "Napiš krátký příběh o robotovi, který objevuje nový svět."
- Dotaz pro získání informací – "Vysvětli princip strojového učení."
Zde dáváme AI volnou ruku a vygenerovaný obsah pak lze dalšími dotazy více upřesnit. Pokud ale potřebujeme konkrétní výstup, musíme už AI lidově řečeno "přitáhnout opratě". To platí, když chceme vygenerovat například nákupní seznam nebo přepočítaný recept na pravé české buchty. Prompt bude vypadat takto:
Chci péct buchty s povidlovou náplní. Potřebuji nákupní seznam. Chci buchty pro čtyři lidi, každý dostane dvě. Najdi recept a přepočítej mi ingredience pro daný počet osob.
AI model (ChatGPT-4o) pak dokáže velmi rychle vyhledat recept a přepočítat suroviny:
Výstup ChatGPT
Pro upečení buchet s povidlovou náplní pro čtyři osoby, každá dostane dvě, budete potřebovat následující ingredience:
250 g mouky
125 ml mléka
10 g droždí
35 g cukru
50 g másla
1 vejce
špetku soli
100 g povidel
S tímto nákupním seznamem byste měli mít vše potřebné k upečení 8 buchet.
Kvalita a přesnost výstupu generovaného AI systémem jsou přímo závislé na kvalitě promptu.
Jak správně formulovat efektivní prompty
Pochopení a správné používání promptů je pro efektivní využívání AI nástrojů nezbytné. Pouze tak získáme relevantní a kvalitní výstupy. Při vytváření efektivních promptů je důležité:
- Jsme konkrétní – Čím více detailů a kritérií poskytneme, tím relevantnější dostaneme výstup.
- Úlohy rozdělujeme – Úlohy rozdělujeme na dílčí části a zpracováváme postupně. To vede k lepším výsledkům, stejně jako by tomu bylo u člověka.
- Začínáme příkazem – Používáme akční slovesa, jako jsou "vytvoř", "napiš", "navrhni", "sestav" a mnohé další.
- Vytvoříme AI modelu roli – Chovej se jako "programátor", "básník", "novinář" a podobně.
- Využíváme uvozovky – Uvozovky modelu pomáhají přesně definovat záměr promptu. Například: Sestav mi rešerši na téma "globální oteplování".
- Iterujeme a vylepšujeme – Vstupy zpracováváme znovu a znovu, čímž umožňujeme AI modelu vylepšovat výstup. Vhodné je také specifikovat požadovanou délku výstupu.
Zkusme si to na příkladu:
Chovej se jako fotograf. Vytvoř mi fotorealistický širokoúhlý obrázek s vysokým dynamickým rozsahem barev. Na obrázku bude oranžová "Toyota Supra" Paula Walkera z filmu Fast & Furious. Auto bude zachycené z boku. Silnice je kvalitní, svítí slunce a je jasné počasí.
Zadání je konkrétní a modelu poskytujeme i odpovídající kontext (název filmu, herce, barvu a typ auta).
Podívejme se na výstup AI modelu (DALL-E):
Pokud se nám na výsledku něco nebude líbit, odpovídající parametry v promptu upravíme
Best practices při tvorbě promptu
Vytvořit efektivní prompt není vždy snadné. Alespoň ze začátku nám v tom však může pomoci následující postup:
- Definujeme si problém či cíl – Jasně formulujeme, s čím chceme, aby nám AI model pomohl, a jakou odpověď očekáváme.
- Použijeme relevantní klíčová slova a fráze – Do příkazu zahrneme odborné a tematické termíny, které AI model nasměrují k požadované generované odpovědi.
- Vytvoříme prompt – Vytvoříme stručný prompt, který definuje úkol a předává potřebné informace, přičemž použijeme klíčová slova.
- Prompt testujeme, hodnotíme a iterujeme – Generujeme odpovědi, hodnotíme výstupy a dle potřeby prompt upravujeme tak, aby vyvolal požadovaný výstup. Tento proces opakujeme, dokud nevytvoříme prompt, který konzistentně generuje požadovanou odpověď.
Práce s prompty je dovednost jako jakákoliv jiná, proto vyžaduje čas a učení. Čím více promptů sestavíme, tím lepší výsledky budeme mít.
Angličtina vs. čeština
Pro kvalitní prompt je důležitý i jazyk, ve kterém je prompt položený. GPT modely byly trénovány na obrovských množstvích dat, z nichž velká část je v angličtině. To znamená, že modely mají k dispozici široké spektrum znalostí a kontextů v angličtině.
Oproti tomu objem dostupných tréninkových dat v češtině je řádově menší než v angličtině, což logicky vede k menší hloubce a šířce znalostí modelu v češtině. Čeština je také jazyk se složitou gramatikou, což zvyšuje náročnost na přesnost a správnost generovaných textů.
Zdálo by se tedy, že bude lepší s GPT modely pracovat v angličtině. To ale nemusí být pravda. Záleží na úrovni, v jaké angličtinu zvládáme. Pokud se někdo blíží znalosti rodilého mluvčího, pak je angličtina vhodnější.
Obecně platí, že kvalitní dotaz v češtině je lepší než dotaz položený "lámanou" angličtinou.
Když si nejsme jistí, můžeme nechat vytvořit prompt samotnou AI:
Vytvoř prompt pro AI v angličtině na základě českého zadání: Vytvoř fotorealistický širokoúhlý snímek lesní mýtiny v mladém smíšeném lese, na které stojí starý lovecký srub. Přes mýtinu se klikatí potok. V dálce jsou hory se zasněženými vrcholy. Na kraji paseky v pozadí pije z potoka jelen. Je krásné počasí.
Výstup AI
Create a photorealistic widescreen image of a forest clearing in a young mixed forest. In the clearing stands an old hunting cabin. A stream winds through the clearing. In the distance, there are mountains with snow-capped peaks. At the edge of the clearing in the background, a deer is drinking from the stream. The weather is beautiful.
Konečný výstup AI modelu vypadá takto:
V následujícím kvízu, Kvíz - Úvod do AI a efektivní prompty, si vyzkoušíme nabyté zkušenosti z předchozích lekcí.