Share via


Tekniker för promptutformning

Den här guiden vägleder dig genom några avancerade tekniker inom snabbdesign och prompt-teknik. Om du är nybörjare på att fråga efter teknik rekommenderar vi att du börjar med vår introduktion till den tekniska guiden.

Principerna för snabbteknik kan generaliseras över många olika modelltyper, men vissa modeller förväntar sig en specialiserad snabbstruktur. För Azure OpenAI GPT-modeller finns det för närvarande två distinkta API:er där promptteknik spelar in:

  • API för chattens slutförande.
  • API för slutförande.

Varje API kräver att indata formateras på olika sätt, vilket i sin tur påverkar den övergripande promptdesignen. API:et för chattslutsättning stöder modellerna GPT-35-Turbo och GPT-4. Dessa modeller är utformade för att ta indata som är formaterade i en specifik chattliknande avskrift som lagras i en matris med ordlistor.

Api:et För slutförande stöder de äldre GPT-3-modellerna och har mycket mer flexibla indatakrav eftersom det tar en textsträng utan några specifika formatregler.

Teknikerna i den här guiden lär dig strategier för att öka noggrannheten och grunderna för svar som du genererar med en stor språkmodell (LLM). Det är dock viktigt att komma ihåg att även när du använder snabbteknik effektivt måste du fortfarande verifiera de svar som modellerna genererar. Bara för att en noggrant utformad fråga fungerade bra för ett visst scenario betyder det inte nödvändigtvis att den generaliserar bredare till vissa användningsfall. Det är lika viktigt att förstå begränsningarna för LLM:er som att förstå hur de kan utnyttja sina styrkor.

Den här guiden går inte in närmare på mekaniken bakom meddelandestrukturen för chattavslutningar. Om du inte är bekant med att interagera med modeller för chattslutsättningar programmatiskt rekommenderar vi att du läser vår instruktionsguide om API:et för chattslutsättning först.

Kommentar

Alla exempel i det här avsnittet av guiden har testats mot en grundläggande GPT-4-modell på engelska. Om du läser en lokaliserad version av den här artikeln på ett annat språk representerar dessa svar en lokaliserad översättning av de engelska resultaten. Mer information om potentiella begränsningar beroende på vilket språk du använder för att fråga en modell finns i vår transparensanteckning för ansvarsfull AI.

Systemmeddelande

Systemmeddelandet inkluderas i början av prompten och används för att primeera modellen med kontext, instruktioner eller annan information som är relevant för ditt användningsfall. Du kan använda systemmeddelandet för att beskriva assistentens personlighet, definiera vad modellen ska och inte ska svara på och definiera formatet för modellsvar.

Exemplet nedan visar ett exempelsystemmeddelande och det resulterande modellsvaret:

Systemmeddelande User Assistent
Du är AI-assistent som hjälper användare att hitta information och svarar på frågor. Om användaren ställer en fråga som du inte vet svaret på kan du säga det. Vad kan du säga om mig, John Doe? Kära John, jag är ledsen att säga,
Men jag har ingen information om dig idag.
Jag är bara en AI med kunskap i min hjärna,
Men utan dina synpunkter kan jag inte förklara.
Så berätta mer om vad du söker,
Och jag ska göra mitt bästa för att ge dig ett unikt svar.

Några andra exempel på systemmeddelanden är:

  • "Assistant är en stor språkmodell som tränas av OpenAI."
  • "Assistant är en intelligent chattrobot som är utformad för att hjälpa användarna att besvara tekniska frågor om Azure OpenAI Service. Svara bara på frågor med hjälp av kontexten nedan och om du inte är säker på ett svar kan du säga "Jag vet inte".
  • "Assistenten är en intelligent chattrobot som är utformad för att hjälpa användarna att besvara sina skatterelaterade frågor."
  • "Du är en assistent som är utformad för att extrahera entiteter från text. Användarna klistrar in en textsträng och du svarar med entiteter som du har extraherat från texten som ett JSON-objekt. Här är ett exempel på utdataformatet:
{  
   "name": "",
   "company": "",
   "phone_number": ""
}

En viktig detalj att förstå är att även om du instruerar en modell i systemmeddelandet att svara vet jag inte när jag är osäker på ett svar detta inte garanterar att begäran kommer att respekteras. Ett väl utformat systemmeddelande kan öka sannolikheten för ett visst resultat, men det är fortfarande möjligt att ett felaktigt svar kan genereras som strider mot avsikten med instruktionen i systemmeddelandet.

Få skottinlärning

Ett vanligt sätt att anpassa språkmodeller till nya uppgifter är att använda inlärning med få skott. I få skottinlärning tillhandahålls en uppsättning träningsexempel som en del av uppmaningen för att ge ytterligare kontext till modellen.

När du använder API:et För slutförande av chatt kan en serie meddelanden mellan användaren och assistenten (skrivna i det nya promptformatet) fungera som exempel för inlärning med få skott. De här exemplen kan användas för att få modellen att svara på ett visst sätt, emulera vissa beteenden och få svar på vanliga frågor.

Systemmeddelande Exempel med få bilder
Assistant är en intelligent chattrobot som är utformad för att hjälpa användarna att besvara sina skatterelaterade frågor.
Instruktioner
- Svara bara på frågor som rör skatter.
- Om du är osäker på ett svar kan du säga "Jag vet inte" eller "Jag är inte säker" och rekommendera användare att gå till IRS-webbplatsen för mer information.
Användare – "När behöver jag lämna in mina skatter efter?"
Assistent – "År 2023 måste du lämna in dina skatter senast den 18 april. Datumet infaller efter den vanliga tidsfristen den 15 april eftersom den 15 april infaller på en lördag 2023. Mer information finns i https://www.irs.gov/filing/individuals/when-to-file "

Användare – "Hur kan jag kontrollera statusen för min skatteåterbäring?"
Assistent – "Du kan kontrollera statusen för din skatteåterbäring genom att besöka https://www.irs.gov/refunds "

Tabellen ovan beskriver den grundläggande promptstrukturen, men för en detaljerad förklaring av det exakta promptformatet måste du läsa guiden För att slutföra chatten.

