Jak funguje konstrukce promptů
Vzhledem ke způsobu, jakým jsou OpenAI modely 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.
Oficiální průvodce konstrukcí promptů od OpenAI je obvykle nejlepší místo, kde začít s tipy pro prompting.
Níže uvádíme několik formátů promptů, které podle nás fungují dobře, ale klidně prozkoumejte i jiné formáty, které mohou vašemu úkolu vyhovovat lépe.
Základní pravidla a příklady
Poznámka: „{text input here}“ je zástupný text pro skutečný text/kontext
1. Používejte nejnovější model
Pro nejlepší výsledky obecně doporučujeme používat nejnovější a nejschopnější modely. Novější modely se obvykle snáze vedou pomocí promptů.
Poznámka: Při promptování modelu s uvažováním oproti promptování modelu GPT je třeba vzít v úvahu určité rozdíly. Více podrobností zde.
2. Pokyny dejte na začátek promptu a k oddělení pokynů a kontextu použijte ### nebo """
Méně účinné ❌:
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 konkrétní, popisní a co nejpodrobnější 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ě účinné ❌:
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. Požadovaný formát výstupu vyjádřete pomocí příkladů
Méně účinné ❌:
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 to i popište – modely reagují lépe, když jim ukážete konkrétní požadavky na formát. Také to usnadňuje programové spolehlivé parsování 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ů, potom na několika příkladech, a pokud nefunguje ani jedno, pak model dolaďte
✅ 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 – poskytněte několik ukázek
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:✅ Dolaďte model: osvědčené postupy pro fine-tuning najdete zde.
6. Omezte „vatovité“ a nepřesné popisy
Méně účinné ❌:
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 pouhého říkání, co nedělat, řekněte, co dělat místo toho
Méně účinné ❌:
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. Specificky pro generování kódu – použijte „úvodní slova“, která model navedou ke konkrétnímu vzoru
Méně účinné ❌:
# 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í „import“ modelu napovídá, že má začít psát v Pythonu. (Podobně je „SELECT“ dobrým vodítkem 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 Generate Anything
Vývojáři mohou pomocí funkce „Generate Anything“ popsat úkol nebo očekávaný výstup v přirozeném jazyce a získat prompt na míru.
Zjistěte víc o používání funkce „Generate Anything“.
Parametry
Obecně zjišťujeme, že model a temperature jsou nejčastěji používané parametry pro změnu 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šší jetemperature, tím náhodnější (a obvykle kreativnější) je výstup. To ale 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šítemperature0.max_completion_tokens(maximální délka) - Neřídí délku výstupu, ale představuje pevný limit ukončení generování tokenů. V ideálním případě na tento limit nebudete narážet často, protože se model zastaví buď tehdy, když si myslí, že je hotovo, nebo když narazí na vámi definovanou ukončovací sekvenci.stop(ukončovací sekvence) - Sada znaků (tokenů), která po vygenerování způsobí zastavení generování textu.
Další popisy parametrů najdete v referenci API.
