Prompt engineering technieken

Deze technieken worden niet aanbevolen voor redeneringsmodellen zoals gpt-5- en o-seriemodellen.

Prompt constructie kan moeilijk zijn. In de praktijk dient de prompt om het model te helpen de gewenste taak te voltooien, maar het is meer een kunst dan een wetenschap, vaak vereist het ervaring en intuïtie om een succesvolle prompt te creëren. Het doel van dit artikel is om u te helpen aan de slag te gaan met dit leerproces. In dit artikel worden algemene concepten en patronen vastgelegd die van toepassing zijn op alle GPT-modellen. Het is echter belangrijk om te begrijpen dat elk model zich anders gedraagt, zodat de leertrajecten mogelijk niet evenzeer van toepassing zijn op alle modellen.

Opmerking

Zie Responses-API en Azure OpenAI in Microsoft Api-referentie voor Foundry-modellen voor actuele API-richtlijnen en voorbeelden.

Basisprincipes

In deze sectie worden de basisconcepten en elementen van GPT-prompts behandeld.

Tekstprompts zijn hoe gebruikers communiceren met GPT-modellen. Net als bij alle generatieve taalmodellen proberen GPT-modellen de volgende reeks woorden te produceren die waarschijnlijk zullen volgen uit de vorige tekst. Het is alsof we zeggen Wat is het eerste wat in je gedachten komt als ik zeg <prompt>? In de onderstaande voorbeelden ziet u dit gedrag. Met de eerste woorden van bekende teksten kan het model de tekst accuraat voortzetten.

Prompt Voltooiing
Vier punten en zeven jaar geleden onze Op dit continent voortgebracht, werd een nieuwe natie gegrondvest in Vrijheid, en gewijd aan de stelling dat alle mensen gelijk worden geschapen. […]
Noem me Ishmael. Een paar jaar geleden—niet precies weet hoe lang—had ik weinig of geen geld in mijn beurs en was er niets bijzonders op het land dat mijn interesse wekte, dus dacht ik dat ik een beetje zou varen en de waterrijke delen van de wereld zou verkennen.

Wanneer u complexere prompts ontwikkelt, is het handig om rekening te houden met dit fundamentele gedrag. Ongeacht de prompt die wordt gegeven, reageert het model gewoon met wat het waarschijnlijkst bepaalt (gezien de trainingsgegevens en trainingsdoelen). Als u een vraag in uw prompt stelt, volgt het model geen afzonderlijk Q&A-codepad, maar lijkt het erop dat deze de vraag beantwoordt omdat een antwoord het meest waarschijnlijke antwoord is voor de gegeven vraag als invoer.

Promptonderdelen

Wanneer u de voltooiings-API gebruikt terwijl er geen onderscheid is tussen verschillende onderdelen van de prompt, kan het nog steeds nuttig zijn voor leren en bespreken om onderliggende promptonderdelen te identificeren. Met de CHAT-voltooiings-API zijn er verschillende secties van de prompt die naar de API worden verzonden in de vorm van een matrix met woordenlijsten met gekoppelde rollen: systeem, gebruiker en assistent. Deze richtlijnen richten zich meer in het algemeen op hoe na te denken over constructie van prompts, in plaats van prescriptieve richtlijnen te bieden die specifiek zijn voor de ene API boven een andere.

Het is ook belangrijk om te begrijpen dat hoewel er andere geldige manieren zijn om prompts te ontleden, het doel van deze uitsplitsing is om een relatief eenvoudige manier te bieden om na te denken over promptconstructie. Met de voltooiings-API zijn alle onderdelen optioneel, maar ten minste één moet aanwezig zijn en de meeste prompts bevatten meer dan één onderdeel. Er kan ook een grijs gebied tussen onderdelen zijn. De onderstaande volgorde komt ongeveer overeen met hoe vaak elk onderdeel wordt gebruikt, van de meeste tot de minste.

Instructies

Instructies zijn waarschijnlijk het meest gebruikte promptonderdeel. Instructies zijn gewoon dat: instructies voor het model over wat u moet doen. Hoewel eenvoudig in concept, kunnen ze in de praktijk complex zijn. De volgende tabel illustreert dit door zowel eenvoudige als complexere instructies weer te geven, in twee verschillende vormen.

Instructietype Prompt Voltooiing
Eenvoudige instructies Schrijf een inleiding voor een wekelijkse nieuwsbrief. Welkom bij onze wekelijkse nieuwsbrief. Deze week hebben we een speciale focus op productiviteit. We delen tips en trucs om productief te zijn op alle gebieden van uw leven. We hopen dat je geniet en deel met je vrienden!
Complexe instructies Schrijf een inleiding voor een wekelijkse nieuwsbrief naar mijn bedrijf met de naam Contoso. Het zou de geweldige all-hands bijeenkomst moeten vermelden die we vorige week hebben gehad en het team bedanken voor al hun harde werk in de zware afgelopen maanden. Welkom bij de wekelijkse nieuwsbrief van Contoso! We hadden vorige week een geweldige algemene vergadering en ik wil het team bedanken voor al hun harde werk in de afgelopen zware maanden. We kijken uit naar een heldere toekomst en ik ben ervan overtuigd dat we met de toewijding en inzet van ons team geweldige dingen zullen bereiken. Bedankt dat u deel uitmaakt van ons team en ik kijk ernaar uit om in de komende weken en maanden met u samen te werken. Met vriendelijke groet, [Uw naam].
Complexe instructies Schrijf een inleiding voor een wekelijkse nieuwsbrief, waaronder de volgende:
- Mijn bedrijf heeft de naam contoso
- Een uitbundig begroeting
- Het team bedanken voor hun harde werk gedurende een paar moeilijke maanden
- Positieve vooruitzichten voor het komende kwartaal
- Ondertekend door de SLT
Hallo Contoso-team! Ik wilde u bedanken voor al uw harde werk in de afgelopen maanden. Het is een moeilijke paar maanden geweest, maar jullie hebben allemaal een geweldige klus gedaan. Ik ben echt trots op jullie allemaal. Vooruitkijkend naar het volgende kwartaal, voel ik me echt positief. Ik denk dat we een aantal geweldige dingen gaan bereiken. Nogmaals bedankt, het senior leiderschapsteam.