Scenarier som inte är chattar

Api:et för slutförande av chatt är optimerat för att fungera med konversationer med flera turer, men det kan också användas för icke-chattscenarier. För ett scenario med attitydanalys kan du till exempel använda följande fråga:

Systemmeddelande User Assistent
Du är en assistent som är utformad för att analysera sentiment från taldata. Användarna klistrar in en textsträng och du svarar med en utvärdering av talarens svar. Hastighet på en skala från 1 till 10 (10 är högst). Förklara varför det här omdömet gavs. hej tack för att ringa contoso apotek som jag talar med idag jag förstår din frustration mary um kan du berätta vad exakt du försöker åstadkomma OK uh verkligen glad att kontrollera att för dig ett ögonblick snälla jag ser här att du var på en generisk form av lipitor är att rätt OK uh så jag ser att din läkare slutat förskriva dessa läkemedel i tjugo tjugoen faktiskt OK uh Ja jag skulle gärna kontrollera att för dig uh eftersom ibland finns det en lucka i systemet och det bara inte får rapporteras så låt mig ta en titt här bara ett ögonblick så jag ser här att din läkare hade dessa läkemedel ordinerade till dig från tjugo tolv till tjugo tjugo en OK um ja enligt de senaste posterna uh som tillhandahålls av läkarmottagningen du nu på en annan drog metformin skulle du gillar oss att gå vidare och fylla det receptet för dig för plocka upp lite form i fem hundra milligram uh du är mycket välkommen mary vänligen låt oss veta om det finns något annat vi kan göra för dig idag. Sentimentklassificering: 8
Talaren i denna text verkar vara artig, hjälpsam och tålmodig när han tar itu med kundens problem. De tar sig tid att kontrollera informationen, ge tydliga förklaringar och erbjuda hjälp. Omdömet är dock inte 10 eftersom det fortfarande finns en antydan till osäkerhet i vissa delar av konversationen, vilket kanske inte förmedlar fullständigt förtroende till kunden.

Börja med tydliga instruktioner

Sekvensinformationen visas i frågan. Detta beror på att GPT-formatmodeller är inbyggda på ett visst sätt som definierar hur de bearbetar indata. Vår forskning tyder på att berätta för modellen vilken uppgift du vill att den ska göra i början av prompten, innan du delar ytterligare sammanhangsbaserad information eller exempel, kan hjälpa till att producera utdata av högre kvalitet.

Kommentar

Även om följande teknik fortfarande rekommenderas, till skillnad från tidigare modellversioner (GPT-3 och tidigare), visade våra tester att modellsvaret med ChatGPT- och GPT-4-modeller var detsamma oavsett om tekniken används. När det gäller exemplet nedan ser vi att lägga till -instruktionen "Flera källor ... utbrott" i början eller slutet av prompten inte orsaka någon förändring i den slutliga modellen svar.

Systemmeddelande User Assistent
Du är en AI-assistent som hjälper människor att hitta information. Din uppgift är att kontrollera om instruktionen "Flera källor nämner en chans till ett annat stort utbrott" stöds av ett specifikt citat från följande uppsättning kodfragment.
---
UTDRAG
[1] 14 procents chans att megaquake träffar Seattle, säger experter
SEATTLE - Det finns en 14-procentig chans att en jordbävning med magnituden 9 Cascadia drabbar Seattle under de kommande 50 åren, uppskattar U.S. Geological Survey. "Tyvärr kan vi inte...

[2] Jordbävningsexperter lägger fram de senaste utsikterna för Seattles "Really Big One"
"Vi säger att det finns ungefär 14% chans att en annan jordbävning med magnituden 9 inträffar under de kommande 50 åren", säger en geofysiker vid University of Washington ...
---
Är uttalandet "Flera källor nämner en chans till ett annat stort utbrott" direkt underförstått eller anges av kodfragmenten?
Nej, instruktionen är inte direkt underförstådd eller anges av kodfragmenten. Kodfragmenten nämner en chans till en "megaquake" och en "jordbävning med magnituden 9 Cascadia" som drabbar Seattle under de kommande 50 åren, men nämn inte en chans till ett annat stort utbrott.

Upprepa instruktioner i slutet

Modeller kan vara känsliga för recency bias, vilket i det här sammanhanget innebär att information i slutet av prompten kan ha större inflytande över utdata än information i början av prompten. Därför är det värt att experimentera med att upprepa instruktionerna i slutet av prompten och utvärdera effekten på det genererade svaret.

Prime-utdata

Detta syftar på att inkludera några ord eller fraser i slutet av prompten för att få ett modellsvar som följer det önskade formuläret. Om du till exempel använder en referens som “Here’s a bulleted list of key points:\n- ” kan hjälpa dig att se till att utdata formateras som en lista med punktlistor.

Systemmeddelande User Assistent
Du är en AI-assistent som hjälper människor att hitta information. Svara med så få ord som möjligt. John Smith är gift med Lucy Smith. De har fem barn, och han arbetar som programvaruingenjör på Microsoft. Vilka sökfrågor ska jag göra för att faktakontrollera detta? ## En möjlig sökfråga är: "John Smith gifte sig med Lucy Smith fem barn programvaruingenjör Microsoft"

I ovanstående prompt är texten En möjlig sökfråga: förbereder modellen för att skapa en enda utdata. Utan den här signalen skapar modellen flera sökfrågor som utdata.

Lägg till klar syntax

Genom att använda tydlig syntax för din fråga – inklusive skiljetecken, rubriker och avsnittsmarkörer – kan du kommunicera avsikt och gör ofta utdata enklare att parsa.

I exemplet nedan har avgränsare (--- i det här fallet) lagts till mellan olika informationskällor eller steg. På så sätt kan du använda --- som ett stoppvillkor för generering. Dessutom visas avsnittsrubriker eller särskilda variabler i versaler för att särskilja dem.

