Effectievere prompts schrijven
Azure OpenAI-modellen kunnen reacties genereren op query's in natuurlijke taal met opmerkelijke nauwkeurigheid. De kwaliteit van de antwoorden hangt echter grotendeels af van hoe goed de prompt is geschreven. Ontwikkelaars kunnen de prestaties van Azure OpenAI-modellen optimaliseren met behulp van verschillende technieken in hun prompts, wat resulteert in nauwkeurigere en relevante antwoorden.
Duidelijke instructies opgeven
Het duidelijk stellen van het Azure OpenAI-model voor wat u wilt, is een manier om de gewenste resultaten te verkrijgen. Door zo beschrijvend mogelijk te zijn, kan het model een antwoord genereren dat het meest overeenkomt met wat u zoekt.
Stel dat u een productbeschrijving wilt maken voor een nieuwe waterfles. Houd rekening met het antwoord dat aan elke prompt is gekoppeld:
Prompt
Write a product description for a new water bottle
Respons
Introducing the latest addition to our product line - the innovative and eco-friendly water bottle.
Made from high-quality, BPA-free materials, this bottle is designed to keep your beverages at the
perfect temperature for hours. Its sleek and stylish design makes it the perfect accessory for any
outdoor activity or workout session. With its convenient carrying handle and leak-proof lid, you
can take it with you wherever you go, without worrying about spills or leaks. Plus, its easy-to-clean
design ensures that you can use it again and again, making it the perfect choice for anyone looking
for a reliable and sustainable water bottle.
Versus een vergelijkbare prompt, met duidelijke instructies.
Prompt
Write a product description for a new water bottle that is 100% recycled. Be sure to include that
it comes in natural colors with no dyes, and each purchase removes 10 pounds of plastic from our
oceans
Respons
Introducing our newest water bottle, the eco-friendly choice for the conscious consumer. Made from
100% recycled materials and available in natural colors with no dyes, this bottle is not only
stylish but also sustainable. Each purchase of this bottle removes 10 pounds of plastic from
our oceans, making it a responsible choice for those who care about the environment. Its durable
and leak-proof design makes it perfect for outdoor activities, while its easy-to-carry handle
makes it convenient to take on the go. Join us in our mission to reduce plastic waste and choose
this eco-friendly water bottle for your daily hydration needs.
Door specifieke gegevens op te nemen die moeten worden opgenomen, weet het model welke informatie aan de beschrijving moet worden toegevoegd, zodat het nauwkeuriger is voor het nieuwe product.
Deze methode kan worden extrapolated om complexe instructies op te nemen, zoals een lijst met details met opsommingstekens die moeten worden opgenomen, de lengte van het antwoord of de gewenste indelingen die moeten worden opgenomen in de uitvoer. Probeer precies te vragen wat u in het resultaat wilt zien en u bent misschien verbaasd over hoe goed het model voldoet aan uw aanvraag.
Indeling van instructies
Hoe instructies zijn opgemaakt, kan van invloed zijn op de manier waarop het model de prompt interpreteert. Recency bias kan van invloed zijn op modellen, waarbij informatie aan het einde van de prompt meer invloed kan hebben op de uitvoer dan informatie aan het begin. U krijgt mogelijk betere antwoorden door de instructies aan het einde van de prompt te herhalen en te beoordelen hoe dit van invloed is op het gegenereerde antwoord.
Deze recency bias kan ook worden afgespeeld bij gebruik ChatCompletion
in een chatscenario, waarbij recentere berichten in het gesprek in de prompt een grotere invloed hebben op het antwoord. De volgende les gaat dieper in op het gebruik van gesprekken om de antwoordkwaliteit te verbeteren, maar als u belangrijke informatie dichter bij het einde van de prompt plaatst, kan dit leiden tot een beter antwoord.
Sectiemarkeringen gebruiken
Een specifieke techniek voor het opmaken van instructies is het splitsen van de instructies aan het begin of einde van de prompt en de inhoud van de gebruiker in ---
of ###
blokken te laten opnemen. Met deze tags kan het model duidelijker onderscheid maken tussen instructies en inhoud. Bijvoorbeeld:
Translate the text into French
---
What's the weather going to be like today?
---
Notitie
Aanbevolen procedures voor sectiemarkeringen kunnen veranderen met toekomstige versies.
Primaire, ondersteunende en grounding-inhoud
Met inbegrip van inhoud voor het model dat moet worden gebruikt om te reageren, kan het met een grotere nauwkeurigheid antwoorden. Deze inhoud kan op twee manieren worden gezien: primaire en ondersteunende inhoud.
Primaire inhoud verwijst naar inhoud die het onderwerp van de query is, zoals een zin die moet worden vertaald of een artikel om samen te vatten. Deze inhoud wordt vaak aan het begin of einde van de prompt (als instructie en gedifferentieerd door ---
blokken) opgenomen, met instructies waarin wordt uitgelegd wat u ermee moet doen.
Stel dat we een lang artikel hebben dat we willen samenvatten. We kunnen het in een ---
blok in de prompt plaatsen en vervolgens eindigen met de instructie.
---
<insert full article here, as primary content>
---
Summarize this article and identify three takeaways in a bulleted list
Ondersteunende inhoud is inhoud die het antwoord kan wijzigen, maar niet de focus of het onderwerp van de prompt is. Voorbeelden van ondersteunende inhoud zijn onder andere namen, voorkeuren, toekomstige datum die in het antwoord moet worden opgenomen, enzovoort. Door ondersteunende inhoud te bieden, kan het model volledig, nauwkeuriger reageren en de gewenste informatie waarschijnlijker opnemen.
Als u bijvoorbeeld een zeer lange promotie-e-mail hebt, kan het model belangrijke informatie extraheren. Als u vervolgens ondersteunende inhoud toevoegt aan de prompt waarin u iets specifieks opgeeft, kan het model een nuttiger antwoord bieden. In dit geval is het e-mailbericht de primaire inhoud, met de details van wat u interesseert als ondersteunende inhoud
---
<insert full email here, as primary content>
---
<the next line is the supporting content>
Topics I'm very interested in: AI, webinar dates, submission deadlines
Extract the key points from the above email, and put them in a bulleted list:
Met grounding-inhoud kan het model betrouwbare antwoorden geven door inhoud voor het model te verstrekken waaruit het antwoord kan trekken. Grondinhoud kan een essay of artikel zijn waar u vervolgens vragen over stelt, een document met veelgestelde vragen over het bedrijf of informatie die recenter is dan de gegevens waarop het model is getraind. Als u betrouwbaardere en actuele antwoorden nodig hebt, of als u moet verwijzen naar niet-gepubliceerde of specifieke informatie, wordt grounding-inhoud ten zeerste aanbevolen.
Grounding-inhoud verschilt van primaire inhoud, omdat het de bron van informatie is om de promptquery te beantwoorden, in plaats van de inhoud waarop wordt gewerkt voor zaken zoals samenvatting of vertaling. Wanneer u bijvoorbeeld een niet-gepubliceerd onderzoeksdocument hebt verstrekt over de geschiedenis van AI, kan het vervolgens vragen beantwoorden met behulp van die grondinhoud.
---
<insert unpublished paper on the history of AI here, as grounding content>
---
Where and when did the field of AI start?
Met deze grondgegevens kan het model nauwkeurigere en geïnformeerde antwoorden geven die mogelijk geen deel uitmaken van de gegevensset waarop het is getraind.
Signalen
Aanwijzingen zijn voorloopwoorden voor het model om op voort te bouwen en helpen vaak om het antwoord in de juiste richting vorm te geven. Ze worden vaak gebruikt met instructies, maar niet altijd. Aanwijzingen zijn met name handig als u het model vraagt voor het genereren van code. Huidige Azure OpenAI-modellen kunnen enkele interessante codefragmenten genereren, maar het genereren van code wordt in een toekomstige module uitgebreider behandeld.
Als u bijvoorbeeld hulp nodig hebt bij het maken van een SQL-query, geeft u instructies op voor wat u nodig hebt, samen met het begin van de query:
Write a join query to get customer names with purchases in the past 30 days between tables named orders and customer on customer ID.
SELECT
Het antwoord van het model wordt opgehaald waar de prompt is gebleven, terwijl in SQL wordt voortgezet, ook al hebben we nooit om een specifieke taal gevraagd. Andere voorbeelden kunnen zijn om u te helpen met Python-code door codeopmerkingen te geven over de gewenste app en als import
voorloopwoord aan het einde van de prompt of vergelijkbaar in de gewenste taal.
Een ander voorbeeld, gezien een grote verzameling klantbeoordelingen in een prompt en eindigt met:
Summarize the reviews above:
Most common complaints:
-
Het model weet vervolgens de instructies te voltooien op basis van de context die in de beoordelingen is opgegeven.