Primaire inhoud

Primaire inhoud verwijst naar een soort tekst die wordt verwerkt of getransformeerd door het model. Primaire inhoud wordt meestal gebruikt in combinatie met instructies. Een eenvoudig voorbeeld is taalomzetting. In het onderstaande voorbeeld wordt de Engelse tekst beschouwd als de primaire inhoud terwijl 'Vertalen naar Frans:' een instructie is.

Prompt Voltooiing
Kun je me alsjeblieft vertellen hoe je naar het museum gaat?
Vertalen naar het Frans:
Pouvez-vous s'il vous plaît me dire comment aller au musée?

Primaire inhoud kan ook veel langer zijn. In het volgende voorbeeld is de primaire inhoud de introductiesectie van de Wikipedia-vermelding over tijdcomplexiteit, die bijna 300 woorden lang is. Deze inhoud wordt afgekort in onze tabel voor het gemak van de weergave.

Prompt Voltooiing
In computerwetenschap is de tijdcomplexiteit de rekenkundige complexiteit die de hoeveelheid computertijd beschrijft die nodig is om een algoritme uit te voeren. Tijdcomplexiteit wordt vaak geschat door [...]
De vorige tekst in een paar zinnen samenvatten:
Tijdcomplexiteit is een meting van hoe lang het duurt voordat een algoritme wordt uitgevoerd. Deze wordt meestal uitgedrukt als een functie van de grootte van de invoer. De meest voorkomende meting is slechtste tijdcomplexiteit, wat de maximale tijdsduur is die nodig is voor invoer van een bepaalde grootte.
In computerwetenschap is de tijdcomplexiteit de rekenkundige complexiteit die de hoeveelheid computertijd beschrijft die nodig is om een algoritme uit te voeren. Tijdcomplexiteit wordt vaak geschat door [...]
TL;DR (Te lang niet gelezen)
De tijdcomplexiteit van een algoritme is de hoeveelheid tijd die nodig is om een algoritme uit te voeren. Tijdcomplexiteit wordt meestal geschat door het aantal elementaire bewerkingen te tellen dat door het algoritme wordt uitgevoerd, waarbij wordt aangenomen dat elke elementaire bewerking een vaste hoeveelheid tijd kost om uit te voeren. De tijdcomplexiteit wordt over het algemeen uitgedrukt als een functie van de grootte van de invoer.

GPT-modellen kunnen ook primaire inhoud verwerken die is gestructureerd. In het onderstaande voorbeeld wordt een TSV over bieren in België (afgekort voor weergave in dit artikel) doorgegeven aan het model als onderdeel van de prompt. Het is in staat om de inhoud goed te interpreteren en vragen over de gegevens te beantwoorden.

Prompt Voltooiing
Belgian Beer Brands
Beer name Beer style color ABV Brewery
"Chimay Gold: ""Doree""" trappist pale ale gold 4.80% Chimay Brewery (official trappist)
"Chimay Blue: ""Grande Reserve""" trappist dark ale dark 9.00%
[…]
Verwijzend naar de bovenstaande tabel, hoeveel bieren bevatten minder dan 6% ABV?
Er staan 10 biertjes in de tafel die minder dan 6% ABV zijn.

Voorbeelden

Geslaagde prompts zijn vaak afhankelijk van de toepassing van "one-shot" of "few-shot" leren. Dit verwijst naar het opnemen van een of meer voorbeelden van het gewenste gedrag van het model, meestal door invoer- en uitvoerparen op te nemen. Dit leert niet in de zin dat het model permanent wordt gewijzigd, maar dat de voorbeelden beter in staat zijn om alleen op de huidige deductie te reageren. Het gebruik van prompts zonder voorbeelden wordt soms 'zero-shot' learning genoemd. Houd er rekening mee dat met de chatvoltooiings-API few-shot learning-voorbeelden doorgaans aan de berichtenreeks worden toegevoegd in de vorm van voorbeeldinteracties tussen gebruiker en assistent, na het eerste systeembericht.

Leertype Prompt Voltooiing
Zero-shot (model zonder voorafgaande training) Kop: Coach vertrouwt erop dat letsel Warriors niet van hun koers zal brengen
Onderwerp:
De coach is ervan overtuigd dat de blessure het seizoen van de Warriors niet zal ontsporen. Het team is nog steeds gericht op hun doelen en dat ze hard blijven werken om ze te bereiken.
Paar foto's Kop: Twins-speler Correa gaat gebruikmaken van opt-out en de vrije markt testen.
Onderwerp: Honkbal
Kop: Qatar World Cup heeft uitnuchteringszones
Onderwerp: Voetbal
Kop: Yates: Fantasy football informatie voor Week 6
Onderwerp: Voetbal
Kop: Coach vertrouwt erop dat letsel Warriors niet van hun koers zal brengen
Onderwerp:
Basketbal

In het bovenstaande voorbeeld ziet u het nut van weinig-shot learning. Zonder de voorbeelden lijkt het model te raden naar het gewenste gedrag, terwijl de voorbeelden het model op een schone manier laten zien hoe het werkt. Dit toont ook de kracht van het model, het kan de categorie label afleiden die is gewenst, zelfs zonder een "basketbal" label in de voorbeelden.

Cue

Aanwijzingen fungeren als de 'kickstart' voor de uitvoer van het model en helpen het model te sturen naar de gewenste uitvoer. Het is vaak een voorvoegsel waarop het model kan voortbouwen. In het onderstaande voorbeeld laten we de aanwijzing zien die het verhaal stuurt om essentiële elementen op te nemen. Aanwijzingen worden vaak samen met instructies gebruikt, maar niet altijd. In de onderstaande voorbeelden wordt het model gebruikt om een lang aankondigingsbericht samen te vatten. Een aanwijzing wordt in één geval gebruikt om de uitvoer van het model te richten en om een specifieke uitvoerindeling (opsommingstekens) in het andere geval te suggereren.