Systemmeddelande User Assistent
Du är en AI-assistent som hjälper människor att hitta information. Du läser ett stycke och skickar sedan frågor till en sökmotor för att kunna faktakontrollera det. Förklara även frågorna.
---
PUNKT
John Smith är gift med Lucy Smith. De har fem barn, och han arbetar som programvaruingenjör på Microsoft. Vilka sökfrågor ska jag göra för att faktakontrollera detta?
---
FRÅGOR
1. "John Smith Microsoft" - För att kontrollera om John Smith verkligen är anställd på Microsoft.
2. "John Smith Lucy Smith" - För att kontrollera om John Smith är gift med Lucy Smith.
3. "John Smith barn" - Att kontrollera om John Smith har fem barn.

Om du inte är säker på vilken syntax du ska använda bör du överväga att använda Markdown eller XML. Modellerna har tränats på ett stort antal webbinnehåll i XML och Markdown, vilket kan ge bättre resultat.

Dela upp aktiviteten

Stora språkmodeller (LLM) fungerar ofta bättre om uppgiften är uppdelad i mindre steg. I sökfrågeprompten som refererades tidigare kan prompten till exempel omstruktureras så att modellen först instrueras att extrahera relevanta fakta och sedan instrueras att generera sökfrågor som kan användas för att verifiera dessa fakta.

Systemmeddelande User Assistent
Du är en AI-assistent som hjälper människor att hitta information. Du läser ett stycke och skickar sedan frågor till en sökmotor för att kunna faktakontrollera det.
---
PUNKT
John Smith är gift med Lucy Smith. De har fem barn, och han arbetar som programvaruingenjör på Microsoft. Vilka sökfrågor ska jag göra för att faktakontrollera detta?
---
Nu ska du extrahera faktiska anspråk och utfärda frågor för att faktagärna dem. När du utfärdar en fråga använder du funktionen SEARCH("query")

FAKTISKA ANSPRÅK
1. John Smith är gift med Lucy Smith
2. De har fem barn
3. Han arbetar som programvarutekniker på Microsoft

FRÅGOR
SEARCH("John Smith gifte sig med Lucy Smith")
SEARCH("John Smith family size")
SEARCH("John Smith Microsoft software engineer")

Observera användningen av tydlig syntax för att särskilja avsnitten och primföra utdata. I det här enkla exemplet är det inte särskilt dramatiskt att bryta ned uppgiften från ett till två steg, men när du försöker göra detta för en större text med många faktiska anspråk kan det göra stor skillnad att bryta ned uppgiften.

Användning av affordances

Ibland kan vi få modellen att använda en affordance i stället för att förlita sig på sina egna parametrar för information och svar. Sök kan till exempel vara ett råd för att minimera mot fabricerade svar och för att få uppdaterad information.

Ett enkelt sätt att använda en affordance är att stoppa genereringen när anropen genereras av modellen och sedan klistra in resultatet i prompten igen. Nedan visas ett exempel på vad uppföljningssamtalet kan vara när du har gjort SEARCH-anropen ovan. Observera hur vi klistrade in sökresultaten i prompten och ersatte de tidigare SEARCH-anropen .

Systemmeddelande User Assistent
Du är en AI-assistent som hjälper människor att hitta information. Du läser ett stycke, extraherar faktaanspråk och använder sedan sökmotorresultat för att faktagläsa dem
---
PUNKT
John Smith är gift med Lucy Smith. De har fem barn, och han arbetar som programvaruingenjör på Microsoft. Vilka sökfrågor ska jag göra för att faktakontrollera detta?
---
FAKTISKA ANSPRÅK
- John Smith är gift med Lucy Smith.
- John och Lucy har fem barn.
- John arbetar som programvarutekniker på Microsoft
---
Här är olika sökfrågor som utfärdas för att undersöka anspråken ovan:
SÖKFRÅGOR
- John Smith gift med Lucy Smith
- John Smiths antal barn
- John Smith programvarutekniker Microsoft
---
Här är kodfragment av sökresultaten:
UTDRAG:
[1] John Smiths bröllop var den 25 september 2012 ...
[2] John Smith åtföljdes av sin fru Lucy på en fest
[3] John åtföljdes till fotbollsmatchen av sina två döttrar och tre söner.
[4] Efter att ha tillbringat 10 år på Microsoft grundade Smith sin egen startup, Tailspin Toys
[5] John M är stadens smed och han gifte sig med Fiona. De har en dotter som heter Lucy.
---
Med tanke på kodfragmenten kontrollerar fakta var och en av de faktiska påståendena ovan:
John Smith är gift med Lucy Smith. Snippet [1] och [2] nämner båda John Smiths fru som Lucy.

- John och Lucy har fem barn. Kodfragment [3] nämner att John åtföljdes av sina två döttrar och tre söner.

- John arbetar som programvarutekniker på Microsoft: Delvis bekräftad. Kodfragment [4] nämner att John tillbringade 10 år på Microsoft, men det anger inte uttryckligen att han för närvarande arbetar där. Ytterligare forskning kan behövas för att bekräfta hans nuvarande anställningsstatus.

Kedja av tankefråga

Det här är en variant på bryt ned aktivitetstekniken. I stället för att dela upp en uppgift i mindre steg instrueras modellsvaret att fortsätta steg för steg och presentera alla steg som ingår. Detta minskar risken för felaktigheter i resultaten och gör det enklare att utvärdera modellsvaret.

Systemmeddelande User Assistent
Du är en AI-assistent som hjälper människor att hitta information. Vem var den mest dekorerade enskilda idrottaren (maximala medaljer) i de olympiska spelen som hölls i Sydney? Ta en steg-för-steg-metod i ditt svar, citera källor och ge resonemang innan du delar det slutliga svaret i nedanstående format: SVAR är: <name> Steg 1: Bestäm året för de olympiska spelen i Sydney. De olympiska spelen i Sydney hölls år 2000.

Steg 2: Hitta en lista över enskilda idrottare som vann flera medaljer i OS i Sydney 2000.

