Jak funguje konstrukce promptů
Vzhledem ke způsobu, jakým jsou modely OpenAI trénovány, existují konkrétní formáty promptů, které fungují obzvlášť dobře a vedou k užitečnějším výstupům modelu. Nejlepším výchozím místem pro tipy k promptování bývá oficiální průvodce konstrukcí promptů od OpenAI.
Níže uvádíme několik formátů promptů, které podle nás fungují dobře, ale klidně vyzkoušejte i jiné formáty, které mohou lépe vyhovovat vašemu úkolu.
Pravidla palce a příklady
Poznámka: „{text input here}“ je zástupný symbol pro skutečný text/kontext
1. Použijte nejnovější model
Pro dosažení nejlepších výsledků obecně doporučujeme používat nejnovější a nejschopnější modely. U novějších modelů bývá jednodušší konstruovat prompty.
Poznámka: Při promptování modelu s uvažováním oproti promptování modelu GPT je třeba zohlednit některé rozdíly. Další podrobnosti najdete zde.
2. Dejte pokyny na začátek promptu a pomocí ### nebo """ oddělte pokyn od kontextu
Méně efektivní ❌:
Shrň níže uvedený text do seznamu s odrážkami obsahujícího nejdůležitější body.
{text input here}Lepší ✅:
Shrň níže uvedený text do seznamu s odrážkami obsahujícího nejdůležitější body.
Text: """
{text input here}
"""3. Buďte co nejkonkrétnější, popisní a podrobní ohledně požadovaného kontextu, výsledku, délky, formátu, stylu atd.
Buďte konkrétní ohledně kontextu, výsledku, délky, formátu, stylu atd.
Méně efektivní ❌:
Napiš báseň o OpenAI. Lepší ✅:
Napiš krátkou inspirativní báseň o OpenAI se zaměřením na nedávné uvedení produktu DALL-E (DALL-E je ML model převádějící text na obraz) ve stylu {famous poet}4. Vyjádřete požadovaný formát výstupu pomocí příkladů
Méně efektivní ❌:
Extrahuj entity uvedené v textu níže. Extrahuj následující 4 typy entit: názvy společností, jména lidí, konkrétní témata a obecná témata.
Text: {text}Ukažte a popište – modely reagují lépe, když jim ukážete konkrétní požadavky na formát. Díky tomu je také snazší spolehlivě programově zpracovat více výstupů.
Lepší ✅:
Extrahuj důležité entity uvedené v textu níže. Nejprve extrahuj všechny názvy společností, poté všechna jména lidí, potom konkrétní témata odpovídající obsahu a nakonec obecná zastřešující témata
Požadovaný formát:
Názvy společností: <čárkami_oddělený_seznam_názvů_společností>
Jména lidí: -||-
Konkrétní témata: -||-
Obecná témata: -||-
Text: {text}5. Začněte bez předchozích příkladů, pak použijte několik příkladů, a pokud nic z toho nefunguje, proveďte doladění
✅ Bez předchozích příkladů
Extrahuj klíčová slova z níže uvedeného textu.
Text: {text}
Klíčová slova:✅ Na několika příkladech – uveďte několik příkladů
Extrahuj klíčová slova z odpovídajících textů níže.
Text 1: Stripe poskytuje API, která mohou weboví vývojáři použít k integraci zpracování plateb do svých webových stránek a mobilních aplikací.
Klíčová slova 1: Stripe, zpracování plateb, API, weboví vývojáři, webové stránky, mobilní aplikace
##
Text 2: OpenAI vytrénovala špičkové jazykové modely, které jsou velmi dobré v porozumění textu a jeho generování. Naše API poskytuje přístup k těmto modelům a lze jej použít k řešení prakticky jakéhokoli úkolu, který zahrnuje zpracování jazyka.
Klíčová slova 2: OpenAI, jazykové modely, zpracování textu, API.
##
Text 3: {text}
Klíčová slova 3:✅ Doladění: osvědčené postupy pro doladění najdete zde.
6. Omezte „vatové“ a nepřesné popisy
Méně efektivní ❌:
Popis tohoto produktu by měl být poměrně krátký, jen pár vět a ne o moc delší.Lepší ✅:
K popisu tohoto produktu použij odstavec o 3 až 5 větách.7. Místo toho, abyste jen říkali, co nedělat, řekněte, co dělat místo toho
Méně efektivní ❌:
Níže je konverzace mezi agentem a zákazníkem. NEPTEJ SE NA UŽIVATELSKÉ JMÉNO ANI HESLO. NEOPAKUJ TO.
Zákazník: Nemohu se přihlásit ke svému účtu.
Agent:Lepší ✅:
Níže je konverzace mezi agentem a zákazníkem. agent se pokusí diagnostikovat problém a navrhnout řešení, přičemž se zdrží pokládání jakýchkoli otázek souvisejících s PII. Místo dotazování na PII, jako je uživatelské jméno nebo heslo, odkaž uživatele na článek nápovědy www.samplewebsite.com/help/faq
Zákazník: Nemohu se přihlásit ke svému účtu.
Agent:8. Specifické pro generování kódu – použijte „úvodní slova“, která model navedou ke konkrétnímu vzoru
Méně efektivní ❌:
# Napiš jednoduchou python funkci, která
# 1. Požádá o číslo v mílích
# 2. Převede míle na kilometryV níže uvedeném příkladu kódu přidání slova „import“ modelu napoví, že má začít psát v Pythonu. (Podobně je „SELECT“ dobrá nápověda pro začátek příkazu SQL.)
Lepší ✅:
# Napiš jednoduchou python funkci, která
# 1. Požádá o číslo v mílích
# 2. Převede míle na kilometry
import9. Použijte funkci Vygenerovat cokoli
Vývojáři mohou pomocí funkce „Vygenerovat cokoli“ popsat úkol nebo očekávaný výstup v přirozeném jazyce a získat prompt na míru.
Další informace o používání funkce „Vygenerovat cokoli“.
Parametry
Obecně zjišťujeme, že `model` a `temperature` jsou nejčastěji používané parametry pro úpravu výstupu modelu.
`model` - Výkonnější modely jsou obecně dražší a mohou mít vyšší latenci.
`temperature` - Míra toho, jak často model vygeneruje méně pravděpodobný token. Čím vyšší je
temperature, tím náhodnější (a obvykle kreativnější) je výstup. To však není totéž co „pravdivost“. Pro většinu faktických případů použití, jako je extrakce dat a pravdivé otázky a odpovědi, je nejlepší hodnotatemperature0.`max_completion_tokens` (maximální délka) - Neřídí délku výstupu, ale pevný limit pro generování tokenů. V ideálním případě na tento limit nebudete narážet často, protože model se zastaví buď ve chvíli, kdy usoudí, že skončil, nebo když narazí na vámi definovanou sekvenci zastavení.
`stop` (sekvence zastavení) - Sada znaků (tokenů), které po vygenerování způsobí zastavení generování textu.
Popisy dalších parametrů najdete v referenci API.