In de context van de api-instructies voor chatvoltooiing krijgen de vorm van het systeembericht en enkele voorbeelden worden aangegeven door een reeks voorbeeldinteracties van gebruikers/assistenten te bieden om het model te helpen primen.

Aantal aanwijzingen Prompt Voltooiing
0 Prestatiebeoordelingen zijn een belangrijk onderdeel van onze Performance & Development-benadering bij Contoso. […]
Het bovenstaande e-mailbericht samenvatten:
Het doel van deze e-mail is om werknemers te informeren over recente wijzigingen in de prestatiebeoordelingservaring, die deel uitmaakt van de benadering Performance & Development van Contoso. De wijzigingen omvatten een verbeterde structuur, bijgewerkte gebruikerservaring in het hulpprogramma en gerichte prompts. Daarnaast is er nu een optionele sectie Gespreksstarters voor werknemers om onderwerpen te markeren die ze willen bespreken met hun managers.
1 Prestatiebeoordelingen zijn een belangrijk onderdeel van onze Performance & Development-benadering bij Contoso. […]
Het bovenstaande e-mailbericht samenvatten:
Het belangrijkste leerpunt van het bericht is
dat Contoso de ervaring voor prestatiebeoordeling verbetert door deze meer gericht te maken op de kernprioriteiten, verwachtingen en impact. Daarnaast upgraden ze de gebruikerservaring in het hulpprogramma met tips, resources en richtlijnen. Ten slotte voegen ze richtlijnen toe voor het activeren van bedrijfsbrede kernprioriteiten.
2 Prestatiebeoordelingen zijn een belangrijk onderdeel van onze Performance & Development-benadering bij Contoso. […]
Het bovenstaande e-mailbericht samenvatten:
Belangrijkste punten:
Contoso introduceert wijzigingen in de ervaring voor het beoordelen van prestaties, op basis van feedback van werknemers.
• De wijzigingen omvatten een nieuwe focus op kernprioriteiten, verwachtingen en impact; een bijgewerkte gebruikerservaring; en nieuwe richtlijnen voor bedrijfsbrede kernprioriteiten.
• Prestatiebeoordelingen zijn een tijd om na te denken over eerdere prestaties en leren en om toekomstige prioriteiten en groeikansen te plannen.
• Werknemers en managers moeten opmerkingen schrijven voorafgaand aan de vergadering van de prestatiebeoordeling.
• Er moeten ten minste twee prestatiebeoordelingen per jaar zijn.
• De tijdsinvestering voor elke beoordeling moet ongeveer hetzelfde blijven.

Ondersteunende inhoud

Ondersteunende inhoud is informatie die het model kan gebruiken om de uitvoer op een of andere manier te beïnvloeden. Het verschilt van de primaire inhoud omdat deze niet het belangrijkste doel van de taak is, maar deze wordt meestal samen met primaire inhoud gebruikt. Veelvoorkomende voorbeelden zijn contextuele informatie, zoals de huidige datum, de naam van de gebruiker, gebruikersvoorkeuren, enzovoort. In het onderstaande voorbeeld wordt ondersteunende inhoud gebruikt om een reeks geplande workshops voor de gebruiker te organiseren. Zonder de ondersteunende (belangrijke onderwerpen) vermeldt het model gewoon de workshops (afgekapt voor weergave), wanneer het model op de hoogte is van mijn belangrijke onderwerpen, kan het model de vergaderingen nauwkeurig groeperen.

Ondersteunende inhoud Prompt Voltooiing
Zonder Workshoplijst:
Titelbeschrijving
Start van de planningsworkshop Doe mee met ons om onze workshop te starten! Hoor van onze leiders over prioriteiten voor groepen en leertrajecten voor het komende jaar. De uitnodiging voor deze gebeurtenis is al verzonden naar iedereen in [...]
Samenvatten van de bovenstaande workshops, gegroepeerd op onderwerp:
Workshoplijst:
Kick-off van de planningsworkshop
-Afronding van de Planning Workshop
- Core MeetUp
- Klantgestuurde perspectieven
-Impact en belangrijkste aandachtsgebieden
-Beste praktijken
-App-acceptatie versnellen [...]
Met Workshoplijst:
Titelbeschrijving
Start van de planningsworkshop Doe mee met ons om onze workshop te starten! Hoor van onze leiders over prioriteiten voor groepen en leertrajecten voor het komende jaar. De uitnodiging voor deze gebeurtenis is al verzonden naar iedereen in [...]
Mijn belangrijke onderwerpen: prompt engineering, zoeken, GPT-modellen
Samenvatten van de bovenstaande workshops, gegroepeerd op mijn belangrijke onderwerpen:
1. Prompt Engineering:
- Nieuwe prompt technische tips
- De kunst van prompt engineering
2. Zoeken:
-Inleiding tot vectorzoekopdrachten met insluiting
3. GPT-modellen:
- Inleiding tot GPT-4
- GPT-35-Turbo uitgebreid.

Scenariospecifieke richtlijnen

Met de technieken in deze sectie leert u strategieën voor het verhogen van de nauwkeurigheid en aarding van reacties die u genereert met een Large Language Model (LLM). Het is echter belangrijk om te onthouden dat zelfs wanneer u prompt engineering effectief gebruikt, u nog steeds de antwoorden moet valideren die de modellen genereren. Omdat een zorgvuldig ontworpen prompt goed werkte voor een bepaald scenario, betekent dit niet noodzakelijkerwijs dat het algemener wordt voor bepaalde gebruiksscenario's. Het begrijpen van de beperkingen van LLM's is net zo belangrijk als het begrijpen van hun sterke punten.

Deze handleiding gaat niet dieper in op de mechanica achter de berichtstructuur voor chatvoltooiingen. Als u niet bekend bent met interactie met modellen voor chatvoltooiingen via een programma, raden we u aan eerst onze instructiegids te lezen over de CHAT-voltooiings-API.

Opmerking