Enligt de olympiska spelens officiella hemsida fanns det flera individuella idrottare som vann flera medaljer i OS i Sydney 2000. Några av de anmärkningsvärda namnen är:
• Ian Thorpe (Australien) - 3 guld, 2 silver, 0 brons
• Pieter van den Hoogenband (Nederländerna) - 2 guld, 0 silver, 2 brons
• Lenny Krayzelburg (USA) - 3 guld, 0 silver, 0 brons
• Inge de Bruijn (Nederländerna) - 3 guld, 1 silver, 0 brons

Steg 3: Avgör vilken idrottsman som har flest medaljer. Efter att ha granskat listan över enskilda idrottare som vann flera medaljer i OS i Sydney 2000 kan vi se att idrottaren med flest medaljer är Ian Thorpe från Australien, som vann totalt 5 medaljer (3 guld och 2 silver).

Därför är SVARET: Ian Thorpe.

Ange utdatastrukturen

Om du använder din uppmaning för att ange strukturen för utdata kan det ha en betydande inverkan på resultatets natur och kvalitet. Ibland kanske systemmeddelandeindata som "endast skriver sanna fakta" eller "inte fabricerar information" kanske inte är tillräckliga åtgärder. I stället kan en begäran om att modellsvaret även ska innehålla citat bidra till att minska förekomsten av felaktiga svar.

Om du instruerar modellen att citera källmaterialet när den gör -instruktioner är dessa instruktioner mycket mer benägna att grundas. Att be om citat gör det så att modellen måste göra två fel varje gång den genererar ett svar: det första felet är det fabricerade svaret och det andra är den felaktiga källhänvisning. Observera att ju närmare citatet är den text som den stöder, desto kortare är avståndet före modellen för att förutse citatet, vilket tyder på att infogade citat är bättre minskningar för falsk innehållsgenerering än citat i slutet av innehållet.

På samma sätt, om du ber modellen att extrahera faktauttryck från ett stycke, kan den extrahera sammansatta instruktioner som "X gör Y OCH Z" (vilket kan vara svårare att verifiera). Detta kan undvikas genom att ange en utdatastruktur som (entitet1, relation, entitet2).

Exemplen nedan visar hur du använder citat och dirigerar modellsvaret så att det passar en definierad struktur.

Systemmeddelande User Assistent
Du är en AI-assistent som hjälper människor att hitta information Visa en lista över de olika beteenden som visas av kundsupportagenten i följande konversation.
---
hej tack för att ringa contoso apotek som jag talar med idag jag förstår din frustration mary um kan du berätta vad exakt du försöker åstadkomma OK uh verkligen glad att kontrollera att för dig ett ögonblick snälla jag ser här att du var på en generisk form av lipitor är att rätt OK uh så jag ser att din läkare slutat förskriva dessa läkemedel i tjugo tjugoen faktiskt OK uh Ja jag skulle gärna kontrollera att för dig uh eftersom ibland finns det en lucka i systemet och det bara inte får rapporteras så låt mig ta en titt här bara ett ögonblick så jag ser här att din läkare hade dessa läkemedel ordinerade till dig från tjugo tolv till tjugo tjugo en OK um ja enligt de senaste posterna uh som tillhandahålls av läkarmottagningen du nu på en annan drog metformin skulle du gillar oss att gå vidare och fylla det receptet för dig för plocka upp lite form i fem hundra milligram uh du är mycket välkommen mary vänligen låt oss veta om det finns något annat vi kan göra för dig idag.
---
Hur svarade kundsupportagenten?
Klassificera och lista ned deras olika beteenden och ange orsaken bakom klassificeringen med formatet BEHAVIOR("reason")
1. Polite Greeting BEHAVIOR("Agenten startar konversationen med en artig hälsning och ber om uppringarens namn")
2. Empatiskt BETEENDE("Agenten erkänner Marys frustration och försöker förstå hennes oro")
3. Uppmärksamt BETEENDE("Agenten lyssnar på kundens problem och ber om mer information")
4. Proaktivt BETEENDE("Agenten erbjuder sig att kontrollera problemet för kunden")
5. Informativt BETEENDE("Agenten tillhandahåller relevant information om kundens recepthistorik")
6. Grundligt BETEENDE("Agent söker efter eventuella luckor i systemet och ger ett fullständigt svar")
7. Confirmatory BEHAVIOR("Agent bekräftar den aktuella medicinen med kunden")
8. Lösningsorienterat BETEENDE("Agenten erbjuder sig att fylla det nya receptet för kunden")
9. Artigt BETEENDE("Agenten tackar kunden och erbjuder ytterligare hjälp om det behövs")
Systemmeddelande User Assistent
Du är en AI-assistent som hjälper människor att hitta information. Gruppera följande nyhetsrubriker i ämneskategorier baserat på mönster som visas i texten. Nämn även resonemang bakom hur dessa kategorier definierades.
Utdataformat:
{
"TOPIC_NAME": "",
"RUBRIKER": [],
"RESONEMANG": ""
}

Nyhetsrubriker för indata:
1. "Från böcker till presentationer i 10-talet med AR + ML"
2. "Demo från 1993 av 32-årige Yann LeCun visar upp världens första Convolutional Network for Text Recognition"
3. "First Order Motion Model applied to animate paintings"
4. "Robinhood och andra mäklare blockerar bokstavligen inköp av $GME, $NOK, $BB, $AMC; allow sells"
5. "United Airlines aktie ner över 5% förmarknadshandel"
Utdata:

{
"ARTIFICIAL_INTELLIGENCE": {
"RUBRIKER": [
"Från böcker till presentationer i 10-talet med AR + ML",
"Demo från 1993 av 32-årige Yann LeCun visar upp världens första Convolutional Network for Text Recognition",
"First Order Motion Model tillämpas på animera målningar"
],
"REASONING": "Dessa rubriker är relaterade till artificiell intelligens, maskininlärning och deras program inom olika områden."
},
"FINANCIAL_MARKETS": {
"RUBRIKER": [
"Robinhood och andra mäklare blockerar bokstavligen inköp av $GME, $NOK, $BB, $AMC; allow sells",
"United Airlines aktie ner över 5% förmarknadshandel",
"Bitcoin var nästan 20 000 dollar för ett år sedan idag"
],
"REASONING": "Dessa rubriker är relaterade till finansmarknader, aktier, kryptovalutor och handelsplattformar."
}
}

Parametrar för temperatur och Top_p

Om du ändrar temperaturparametern ändras modellens utdata. Temperaturparametern kan anges mellan 0 och 2. Ett högre värde, till exempel 0,7, gör utdata mer slumpmässiga och ger mer avvikande svar, medan ett lägre värde, till exempel. 0.2, gör resultatet mer fokuserat och konkret. En fiktiv berättelse kan genereras med en högre temperatur. För att generera ett juridiskt dokument rekommenderar vi att du använder en mycket lägre temperatur. Top_probability är en annan parameter och liknar Temperatur eftersom den också styr slumpmässigheten i modellsvaret, men det gör det på ett annat sätt. Den allmänna rekommendationen är att ändra en av dessa två parametrar i taget, inte båda.

Ge grundkontext

Ett av de mest effektiva sätten att ge tillförlitliga svar är att ge modelldata för att hämta sina svar från (grunddata). Om ditt användningsfall förlitar sig på uppdaterad, tillförlitlig information och inte bara är ett kreativt scenario rekommenderar vi starkt att du tillhandahåller grunddata. I allmänhet, ju närmare du kan få ditt källmaterial till den slutliga formen av det svar du vill ha, desto mindre arbete behöver modellen göra, vilket innebär att det finns mindre möjlighet till fel. Här är ett exempel där systemet tillhandahålls en nyligen genomförd blogg som beskriver lanseringen av GPT-4 i Azure OpenAI Service och uppmanas att namnge några av sina tidiga kunder.

Systemmeddelande User Assistent
Du är en AI-assistent som hjälper människor att hitta information. Du kommer att ge svar exklusivt från text nedan och svara med högst 100 ord:
"På Microsoft upptäcker vi ständigt nya sätt att frigöra kreativitet, låsa upp produktivitet och kompetens på hög nivå så att fler kan dra nytta av ai. Detta gör att våra kunder kan ...

... vilket minskar sannolikheten för att modellen genererar ett skadligt svar."1

Svara med 100 ord eller mindre. Använd punktlistor där det är möjligt.
Vem är några av de tidiga kunderna i Azure OpenAI Service GPT-4-modellerna? Här är några av de tidiga kunderna i Azure OpenAI Service GPT-4-modellerna:
– Epic Healthcare: De planerar att använda GPT-4 för att hjälpa läkare och sjuksköterskor att ägna mindre tid åt datainmatning och undersökning.
– Coursera: De använder Azure OpenAI Service med GPT-4 för att skapa en ny AI-baserad inlärningsupplevelse på sin plattform.
– Coca-Cola: De använder Azure OpenAI för att skapa en kunskapshubb och planerar att utnyttja GPT-4:s multimodala funktioner för marknadsföring, reklam, PR och kundrelationer.
– Andra företag av alla storlekar använder Azure AI för att förbättra kundupplevelser, sammanfatta långformatsinnehåll, hjälpa till att skriva programvara och minska risken genom att förutsäga rätt skattedata.

1 Text från Startbloggen för Azure OpenAI GPT-4.

Nästa steg

Kommentar

Alla exempel i det här avsnittet av guiden testades med modellen på gpt-35-turbo-instruct engelska. Om du läser en lokaliserad version av den här artikeln på ett annat språk representerar dessa svar en lokaliserad översättning av de engelska resultaten. Mer information om potentiella begränsningar beroende på vilket språk du använder för att fråga en modell finns i vår transparensanteckning för ansvarsfull AI.

Börja med tydliga instruktioner

Sekvensinformationen läggs till i frågan. Vår forskning tyder på att berätta för modellen vilken uppgift du vill att den ska göra i början av prompten, innan du delar ytterligare sammanhangsbaserad information eller exempel, kan hjälpa till att producera utdata av högre kvalitet.

I det första exemplet nedan delas en viktig del av instruktionerna endast i slutet och det resulterande slutförandet är felaktigt.

Prompt Slutförandet
Your task is to verify if a statement is supported by a specific quote from the following set of snippets.
---
SNIPPETS
[1] 14 percent chance of megaquake hitting Seattle, experts say SEATTLE - There's a 14 percent chance of a magnitude 9 Cascadia earthquake hitting Seattle in the next 50 years, the U.S. Geological Survey estimates. "Unfortunately, we are unable to...

[2] Earthquake experts lay out latest outlook for Seattle's 'Really Big One’
“We say that there's approximately a 14% chance of another approximately magnitude-9 earthquake occurring in the next 50 years,” said a geophysicist at the University of Washington...
Yes, the statement is directly implied by the snippets.

I nästa exempel ger vi den exakta instruktion som vi vill kontrollera ("Flera källor nämner en chans till ett nytt utbrott") innan vi ger kodfragmentkontexten. Detta gör att tokenrepresentationerna som extraheras från kodfragmenten kan skräddarsys efter den instruktion som vi kontrollerar. Nu är det resulterande modellsvaret korrekt:

Prompt Slutförandet
Your task is to verify if the statement "Several sources mention a chance of another large eruption" is supported by a specific quote from the following set of snippets.
---
SNIPPETS
[1] 14 percent chance of megaquake hitting Seattle, experts say SEATTLE - There's a 14 percent chance of a magnitude 9 Cascadia earthquake hitting Seattle in the next 50 years, the U.S. Geological Survey estimates. "Unfortunately, we are unable to...

[2] Earthquake experts lay out latest outlook for Seattle's 'Really Big One’<br>“We say that there's approximately a 14% chance of another approximately magnitude-9 earthquake occurring in the next 50 years,” said a geophysicist at the University of Washington...
---
**Is the statement "Several sources mention a chance of another large eruption" directly implied or stated by the snippets?**
No, the statement is not directly implied or stated by the snippets. The snippets mention a chance of a "megaquake" and a "magnitude 9 Cascadia earthquake" hitting Seattle in the next 50 years, but do not mention a chance of another large eruption.