Alle voorbeelden in deze sectie van de handleiding zijn getest op basis van een GPT-4-basismodel in het Engels. Sommige technieken kunnen verschillende resultaten opleveren met nieuwere modellen, zoals gpt-4.1, en gpt-4.5. Als u een gelokaliseerde versie van dit artikel leest in een andere taal, vertegenwoordigen deze antwoorden een gelokaliseerde vertaling van de Engelse resultaten. Voor meer informatie over mogelijke beperkingen, afhankelijk van de taal die u gebruikt om een model te vragen, raadpleegt u onze opmerking over verantwoordelijke AI-transparantie.

Few-shot leren

Een veelgebruikte manier om taalmodellen aan te passen aan nieuwe taken is door few-shot leren toe te passen. Bij few-shot learning wordt een reeks trainingsvoorbeelden gegeven als onderdeel van de prompt om het model van extra context te voorzien.

Wanneer u de chatvoltooiings-API gebruikt, kunnen een reeks berichten tussen de gebruiker en assistent (geschreven in de nieuwe promptindeling) dienen als voorbeelden voor few-shot learning. Deze voorbeelden kunnen worden gebruikt om het model op een bepaalde manier te laten reageren, bepaalde gedragingen te emuleren en antwoorden op veelgestelde vragen te zaaien.

Systeembericht Paar-shot-voorbeelden
Assistent is een intelligente chatbot die is ontworpen om gebruikers te helpen hun belastinggerelateerde vragen te beantwoorden.
Instructies
- Beantwoord alleen vragen met betrekking tot belastingen.
- Als u niet zeker bent van een antwoord, kunt u zeggen 'Ik weet het niet' of 'Ik weet het niet zeker' en raad gebruikers aan om naar de IRS-website te gaan voor meer informatie.
Gebruiker : 'Wanneer moet ik mijn belastingen indienen?'
Assistent : "In 2023 moet u uw belastingen indienen op 18 april. De datum valt na de gebruikelijke deadline van 15 april omdat 15 april valt op een zaterdag in 2023. Zie voor meer informatie https://www.irs.gov/filing/individuals/when-to-file "

Gebruiker : "Hoe kan ik de status van mijn belastingrestitutie controleren?"
Assistent - "U kunt de status van uw belastingrestitutie controleren door naar https://www.irs.gov/refunds "

In de bovenstaande tabel wordt de structuur van de basisprompt beschreven, maar voor een gedetailleerde uitleg van de exacte promptindeling moet u verwijzen naar de handleiding chatvoltooiing.

Niet-chat-scenario's

Hoewel de chatvoltooiings-API is geoptimaliseerd voor gebruik met gesprekken met meerdere rondes, kan deze ook worden gebruikt voor niet-chatscenario's. Voor een sentiment-analysecenario kunt u bijvoorbeeld de volgende prompt gebruiken.

Systeembericht Gebruiker Assistent
U bent een assistent die is ontworpen om het gevoel van spraakgegevens te analyseren. Gebruikers plakken een tekenreeks met tekst en u reageert met een evaluatie van het antwoord van de spreker. Rente op een schaal van 1-10 (10 hoogste). Leg uit waarom deze classificatie is gegeven. Hallo, bedankt voor het bellen van Contoso Apotheek. Met wie spreek ik vandaag? Ik begrijp je frustratie, Mary. Kun je me vertellen wat je precies probeert te bereiken? OK, zeker. Blij om dat voor je te controleren, een moment alstublieft. Ik zie hier dat je op een generieke vorm van Lipitor was, klopt dat? OK, ik zie dat uw arts in twee duizend eenentwintig eigenlijk is gestopt met het voorschrijven van deze medicijnen. OK, ja, ik kijk er graag voor je naar, want soms is er een hiaat in het systeem en wordt het gewoon niet gemeld. Laat me hier even kijken. Ik zie hier dat uw arts deze geneesmiddelen voor u had voorgeschreven van twee duizend twaalf tot twee duizend eenentwintig. OK, volgens de laatste gegevens van de dokterspraktijk gebruikt u nu een ander medicijn, metformine. Wilt u dat wij dat recept voor u klaarzetten voor afhalen, in een dosering van vijfhonderd milligram? Heel graag gedaan, Mary. Laat ons weten als er iets anders is wat we vandaag voor u kunnen doen. Gevoelsclassificatie: 8
De spreker in deze tekst lijkt beleefd, behulpzaam en geduldig te zijn tijdens het aanpakken van de zorgen van de klant. Ze nemen de tijd om de informatie te controleren, duidelijke uitleg te geven en hulp te bieden. De waardering is echter geen 10, omdat er nog steeds een hint is van onzekerheid in sommige delen van het gesprek, waardoor de klant mogelijk niet volledig vertrouwen heeft.

Begin met duidelijke instructies

De volgordegegevens worden weergegeven in de prompt. Dit komt doordat GPT-stijlmodellen op een bepaalde manier zijn gebouwd die bepalen hoe ze de invoer verwerken. Ons onderzoek suggereert dat door het model aan het begin van de prompt te vertellen welke taak u wilt dat het uitvoert, vóór het delen van aanvullende contextuele informatie of voorbeelden, kan helpen om uitvoer van hogere kwaliteit te produceren.

Opmerking

Hoewel het volgen van deze techniek nog steeds algemeen wordt aanbevolen, in tegenstelling tot eerdere modelversies (GPT-3 en eerdere), bleek uit onze tests dat het modelantwoord met ChatGPT- en GPT-4-modellen hetzelfde was, ongeacht of de techniek wordt gebruikt. In dit voorbeeld zien we dat het toevoegen van de uitspraak 'Verschillende bronnen ... "uitbarsting" aan het begin of einde van de prompt veroorzaakte geen verandering in het uiteindelijke modelresultaat.