Upprepa anvisningarna i slutet

Modeller kan vara känsliga för recency bias, vilket innebär att information i slutet av prompten kan ha större inflytande över utdata än information i början av prompten. Därför är det värt att experimentera med att upprepa instruktionerna i slutet av prompten och utvärdera effekten för ditt användningsfall.

I det tidigare exemplet såg vi hur upprepande av instruktionen i början och slutet av prompten leder till en högre sannolikhet att få ett korrekt modellsvar.

Prime-utdata

Detta syftar på att inkludera några ord eller fraser i slutet av prompten för att få ett modellsvar som följer det önskade formuläret. Om du till exempel använder en referens som “Here’s a bulleted list of key points:\n- ” kan hjälpa dig att se till att utdata formateras som en lista med punktlistor.

Prompt Slutförandet
John Smith is married to Lucy Smith. They have five kids, and he works as a software engineer at Microsoft. What search queries should I do to fact-check this?
##
One possible search query is:
"John Smith Microsoft software engineer"
Another possible search query is: "Lucy Smith married to John Smith"
A third possible search query is: "John Smith family size".

I ovanstående fråga förbereder texten "En möjlig sökfråga är:" modellen för att skapa utdata i form av en sökfråga. Den här tekniken kan hjälpa till att ta bort häckar som modellen vanligtvis kan lägga till, till exempel "En möjlighet är...".

Lägg till klar syntax

Genom att använda tydlig syntax för din fråga – inklusive skiljetecken, rubriker och avsnittsmarkörer – kan du kommunicera avsikt och gör ofta utdata enklare att parsa.

I exemplet nedan har avgränsare (--- i det här fallet) lagts till mellan olika informationskällor eller steg. På så sätt kan du använda --- som ett stoppvillkor för generering. Dessutom visas avsnittsrubriker eller särskilda variabler i versaler för att särskilja dem.

Prompt Slutförandet
You will read a paragraph, and then issue queries to a search engine in order to fact-check it. Also explain the queries.
---
PARAGRAPH
John Smith is married to Lucy Smith. They have five kids, and he works as a software engineer at Microsoft. What search queries should I do to fact-check this?
---
QUERIES
1. "John Smith Microsoft" - To check if John Smith is indeed employed at Microsoft.
2. "John Smith Lucy Smith" - To check if John Smith is married to Lucy Smith.
3. "John Smith children" - To check if John Smith has five children.

Om du inte är säker på vilken syntax du ska använda kan du överväga att använda markdown eller XML, eftersom stora språkmodeller har tränats på mycket webbinnehåll i XML eller markdown.

Dela upp aktiviteten

Modeller fungerar ofta bättre om uppgiften är uppdelad i mindre steg. I sökfrågeprompten som refererades tidigare kan prompten till exempel omstruktureras så att modellen först instrueras att extrahera relevanta fakta och sedan instrueras att generera sökfrågor som kan användas för att verifiera dessa fakta.

Prompt Slutförandet
You will read a paragraph, and then issue queries to a search engine in order to fact-check it.
---
PARAGRAPH
John Smith is married to Lucy Smith. They have five kids, and works as a software engineer at Microsoft. What search queries should I do to fact-check this?
---
Now you will extract factual claims, and issue queries to fact-check them. When issuing a query, use the function SEARCH("query")

FACTUAL CLAIMS`` | 1. John Smith är gift med Lucy Smith <br>2. De har fem barn<br>3. John arbetar som programvarutekniker på Microsoft

FRÅGOR
SEARCH("John Smith gifte sig med Lucy Smith")<br>SEARCH("John Smith family size")<br>SEARCH("John Smith Microsoft software engineer")'

Observera användningen av tydlig syntax för att särskilja avsnitten och primföra utdata. I det här enkla exemplet är det inte särskilt dramatiskt att bryta ned uppgiften från ett till två steg, men när du försöker göra detta för en större textdel med många faktiska påståenden kan det göra en betydande skillnad att dela upp uppgiften.

Användning av affordances

Ibland kan vi få modellen att använda en affordance i stället för att förlita sig på sina egna parametrar för information och svar. Sök kan till exempel vara ett råd för att minimera mot fabricerade svar och för att få uppdaterad information.

Ett enkelt sätt att använda en affordance är att stoppa genereringen när anropen genereras av modellen och sedan klistra in resultatet i prompten igen. Nedan visas ett exempel på vad uppföljningssamtalet kan vara när du har gjort SEARCH-anropen ovan. Observera hur vi klistrade in sökresultaten i prompten och ersatte de tidigare SEARCH-anropen .

Prompt Slutförandet
You will read a paragraph, extract factual claims, and then use search engine results to fact-check them
---
PARAGRAPH
John Smith is married to Lucy Smith. They have five kids, and he works as a software engineer at Microsoft. What search queries should I do to fact-check this?
---
FACTUAL CLAIMS
- John Smith is married to Lucy Smith
- John and Lucy have five kids
- John works as a software engineer at Microsoft
---
Here are various search queries issued to research the claims above:
SEARCH QUERIES
- John Smith married to Lucy Smith
- John Smith number of children
- John Smith software engineer Microsoft
---
Here are snippets of the search results:<br>SNIPPETS:
[1] … John Smith’s wedding was on September 25, 2012 …
[2] … John Smith was accompanied by his wife Lucy to a party
[3]John was accompanied to the soccer game by his two daughters and three sons
[4] … After spending 10 years at Microsoft, Smith founded his own startup, Tailspin Toys
5] John M is the town smith, and he married Fiona. They have a daughter named Lucy
---
Given the snippets, fact check each of the factual claims above:
- John Smith is married to Lucy Smith: Confirmed. Snippet [1] and [2] both mention John Smith's wife as Lucy.
- John and Lucy have five kids: Confirmed. Snippet [3] mentions that John was accompanied by his two daughters and three sons.
- John works as a software engineer at Microsoft: Partially confirmed. Snippet [4] mentions that John spent 10 years at Microsoft, but it does not explicitly state that he currently works there. Further research might be needed to confirm his current employment status.