Systeembericht Gebruiker Assistent
U bent een AI-assistent waarmee mensen informatie kunnen vinden. Uw taak is om te controleren of de instructie 'Meerdere bronnen een kans op een andere grote uitbarsting vermelden' wordt ondersteund door een specifiek citaat uit de volgende set fragmenten.
---
FRAGMENTEN
[1] 14 procent kans op een mega-aardbeving die Seattle treft, zeggen experts
SEATTLE - Er is een kans van 14 procent op een aardbeving met een kracht van 9 op de schaal van Richter die Seattle treft in de komende 50 jaar, volgens schattingen van de Amerikaanse Geologische Dienst. "Helaas kunnen we niet...

[2] Aardbevingsexperts leggen de nieuwste outlook uit voor 'Really Big One' van Seattle
"We zeggen dat er in de komende 50 jaar ongeveer 14% kans is op een andere aardbeving van ongeveer grootte-9," zei een geofysicus aan de Universiteit van Washington...
---
Is de verklaring "Verschillende bronnen noemen een kans op een andere grote uitbarsting" impliciet of expliciet vermeld in de fragmenten?
Nee, de verklaring wordt niet rechtstreeks geïmpliceerd of vermeld door de tekstfragmenten. De fragmenten noemen een kans op een "megaquake" en een Cascadia aardbeving met een magnitude van 9 die Seattle binnen de komende 50 jaar kan treffen, maar ze noemen geen kans op een andere grote uitbarsting.

Herhaal de instructies aan het einde

Modellen kunnen vatbaar zijn voor recency bias, wat in deze context betekent dat informatie aan het einde van de prompt mogelijk meer invloed heeft op de uitvoer dan informatie aan het begin van de prompt. Daarom is het de moeite waard om te experimenteren met het herhalen van de instructies aan het einde van de prompt en het evalueren van de impact op het gegenereerde antwoord.

De uitvoer voorbereiden

Dit verwijst naar het opnemen van enkele woorden of woordgroepen aan het einde van de prompt om een modelantwoord te verkrijgen dat volgt op het gewenste formulier. Een aanwijzing zoals “Here’s a bulleted list of key points:\n- ” kan helpen ervoor te zorgen dat het resultaat wordt opgemaakt als een lijst met opsommingstekens.

Systeembericht Gebruiker Assistent
U bent een AI-assistent waarmee mensen informatie kunnen vinden. Beantwoord zo weinig mogelijk woorden. John Smith is getrouwd met Lucy Smith. Ze hebben vijf kinderen en hij werkt als software-engineer bij Microsoft. Welke zoekquery's moet ik doen om dit te controleren? ## Een mogelijke zoekquery is: "John Smith trouwde met Lucy Smith vijf kinderen software engineer Microsoft"

In de bovenstaande prompt zet de tekst Een mogelijke zoekquery is: het model aan om een enkele uitvoer te genereren. Zonder deze aanwijzing produceert het model verschillende zoekquery's als uitvoer.

Duidelijke syntaxis toevoegen

Gebruik duidelijke syntaxis voor uw prompt om de intentie te communiceren en uitvoer gemakkelijker te parseren.

In het onderstaande voorbeeld zijn scheidingstekens (--- in dit geval) toegevoegd tussen verschillende informatiebronnen of stappen. Hierdoor kan --- als stopvoorwaarde voor het genereren worden gebruikt. Daarnaast worden sectiekoppen of speciale variabelen in hoofdletters weergegeven om deze te onderscheiden.

Systeembericht Gebruiker Assistent
U bent een AI-assistent waarmee mensen informatie kunnen vinden. U leest een alinea en geeft vervolgens query's uit aan een zoekmachine om deze te controleren. Leg ook de query's uit.
---
PARAGRAAF
John Smith is getrouwd met Lucy Smith. Ze hebben vijf kinderen en hij werkt als software-engineer bij Microsoft. Welke zoekquery's moet ik doen om dit te controleren?
---
QUERIES
1. "John Smith Microsoft" - Om te controleren of John Smith inderdaad werkzaam is bij Microsoft.
2. "John Smith Lucy Smith" - Om te controleren of John Smith getrouwd is met Lucy Smith.
3. "John Smith kinderen" - Om te controleren of John Smith vijf kinderen heeft.

Als u niet zeker weet welke syntaxis u moet gebruiken, kunt u Markdown of XML gebruiken. De modellen zijn getraind op een grote hoeveelheid webinhoud in XML en Markdown, wat betere resultaten kan opleveren.

De taak opsplitsen

Grote taalmodellen (LLM's) presteren vaak beter als de taak wordt opgesplitst in kleinere stappen. In de queryprompt waarnaar eerder wordt verwezen, kan de prompt bijvoorbeeld worden geherstructureerd, zodat het model eerst wordt geïnstrueerd om relevante feiten te extraheren en vervolgens wordt geïnstrueerd om zoekquery's te genereren die kunnen worden gebruikt om deze feiten te verifiëren.

Systeembericht Gebruiker Assistent
U bent een AI-assistent waarmee mensen informatie kunnen vinden. U leest een alinea en geeft vervolgens query's uit aan een zoekmachine om deze te controleren.
---
PARAGRAAF
John Smith is getrouwd met Lucy Smith. Ze hebben vijf kinderen en hij werkt als software-engineer bij Microsoft. Welke zoekquery's moet ik doen om dit te controleren?
---
Zou u nu feitelijke claims extraheren en vragen uitzetten om ze te verifiëren. Wanneer u een query uitgeeft, gebruikt u de functie SEARCH("query")

FEITELIJKE CLAIMS
1. John Smith is getrouwd met Lucy Smith
2. Ze hebben vijf kinderen
3. Hij werkt als software-engineer bij Microsoft

QUERIES
SEARCH("John Smith trouwde met Lucy Smith")
SEARCH("John Smith gezin grootte")
SEARCH("John Smith, software-engineer bij Microsoft")

Let op het gebruik van duidelijke syntaxis om de secties te onderscheiden en de uitvoer te primen. In dit eenvoudige voorbeeld is het opsplitsen van de taak van één tot twee stappen niet erg dramatisch, maar wanneer u dit probeert te doen voor een groter stuk tekst met veel feitelijke claims, kan het opsplitsen van de taak een aanzienlijk verschil maken.

Gebruik van aangeboden mogelijkheden

Soms kunnen we het model krijgen om een betaalbaarheid te gebruiken in plaats van te vertrouwen op zijn eigen parameters voor informatie en antwoorden. Zoeken kan bijvoorbeeld een hulpmiddel zijn om te helpen bij het verminderen van gefabriceerde antwoorden en om actuele informatie te verkrijgen.

Een eenvoudige manier om een betaalbaarheid te gebruiken, is door de generatie te stoppen zodra de betaalbaarheidsaanroepen door het model worden gegenereerd en de resultaten vervolgens weer in de prompt te plakken. Hieronder ziet u een voorbeeld van wat de opvolgingsoproep kan zijn na het uitvoeren van de bovenstaande ZOEK-aanroepen. U ziet hoe we de zoekresultaten in de prompt hebben geplakt en de vorige SEARCH-aanroepen hebben vervangen.

Systeembericht Gebruiker Assistent
U bent een AI-assistent waarmee mensen informatie kunnen vinden. U leest een alinea, extraheert feitelijke claims en gebruikt vervolgens zoekresultaten om ze te controleren
---
PARAGRAAF
John Smith is getrouwd met Lucy Smith. Ze hebben vijf kinderen en hij werkt als software-engineer bij Microsoft. Welke zoekquery's moet ik doen om dit te controleren?
---
FEITELIJKE CLAIMS
- John Smith is getrouwd met Lucy Smith
- John en Lucy hebben vijf kinderen
- John werkt als software-engineer bij Microsoft
---
Hier volgen verschillende zoekquery's die zijn uitgegeven om de bovenstaande claims te onderzoeken:
ZOEKQUERIES
- John Smith gehuwd met Lucy Smith
- John Smith aantal kinderen
- John Smith software engineer bij Microsoft
---
Dit zijn fragmenten van de zoekresultaten:
FRAGMENTEN:
[1] … De bruiloft van John Smith was op 25 september 2012 ...
[2] … John Smith werd vergezeld door zijn vrouw Lucy aan een feestje
[3]John werd vergezeld van het voetbalspel door zijn twee dochters en drie zonen
[4] … Na 10 jaar in Microsoft, richtte Smith zijn eigen startup, Tailspin Toys
John M is de stadssmid en hij trouwde met Fiona. Ze hebben een dochter genaamd Lucy
---
Op basis van de codefragmenten controleert u elk van de bovenstaande feitelijke claims:
- John Smith is getrouwd met Lucy Smith: Bevestigd. Fragment [1] en [2] vermelden allebei John Smiths vrouw als Lucy.

- John en Lucy hebben vijf kinderen: Bevestigd. Fragment [3] vermeldt dat John vergezeld was van zijn twee dochters en drie zonen.

- John werkt als software-engineer bij Microsoft: Gedeeltelijk bevestigd. Fragment [4] vermeldt dat John 10 jaar op Microsoft heeft doorgebracht, maar het geeft niet expliciet aan dat hij daar momenteel werkt. Verder onderzoek kan nodig zijn om zijn huidige arbeidsstatus te bevestigen.

Keten van gedachteaanzetting

Belangrijk

Deze techniek is alleen van toepassing op niet-redenerende modellen. Het extraheren van modelredenering via andere methoden dan de redeneringssamenvattingsparameter wordt niet ondersteund, kan het beleid voor acceptabel gebruik schenden en kan leiden tot beperking of schorsing wanneer deze wordt gedetecteerd.

Dit is een variatie op de techniek voor het opsplitsen van de taak . In plaats van een taak op te splitsen in kleinere stappen, wordt in deze benadering het modelantwoord stapsgewijs uitgelegd en worden alle betrokken stappen weergegeven. Dit vermindert de kans op onnauwkeurigheid van resultaten en maakt het beoordelen van de modelrespons eenvoudiger.

Systeembericht Gebruiker Assistent
U bent een AI-assistent waarmee mensen informatie kunnen vinden. Wie was de meest gedecoreerde individuele atleet tijdens de Olympische Spelen van Sydney? Neem een stapsgewijze benadering in uw antwoord, citeer bronnen en geef redenering voordat u het laatste antwoord deelt in de onderstaande indeling: ANSWER is: <name> Stap 1: Bepaal het jaar van de Olympische Spelen van Sydney. De Olympische Spelen van Sydney werden gehouden in het jaar 2000.

Stap 2: Zoek een lijst met individuele atleten die meerdere medailles hebben gewonnen op de Olympische Spelen van Sydney 2000.

Volgens de officiële website van de Olympische Spelen waren er verschillende individuele atleten die meerdere medailles wonn op de Olympische Spelen van Sydney in 2000. Enkele van de belangrijke namen zijn:
• Ian Thorpe (Australië) - 3 goud, 2 zilver, 0 brons
• Pieter van den Hoogenband (Nederland) - 2 goud, 0 zilver, 2 brons
• Lenny Krayzelburg (VS) - 3 goud, 0 zilver, 0 brons
• Inge de Bruijn (Nederland) - 3 goud, 1 zilver, 0 brons

Stap 3: Bepaal de atleet met de meeste medailles. Na het bekijken van de lijst met individuele atleten die meerdere medailles won op de Olympische Spelen van 2000 in Sydney, kunnen we zien dat de atleet met de meeste medailles Ian Thorpe uit Australië is, die in totaal 5 medailles won (3 goud en 2 zilver).

Daarom is het ANTWOORD: Ian Thorpe.

De uitvoerstructuur opgeven

Door uw prompt te gebruiken om de structuur van de uitvoer op te geven, kan dit een aanzienlijk effect hebben op de aard en kwaliteit van de resultaten. Soms zijn systeemberichtinvoeren als 'alleen echte feiten schrijven' of 'geen informatie fabriceren' mogelijk niet voldoende oplossingen. In plaats daarvan kan het vragen om het modelantwoord ook bronvermeldingen op te nemen, leiden tot een vermindering van de prevalentie van onjuiste antwoorden.

Als u het model instrueert om het bronmateriaal te citeren wanneer het uitspraken doet, zijn deze uitspraken veel waarschijnlijker onderbouwd. Als u om bronvermeldingen vraagt, moet het model twee fouten maken telkens wanneer er een antwoord wordt gegenereerd: de eerste fout is het ge fabriceerde antwoord en de tweede is de slechte bronvermelding. Houd er rekening mee dat hoe dichter de bronvermelding is bij de tekst die wordt ondersteund, hoe korter de afstand voor het model is om te anticiperen op de bronvermelding, wat aangeeft dat inline-bronvermeldingen betere oplossingen zijn voor het genereren van valse inhoud dan bronvermeldingen aan het einde van de inhoud.

Als u het model vraagt om feitelijke instructies uit een alinea te extraheren, kan het ook samengestelde instructies extraheren, zoals 'X doet Y EN Z' (wat moeilijker kan zijn om te verifiëren). Dit kan worden vermeden door een uitvoerstructuur op te geven, zoals (entiteit1, relatie, entiteit2).

In dit voorbeeld ziet u het gebruik van bronvermeldingen en het omsturen van het modelantwoord op een gedefinieerde structuur.

Systeembericht Gebruiker Assistent
U bent een AI-assistent waarmee mensen informatie kunnen vinden Vermeld in het volgende gesprek het verschillende gedrag van de klantondersteuningsmedewerker.
---
Hallo, bedankt voor het bellen van Contoso Apotheek. Met wie spreek ik vandaag? Ik begrijp je frustratie, Mary. Kun je me vertellen wat je precies probeert te bereiken? OK, zeker. Blij om dat voor je te controleren, een moment alstublieft. Ik zie hier dat je op een generieke vorm van Lipitor was, klopt dat? OK, ik zie dat uw arts in twee duizend eenentwintig eigenlijk is gestopt met het voorschrijven van deze medicijnen. OK, ja, ik kijk er graag voor je naar, want soms is er een hiaat in het systeem en wordt het gewoon niet gemeld. Laat me hier even kijken. Ik zie hier dat uw arts deze geneesmiddelen voor u had voorgeschreven van twee duizend twaalf tot twee duizend eenentwintig. OK, volgens de laatste gegevens van de dokterspraktijk gebruikt u nu een ander medicijn, metformine. Wilt u dat wij dat recept voor u klaarzetten voor afhalen, in een dosering van vijfhonderd milligram? Heel graag gedaan, Mary. Laat ons weten als er iets anders is wat we vandaag voor u kunnen doen.
---
Hoe is het antwoord van de klantondersteuningsmedewerker?
Classificeer en vermeld hun verschillende gedragingen en citeer de reden achter de classificatie, met behulp van de notatie BEHAVIOR("reason")
1. Beleefd begroetingSGEDRAG("Agent start het gesprek met een beleefde begroeting en vraagt om de naam van de beller")
2. Empathetisch GEDRAG("Agent erkent Mary's frustratie en probeert haar bezorgdheid te begrijpen")
3. Attent GEDRAG("Agent luistert naar het probleem van de klant en vraagt om meer informatie")
4. Proactief GEDRAG("Agent biedt aan om het probleem voor de klant te controleren")
5. Informatief GEDRAG("Agent verstrekt de relevante informatie over de voorschriftgeschiedenis van de klant")
6. Grondig GEDRAG("Agent controleert op mogelijke hiaten in het systeem en levert een volledig antwoord")
7. Bevestigend Gedrag ("Agent bevestigt de huidige medicatie met de klant")
8. Oplossingsgericht GEDRAG("Agent biedt aan om het nieuwe recept voor de klant te vullen")
9. Hoffelijk GEDRAG("De agent bedankt de klant en biedt verdere hulp aan indien nodig")
Systeembericht Gebruiker Assistent
U bent een AI-assistent waarmee mensen informatie kunnen vinden. Cluster de volgende nieuwskoppen in onderwerpcategorieën op basis van patronen die in de tekst worden gezien. Vermeld ook redenering achter de wijze waarop deze categorieën zijn gedefinieerd.
Uitvoerindeling:
{
"TITEL_NAAM": ""
"KOPPEN": [],
"REDE": ""
}

Nieuwskoppen invoeren:
1. "Van boeken tot presentaties in 10s met AR + ML"
2. "Demo uit 1993 van 32-jarige Yann LeCun die het eerste Convolutional Network for Text Recognition ter wereld laat zien"
3. "Eerste Orde Bewegingsmodel toegepast om schilderijen te animeren"
4. "Robinhood en andere brokers blokkeren letterlijk de aankoop van $GME, $NOK, $BB, $AMC; verkopen toestaan"
5. "United Airlines-aandelen meer dan 5% gedaald in de voorbeurshandel"
Resultaat:

{
"KUNSTMATIGE_INTELLIGENTIE": {
"KOPPEN": [
"Van boeken naar presentaties in 10 seconden met AR en ML"
"Demo uit 1993 van 32-jarige Yann LeCun die het eerste Convolutional Network for Text Recognition ter wereld laat zien,"
Eerste Orde Bewegingsmodel toegepast om schilderijen te animeren
],
"REDENEREN": "Deze koppen zijn gerelateerd aan kunstmatige intelligentie, machine learning en hun toepassingen in verschillende velden."
},
"FINANCIËLE_MARKTEN": {
"KOPPEN": [
"Robinhood en andere brokers blokkeren werkelijk de aankoop van $GME, $NOK, $BB, $AMC; zij staan de verkoop van deze aandelen toe."
United Airlines aandelen gedaald met meer dan 5% in handel voor de beurs.
"Bitcoin was bijna $20.000 een jaar geleden"
],
"REDENEREN": "Deze koppen zijn gerelateerd aan financiële markten, aandelen, cryptovaluta's en handelsplatforms."
}
}

Temperatuur- en Top_p parameters

Als u de temperatuurparameter wijzigt, wordt de uitvoer van het model gewijzigd. De temperatuurparameter kan tussen 0 en 2 worden ingesteld. Een hogere waarde, bijvoorbeeld 0,7, maakt de uitvoer willekeuriger en produceert meer uiteenlopende antwoorden, terwijl een lagere waarde, zoals. 0.2, maakt de uitvoer meer gericht en concreet. Een fictief verhaal kan worden gegenereerd met een hogere temperatuur. Voor het genereren van een juridisch document is het raadzaam om een veel lagere temperatuur te gebruiken. Top_probability is een andere parameter en is vergelijkbaar met Temperatuur omdat hiermee ook de willekeurigheid van het modelantwoord wordt gecontroleerd, maar dit op een andere manier doet. De algemene aanbeveling is om een van deze twee parameters tegelijk te wijzigen, niet beide.

Basiscontext opgeven

Een van de meest effectieve manieren om betrouwbare antwoorden te geven, is door het model gegevens te geven waaruit het zijn antwoorden haalt (referentiegegevens). Als uw gebruiksscenario afhankelijk is van up-to-datum, betrouwbare informatie en niet uitsluitend een creatief scenario is, raden we u ten zeerste aan om grondgegevens op te geven. Over het algemeen, hoe dichter u uw bronmateriaal kunt krijgen bij de uiteindelijke vorm van het gewenste antwoord, hoe minder werk het model moet doen, wat betekent dat er minder kans is op fouten. Hier volgt een voorbeeld waarin het systeem een blog wordt gegeven met een beschrijving van de launch van GPT-4 in Azure OpenAI in Microsoft Foundry Models en gevraagd om enkele van zijn vroege klanten te noemen.

Systeembericht Gebruiker Assistent
U bent een AI-assistent waarmee mensen informatie kunnen vinden. U geeft uitsluitend antwoorden van de onderstaande tekst en reageert in 100 woorden of minder:
"Op Microsoft ontdekken we voortdurend nieuwe manieren om creativiteit te ontketenen, productiviteit te ontgrendelen en vaardigheden op niveau te verhogen, zodat meer mensen kunnen profiteren van ai. Hierdoor kunnen onze klanten ...

… waardoor de kans wordt verkleind dat het model een schadelijk antwoord genereert." 1

Beantwoord in 100 woorden of minder. Gebruik waar mogelijk lijsten met opsommingstekens.
Wie zijn enkele van de vroege klanten van de Azure OpenAI GPT-4-modellen? Hier volgen enkele van de vroege klanten van de Azure OpenAI GPT-4-modellen:
- Epic Healthcare: Ze zijn van plan gpt-4 te gebruiken om artsen en verpleegsters te helpen minder tijd te besteden aan het invoeren en onderzoeken van gegevens.
- Coursera: Ze gebruiken Azure OpenAI met GPT-4 om een nieuwe ai-leerervaring op hun platform te maken.
- Coca-Cola: Ze gebruiken Azure OpenAI om een kennishub te bouwen en gebruik te maken van de multimodale mogelijkheden van GPT-4 voor marketing, reclame, public relations en klantrelaties.
- Andere bedrijven van alle grootten gebruiken Azure AI om klantervaringen te verbeteren, inhoud in lange vorm samen te vatten, software te schrijven en het risico te verminderen door de juiste belastinggegevens te voorspellen.

1 Tekst van Azure OpenAI GPT-4 launch blog.

Beste praktijken

  • Wees specifiek. Laat zo weinig mogelijk interpretatie over. Beperk de operationele ruimte.
  • Wees beschrijvend. Gebruik analogieën.
  • Dubbel omlaag. Soms moet u zich misschien herhalen bij het model. Geef instructies voor en na uw primaire inhoud, gebruik een instructie en een aanwijzing, enzovoort.
  • Order Matters. De volgorde waarin u informatie aan het model presenteert, kan van invloed zijn op de uitvoer. Of u nu instructies plaatst voor uw inhoud ('het volgende samenvatten...') of na ('summarize the above...') kan een verschil maken in de uitvoer. Zelfs de volgorde van few-shot voorbeelden kan van belang zijn. Dit wordt aangeduid als recency bias.
  • Geef het model een “uitweg”. Het kan soms handig zijn om het model een alternatief pad te geven als de toegewezen taak niet kan worden voltooid. Als u bijvoorbeeld een vraag stelt over een stuk tekst, kunt u bijvoorbeeld 'reageren met 'niet gevonden' opnemen als het antwoord niet aanwezig is.' Dit kan helpen het model te voorkomen dat er valse antwoorden worden gegenereerd.

Ruimte-efficiëntie

Terwijl de invoergrootte toeneemt met elke nieuwe generatie GPT-modellen, blijven er scenario's bestaan die meer gegevens bieden dan het model kan verwerken. GPT-modellen splitsen woorden in 'tokens'. Hoewel veelgebruikte woorden met meerdere lettergrepen vaak één token zijn, worden minder algemene woorden in lettergrepen verbroken. Tokens kunnen soms contra-intuïtief zijn, zoals wordt weergegeven in het onderstaande voorbeeld waarin tokengrenzen voor verschillende datumnotaties worden gedemonstreerd. In dit geval is het voluit schrijven van de maand ruimteefficiënter dan een volledig numerieke datum.

Schermopname van een tekenreeks met gemarkeerde kleuren die tokengrenzen aangeven.

Gezien deze beperkte ruimte is het belangrijk om deze zo efficiënt mogelijk te gebruiken.

  • Tabellen: zoals wordt weergegeven in de voorbeelden in de vorige sectie, kunnen GPT-modellen eenvoudig gegevens in tabelvorm begrijpen. Dit kan een ruimte-efficiënte manier zijn om gegevens te integreren, in plaats van elk veld vooraf te laten gaan door een naam (zoals bij JSON).
  • Witruimte: opeenvolgende witruimten worden behandeld als afzonderlijke tokens, wat een eenvoudige manier kan zijn om ruimte te verspillen. Spaties voorafgaand aan een woord worden meestal behandeld als onderdeel van hetzelfde token als het woord. Let goed op hoe u witruimte gebruikt en gebruik geen interpunctie als een spatie alleen voldoende is.