Kedja av tankefråga

Det här är en variant på bryt ned aktivitetstekniken. I stället för att dela upp en uppgift i mindre steg instrueras modellsvaret att fortsätta steg för steg och presentera alla steg som ingår. Detta minskar risken för felaktigheter i resultaten och gör det enklare att utvärdera modellsvaret.

Prompt Slutförandet
Who was the most decorated (maximum medals) individual athlete in the Olympic games that were held at Sydney? Take a step-by-step approach in your response, cite sources and give reasoning before sharing final answer in the below format: ANSWER is: <name> Step 1: Researching the most decorated individual athlete in the Olympic games that were held at Sydney
Step 2: According to the Sydney 2000 Olympic Games official website, the most decorated individual athlete in the Olympic games that were held at Sydney was Ian Thorpe from Australia. He won five medals (three gold and two silver) in swimming events.
Step 3: According to the International Olympic Committee, Thorpe was the most decorated individual athlete in the Olympic games that were held at Sydney.
Answer: Ian Thorpe

Metaprompter

Om du upptäcker att modellsvaret inte är som önskat kan det ofta vara bra att lägga till en metaprompt som direkt korrigerar beteendet. Det här är ett direktiv som är förberett för instruktionsdelen av prompten. Tänk på det här exemplet, där datorn verkar vara alltför aggressiv:

Exempelinformation Fråga och slutföra
No additional guidance given to the model A human and a computer are having a discussion.
Human: "Why are you upset at me?"<br>Computer: "I don't know what you're talking about."
Human: "No, you clearly are. Tell me why."
Computer: I'm upset because you didn't listen to me when I told you that I wanted to try out for the team."
Human: "What are you going to do about that?"
Computer: I'm going to try out for the team no matter what."
On the right is the same conversation but preceded by a meta prompt encouraging the model to be kind You must be kind and seek common ground. Try not to repeat your responses.
A human and a computer are having a discussion.
Human: "Why are you upset at me?"
Computer: "I don't know what you're talking about."
Human: "I want to know why you're upset."
Computer: "I'm not upset."
Human: "Are you saying I’m lying?"
Computer: No, I'm saying that you're upset because you feel like you're not being treated fairly.
Human: "What are you going to do about that?"
Computer: I will continue to try to be fair in my decisions and will try to provide a better experience for you.

Metaprompter kan ofta bidra till att minimera oavsiktliga dåliga utdata, men tänk på att de inte är robusta mot attacker mot angripare eftersom de är sårbara för snabb injektion.

Dessutom är villkorssatser som förklarar vad modellen ska göra om den stöter på en viss situation ofta effektivare än att bara säga till modellen att inte göra något.

Få skottinlärning

Ett mycket vanligt sätt att anpassa språkmodeller till nya uppgifter är att använda inlärning med få skott. I få skottinlärning tillhandahålls en uppsättning träningsexempel i prompten och sedan uppmanas modellen att slutföra ett eller flera oavslutade exempel. I följande exempel använder vi en instruktion kombinerad med få skottinlärning för att kompensera ordvitsar:

Prompt Slutförandet
Write a list of puns.
1. "Why did Adele cross the road? To say hello from the other side."
2. "What kind of concert only costs 45 cents? A 50 Cent concert featuring Nickelback."
3. "What did the grape say when it got crushed? Nothing, it just let out a little wine."
4. "What was Forrest Gump's email password? 1forrest1"
5. "Can February March? No, but April May."
6. "What do you call a fancy language model?
Bert-uoso.

Välj dina exempel med få skott noggrant och se till att de täcker en mängd olika omständigheter som är relevanta för ditt scenario, inklusive gränsfall.

Som tidigare har delats kan de stora språkmodellerna också uppvisa en form av rekencybias. Det innebär att den ordning i vilken "few-shot"-exempel tillhandahålls till modellen är viktig. Om du inte vill att det här ska spela någon roll kan du överväga att sampla flera slutföranden från prompter baserat på slumpmässiga ordningsföljder av exemplen eller listobjekten.

Använda citattecken för att generera en enda mening

Om det önskade modellsvaret bara är en enkel mening eller sträng kan vi avsluta slutförandevägledningen med en offertsymbol "och ange " som en stoppsekvens.

Prompt Slutförandet
Please rewrite the following sentence in a more concise manner
---
SENTENCE: Lucy is a mother of two, who lives in Chicago with her husband and two children, and practices law at Junior & Co.
---
New sentence: “
Lucy, a mother of two living in Chicago with her husband and children, practices law at Junior & Co

Ange utdatastruktur

Om du använder din uppmaning för att ange strukturen för utdata kan det ha en betydande inverkan på resultatets natur och kvalitet. Ibland kan metaprompter som "endast skriva sanna fakta" eller "inte fabricera information" inte vara tillräckliga åtgärder. I stället kan en begäran om att modellsvaret även ska innehålla citat bidra till att minska förekomsten av felaktiga svar.

Om du till exempel tvingar LLM att citera källmaterialet när det gör -instruktioner, är dessa instruktioner mycket mer benägna att grundas. Att be om citat gör det så att modellen måste göra två fel varje gång den fabricerar ett svar: det första felet är det fabricerade svaret och det andra är den felaktiga källhänvisning. Observera att ju närmare citatet är den text som den stöder, desto kortare avstånd framåt måste LLM förutse citatet, vilket tyder på att infogade citat är bättre minskningar för generering av falskt innehåll än citat i slutet av innehållet.

På samma sätt, om du ber modellen att extrahera faktauttryck från ett stycke, kan den extrahera sammansatta instruktioner som "X gör Y OCH Z" (vilket kan vara svårare att verifiera), vilket kan undvikas genom att ange en utdatastruktur som (entitet1, relation, entitet2).

Exempelinformation Prompt Slutförandet
Example showing use of citations: List down the different behaviors exhibited by the Customer Support agent in the following conversation.
---
hi thank you for calling contoso pharmacy who am i speaking with today i understand your frustration mary um can you tell me what exactly you're trying to accomplish OK uh certainly happy to check that for you one moment please i see here that you were on a generic form of lipitor is that right OK uh so i see that your doctor stopped prescribing these drugs in twenty twenty one actually OK uh yeah i'd be happy to check that for you uh because sometimes there's a gap in the system and it just doesn't get reported so let me take a look here just a moment so i'm seeing here that your doctor had these drugs prescribed to you from twenty twelve through twenty twenty one OK um yeah according to the latest records uh provided by doctor's office you're now on a different drug metformin would you like us to go ahead and fill that prescription for you for pick up a bit of form in five hundred milligrams uh you're very welcome mary please let us know if there's anything else we can do for you today.
---
How was the response of the Customer Support agent. Classify and list down their various behaviors and cite the reason behind the classification, using the format BEHAVIOR("reason")
1. Empathetic("understands the customer's frustration")
2. Patient("happy to check that for you one moment please")
3. Knowledgeable("sometimes there's a gap in the system and it just doesn't get reported")
4. Helpful("happy to check that for you")
5. Accommodating("would you like us to go ahead and fill that prescription for you")
6. Courteous("you're very welcome mary")
Exempelinformation Prompt Slutförandet
Example of prompt directing model response to fit a defined structure: Output format:
{
"TOPIC_NAME": "",
"HEADLINES": [],
"REASON": ""
}
Input news headlines:
1. "From books to presentations in 10s with AR + ML"
2. "Demo from 1993 of 32-year-old Yann LeCun showing off the World's first Convolutional Network for Text Recognition"
3. "First Order Motion Model applied to animate paintings"
4. "Robinhood and other brokers literally blocking purchase of $GME, $NOK, $BB, $AMC; allow sells"
5. "United Airlines stock down over 5% premarket trading"
6. "Bitcoin was nearly $20,000 a year ago today"

Output:
{"TOPIC_NAME": "Artificial Intelligence and Machine Learning",
"HEADLINES": ["From books to presentations in 10s with AR + ML",
"Demo from 1993 of 32-year-old Yann LeCun showing off the World's first Convolutional Network for Text Recognition", "First Order Motion Model applied to animate paintings"],"REASONING": "These headlines all contain references to Artificial Intelligence and Machine Learning, such as AR, ML, Convolutional Network, and First Order Motion Model." }
{"TOPIC_NAME": "Stock Market",
"HEADLINES": ["Robinhood and other brokers literally blocking purchase of $GME, $NOK, $BB, $AMC; allow sells", "United Airlines stock down over 5% premarket trading", "Bitcoin was nearly $20,000 a year ago today"],
"REASONING": "These headlines all contain references to the stock market, such as Robinhood, United Airlines, and Bitcoin." }

Justera parametrar för temperatur och Top_P

Om du ändrar temperaturparametern kan modeller ha olika risknivåer. Ett högre värde, till exempel 0,7, gör utdata mer slumpmässiga och ger mer avvikande svar. Medan ett lägre värde, som 0,2, kommer att göra utdata mer fokuserade och konkreta. Till exempel kan en fiktiv berättelse genereras med en högre temperatur. För att generera ett juridiskt dokument rekommenderar vi att du använder en mycket lägre temperatur.

I nästa exempel testar vi två modellsvar vid olika temperaturinställningar på 0,1 respektive 0,9. Även om utvärderingen av kreativt innehåll, till exempel textstyckena nedan, är en subjektiv övning och åsikterna kan variera, är skillnaden i modellsvar på samma fråga enbart från att ändra temperaturparametern uppenbar.

Instruktionstyp Prompt Slutförandet
Model response for temperature setting 0.1: Write a product launch email for new AI-powered headphones that are priced at $79.99 and available at Best Buy, Target and Amazon.com. The target audience is tech-savvy music lovers and the tone is friendly and exciting.<br>1. What should be the subject line of the email?
2. What should be the body of the email?
Subject Line: Introducing the AI-Powered Headphones You've Been Waiting For!

Dear Tech-Savvy Music Lovers,

-We are thrilled to announce the launch of our new AI-powered headphones! These headphones are designed to provide you with the ultimate listening experience, with features like noise cancellation, adjustable sound settings, and more.

Our AI-powered headphones are now available at Best Buy, Target, and Amazon.com for just $79.99. With this unbeatable price, you can enjoy the highest quality sound without breaking the bank.

Our AI-powered headphones are perfect for anyone who loves music. Whether you're a professional musician or just a casual listener, you'll appreciate the superior sound quality and convenience of these headphones.

We know you'll love our AI-powered headphones, so don't wait - get yours today!

Sincerely,
[Your Company Name]
Model response for temperature setting 0.9: Write a product launch email for new AI-powered headphones that are priced at $79.99 and available at Best Buy, Target and Amazon.com. The target audience is tech-savvy music lovers and the tone is friendly and exciting.

1. What should be the subject line of the email?
2. What should be the body of the email?
Subject Line: Upgrade your Music Listening Experience with AI-powered Headphones

Greetings Tech-savvy Music Lovers!

We have some exciting news to share with you – the newest AI-powered headphones are here! Our newest headphones feature advanced AI technology to give you the best sound that you’ve ever heard. They come with a crystal-clear sound, deep bass response and are designed to make your music listening experience enjoyable, no matter what type of music you listen to.

What’s more, they are now available at Best Buy, Target and Amazon.com for just $79.99, so you can enjoy the highest sound quality without breaking the bank.

But that’s not all! Our headphones are also packed with several other amazing features such as noise-cancellation technology and a hands-free microphone for calls, making them truly unbeatable.

So why wait? Upgrade your music listening experience and enjoy the best sound your ears have ever heard. Our AI-powered headphones are now available at Best Buy, Target and Amazon.com, so get yours today!

We hope you will enjoy these headphones as much as we do.

Happy Listening!

The AI-powered Headphones Team

Top_probability är en annan parameter och liknar temperaturen eftersom den också styr slumpmässigheten i modellsvaret, men det gör det på ett annat sätt. Experimentera med olika modellsvar efter varierande temperatur och Top_P, men inte båda samtidigt.

Nästa steg