Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Dessa tekniker rekommenderas inte för resonemangsmodeller som gpt-5- och o-seriemodeller.
Snabb konstruktion kan vara svårt. I praktiken hjälper promptakterna modellen att slutföra den önskade uppgiften, men det är mer av en konst än en vetenskap, som ofta kräver erfarenhet och intuition för att skapa en lyckad uppmaning. Målet med den här artikeln är att hjälpa dig att komma igång med den här inlärningsprocessen. Den försöker samla in allmänna begrepp och mönster som gäller för alla GPT-modeller. Det är dock viktigt att förstå att varje modell beter sig annorlunda, så inlärningarna kanske inte gäller lika för alla modeller.
Grundläggande
Det här avsnittet beskriver de grundläggande begreppen och elementen i GPT-frågor.
Textprompter är hur användare interagerar med GPT-modeller. Precis som med alla generativa språkmodeller försöker GPT-modeller producera nästa serie ord som är mest sannolika att följa från föregående text. Det är som om vi säger Vad är det första du tänker på när jag säger <prompt>? Exemplen nedan visar det här beteendet. Med tanke på de första orden i det berömda innehållet kan modellen korrekt fortsätta texten.
| Omedelbar | Slutförande |
|---|---|
| För fyra poäng och sju år sedan | Våra fäder skapade på denna kontinent en ny nation, född i frihet och tillägnad principen att alla människor är skapade lika. […] |
| "Kalla mig Ishmael." | "För några år sedan , oavsett hur länge exakt- med lite eller inga pengar i min väska, och inget särskilt att intressera mig på land, trodde jag att jag skulle segla omkring lite och se den vattniga delen av världen." […] |
När du utvecklar mer komplexa frågor är det bra att ha det här grundläggande beteendet i åtanke. Oavsett vilken uppmaning som tillhandahålls svarar modellen helt enkelt med vad den anser är mest sannolikt (med tanke på dess träningsdata och träningsmål). Om du ställer en fråga i din prompt följer modellen inte en separat "Q&A"-kodväg, utan den verkar snarare svara på frågan eftersom ett svar är den mest sannolika typen av respons för den givna frågan som indata.
Komponenter i prompten
När du använder API:et För slutförande medan det inte finns någon differentiering mellan olika delar av prompten kan det fortfarande vara användbart för inlärning och diskussion att identifiera underliggande promptkomponenter. Med API:et för chattens slutförande finns det distinkta avsnitt i prompten som skickas till API:et i form av en matris med ordlistor med associerade roller: system, användare och assistent. Den här vägledningen fokuserar mer generellt på hur du tänker på snabb konstruktion i stället för att ge normativ vägledning som är specifik för ett API framför ett annat.
Det är också viktigt att förstå att även om det kan finnas andra giltiga sätt att analysera uppmaningar, är målet med denna uppdelning att erbjuda ett relativt enkelt sätt att överväga uppmaningskonstruktion. Med API:et För slutförande är alla komponenter valfria, men minst en måste finnas och de flesta uppmaningar innehåller mer än en komponent. Det kan också finnas en gråzon mellan komponenterna. Ordningen nedan motsvarar ungefär hur ofta varje komponent används, från de flesta till minst.
Instruktion
Instruktioner är troligen den vanligaste promptkomponenten. Instruktioner är helt enkelt instruktioner till modellen om vad den ska göra. Även om de är enkla i konceptet kan de vara komplexa i praktiken. Följande tabell illustrerar detta genom att visa både enkla och mer komplexa instruktioner i två olika former.
| Instruktionstyp | Omedelbar | Slutförande |
|---|---|---|
| Enkla instruktioner | Skriv en introduktion till ett veckobrev. | Välkommen till vårt veckovisa nyhetsbrev. Den här veckan har vi ett särskilt fokus på produktivitet. Vi kommer att dela tips och tricks om hur du är produktiv inom alla delar av ditt liv. Vi hoppas att du tycker om och vänligen dela med dina vänner! |
| Komplexa instruktioner | Skriv en introduktion till ett veckobrev till mitt företag med namnet Contoso. Det borde nämna det stora all hands-mötet vi hade förra veckan och tacka laget för allt deras hårda arbete under de tuffa senaste månaderna. | Välkommen till Contosos veckobrev! Vi hade ett bra all hands-möte förra veckan och jag vill tacka laget för allt deras hårda arbete under de tuffa senaste månaderna. Vi ser fram emot en ljus framtid och jag är övertygad om att vi med vårt teams engagemang och hängivenhet kommer att uppnå fantastiska saker. Tack för att du är en del av vårt team och jag ser fram emot att arbeta med er alla under de kommande veckorna och månaderna. Uppriktigt, [Ditt namn]. |
| Komplexa instruktioner | Skriv en introduktion till ett veckobrev, inklusive följande: - Mitt företag heter contoso - En sprudlande hälsning - Tacka laget för deras hårda arbete under ett par tuffa månader - Positiva utsikter för det kommande kvartalet - Signerad av SLT |
Hej Contoso-teamet! Jag ville ta en stund att tacka dig för allt ditt hårda arbete under de senaste månaderna. Det har varit ett par tuffa månader, men ni har alla gått samman och gjort ett fantastiskt jobb. Jag är verkligen stolt över er alla. Inför nästa kvartal känner jag mig riktigt positiv. Jag tror att vi kommer att uppnå några bra saker. Tack igen, den seniora ledningsgruppen. |
Primärt innehåll
Primärt innehåll refererar till någon form av text som bearbetas eller transformeras av modellen. Primärt innehåll används vanligtvis tillsammans med instruktioner. Ett enkelt exempel är språköversättning. I exemplet nedan betraktas den engelska texten som primärt innehåll medan "Översätt till franska:" är en instruktion.
| Omedelbar | Slutförande |
|---|---|
| Kan du berätta hur jag kommer till museet? Översätt till franska: |
Pouvez-vous s'il vous plaît me dire comment aller au musée? |
Primärt innehåll kan också vara mycket längre. I följande exempel är det primära innehållet introduktionsavsnittet från Wikipedia-posten om tidskomplexitet, som är nästan 300 ord långt. Det här innehållet förkortas i vår tabell för att underlätta visning.
| Omedelbar | Slutförande |
|---|---|
| Inom datavetenskap är tidskomplexiteten den beräkningskomplexitet som beskriver hur lång tid det tar att köra en algoritm. Tidskomplexitet uppskattas ofta av [...] Sammanfatta föregående text i några meningar: |
Tidskomplexitet är ett mått på hur lång tid en algoritm tar att köra. Det uttrycks vanligtvis som en funktion av indatastorleken. Det vanligaste måttet är komplexiteten i värsta fall, vilket är den maximala tid som krävs för indata av en viss storlek. |
Inom datavetenskap är tidskomplexiteten den beräkningskomplexitet som beskriver hur lång tid det tar att köra en algoritm. Tidskomplexitet uppskattas ofta av [...]TL;DR (Det gick inte att läsa för länge) |
Tidskomplexiteten för en algoritm är hur lång tid det tar att köra en algoritm. Tidskomplexitet uppskattas ofta genom att räkna antalet elementära åtgärder som utförs av algoritmen, vilket innebär att varje elementär åtgärd tar en fast tid att utföra. Tidskomplexiteten uttrycks vanligtvis som en funktion av indatastorleken. |
GPT-modeller kan också hantera primärt innehåll som är strukturerat. I exemplet nedan skickas en TSV om öl i Belgien (förkortat för visning i den här artikeln) till modellen som en del av prompten. Den kan tolka innehållet korrekt och svara på frågor om data.
| Omedelbar | Slutförande |
|---|---|
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%[…] Hur många öl är mindre än 6 % ABV i tabellen ovan? |
Det finns 10 öl i tabellen som är mindre än 6 % ABV. |
Exempel
Lyckade uppmaningar förlitar sig ofta på metoder som "one-shot" eller "few-shot"-inlärning. Detta syftar på införandet av ett eller flera exempel på modellens önskade beteende, vanligtvis genom att inkludera indata- och utdatapar. Detta är inte att lära sig i den meningen att modellen ändras permanent, utan snarare att exemplen bättre villkorar modellen att svara som önskat för endast den aktuella slutsatsdragningen. Användningen av prompter utan exempel kallas ibland "nollskottsinlärning". Observera att med Chat Completion API läggs exempel för få-shot lärande vanligtvis till i meddelandearrayen i form av användar-/assistentinteraktioner efter det första systemmeddelandet.
| Utbildningstyp | Omedelbar | Slutförande |
|---|---|---|
| Nollskott | Rubrik: Tränaren säker på att skadan inte kommer att hindra Warriors Ämne: |
Tränaren är övertygad om att skadan inte kommer att spåra ur Warriors säsong. Teamet är fortfarande fokuserat på sina mål och att de kommer att fortsätta att arbeta hårt för att uppnå dem. |
| Få skott | Rubrik: Twins-spelaren Correa utnyttjar klausulen för att lämna kontraktet, testar free agency. Ämne: Baseball Rubrik: Qatar-VM ska ha zoner för nyktrande Ämne: Fotboll Rubrik: Yates: Fantasy football intel för vecka 6 Ämne: Fotboll Rubrik: Tränaren säker på att skadan inte kommer att hindra Warriors Ämne: |
Basket |
Exemplet ovan illustrerar användbarheten av few-shot-lärande. Utan exemplen verkar modellen gissa på önskat beteende, medan exemplen visar modellen hur den ska fungera. Detta visar också kraften i modellen, den kan härleda den kategori av etikett som önskas, även utan en "basketboll"-etikett i exemplen.
Signal
Signaler fungerar som "jumpstart" för modellens utdata, vilket hjälper till att dirigera modellen till önskade utdata. Det är ofta ett prefix som modellen kan bygga vidare på. I exemplet nedan visar vi den referens som leder berättelsen till att inkludera viktiga element. Tips används ofta tillsammans med instruktioner, men inte alltid. I exemplen nedan används modellen för att sammanfatta ett långt e-postmeddelande. En referens används i ett fall för att fokusera modellens utdata och för att föreslå ett specifikt utdataformat (punktlistor) i det andra.
I kontexten för Chat Completion API tar instruktioner formen av ett systemmeddelande, och få-shot-exempel anges genom att tillhandahålla en serie exempelinteraktioner mellan användare och assistent för att förbereda modellen.
| Antal ledtrådar | Omedelbar | Slutförande |
|---|---|---|
| 0 | Prestandagranskningar är en viktig del av vår metod för prestanda och utveckling på Contoso. […] Sammanfatta e-postmeddelandet ovan: |
Syftet med det här e-postmeddelandet är att informera anställda om de senaste ändringarna i prestandagranskningsupplevelsen, som är en del av Contosos metod för prestanda och utveckling. Ändringarna omfattar en förbättrad struktur, uppgraderad användarupplevelse i verktyget och fokuserade frågor. Dessutom finns det nu ett valfritt avsnitt för konversationsstartare där anställda kan flagga ämnen som de vill diskutera med sina chefer. |
| 1 | Prestandagranskningar är en viktig del av vår metod för prestanda och utveckling på Contoso. […] Sammanfatta e-postmeddelandet ovan: Meddelandets viktigaste slutsats är |
Att Contoso förbättrar prestandagranskningsupplevelsen genom att göra den mer fokuserad på kärnprioriteringar, förväntningar och påverkan. Dessutom uppgraderar de användarupplevelsen i verktyget med tips, resurser och vägledning. Slutligen lägger de till vägledning om hur du aktiverar huvudprioriteringar för hela företaget. |
| 2 | Prestandagranskningar är en viktig del av vår metod för prestanda och utveckling på Contoso. […] Sammanfatta e-postmeddelandet ovan: Viktiga punkter: • |
Contoso introducerar ändringar i prestandagranskningsupplevelsen baserat på feedback från anställda. • Ändringarna omfattar ett nytt fokus på huvudprioriteringar, förväntningar och påverkan. en uppgraderad användarupplevelse. och ny vägledning om huvudprioriteringar för hela företaget. • Prestandagranskningar är en tid att reflektera över tidigare resultat och lärande samt planera för framtida prioriteringar och tillväxtmöjligheter. • Anställda och chefer bör skriva kommentarer inför prestationsgranskningsmötet. • Det bör finnas minst två prestandagranskningar per år. • Den tidsinvesteringen för varje översyn bör vara ungefär densamma. |
Ytterligare innehåll
Stöd för innehåll är information som modellen kan använda för att påverka utdata på något sätt. Det skiljer sig från primärt innehåll eftersom det inte är huvudmålet för uppgiften, men det används vanligtvis tillsammans med primärt innehåll. Vanliga exempel är sammanhangsbaserad information, till exempel aktuellt datum, namnet på användaren, användarinställningar och så vidare. Exemplet nedan använder stödinnehåll för att organisera en uppsättning planerade workshops för användaren. Utan de stödjande (viktiga ämnena) listar modellen helt enkelt bort workshops (trunkerade för visning), när de informeras om mina viktiga ämnen kan modellen korrekt gruppera mötena.
| Stöd för innehåll | Omedelbar | Slutförande |
|---|---|---|
| Utan | Workshoplista: Rubrikbeskrivning Planering Workshop Kickoff Vänligen följ med oss för att starta vår workshop! Hör våra ledare om prioriteringar och lärdomar mellan grupper för det kommande året. Inbjudan till denna händelse har redan skickats till alla i [...] Sammanfatta workshoparna ovan, grupperade efter ämne: |
Workshoplista: Uppstartsmöte för planeringsworkshop -Planeringsverkstad Sammanfattning - Core MeetUp – Kunddrivna perspektiv -Effekt och viktiga fokusområden -Metodtips -Påskynda appanvändning [...] |
| Med | Workshoplista: Rubrikbeskrivning Planering Workshop Kickoff Vänligen följ med oss för att starta vår workshop! Hör våra ledare om prioriteringar och lärdomar mellan grupper för det kommande året. Inbjudan till denna händelse har redan skickats till alla i [...] Mina viktiga ämnen: anpassad utveckling, sökning, GPT-modeller Sammanfatta workshoparna ovan, grupperade efter mina viktiga ämnen: |
1. Promptutveckling – Nya tekniska tips - Konsten att utforma prompts 2. Sök: -Introduktion till vektorsökning med inbäddning 3. GPT-modeller: - Introduktion till GPT-4 - GPT-35-Turbo på djupet. |
Scenariospecifik vägledning
Teknikerna i det här avsnittet 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.
Anmärkning
Alla exempel i det här avsnittet av guiden har testats mot en grundläggande GPT-4-modell på engelska. Vissa tekniker kan ge olika resultat med nyare modeller som gpt-4o och gpt 4.5. 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.
Få-exempelinlärning
Ett vanligt sätt att anpassa språkmodeller till nya uppgifter är att använda inlärning med få skott. I få-exempel-inlärning tillhandahålls en uppsättning träningsexempel som en del av instruktionen 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 måste jag lämna in min deklaration?" 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 chattscenarion
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 | Användare | 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 du ringer contoso apotek vem talar jag med idag jag förstår din frustration mary kan du berätta vad exakt du försöker få gjort OK verkligen glad att kontrollera det för dig ett ögonblick snälla jag ser här att du var på en generisk form av lipitor är det rätt OK så jag ser att din läkare slutade förskriva dessa läkemedel tjugo tjugoett faktiskt OK ja jag skulle gärna kontrollera det för dig eftersom ibland finns det en lucka i systemet och det bara inte rapporteras så låt mig ta en titt här ett ögonblick så jag ser här att din läkare ordinerade dessa läkemedel till dig från tjugo tolv till tjugo tjugoett OK ja enligt de senaste register som tillhandahålls av läkarmottagningen är du nu på ett annat läkemedel metformin skulle du vilja att vi utfärdar det receptet för dig för att hämta ut fem hundra milligram metformin 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. | Sentimentbetyg: 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 som visas i uppmaningen spelar roll. 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.
Anmärkning
Ä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. I exemplet nedan ser vi att genom att lägga till uttalandet "Flera källor ... utbrott" i början eller slutet av prompten inte orsaka någon förändring i den slutliga modellen svar.
| Systemmeddelande | Användare | 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, uttalandet är inte direkt underförstått eller anges av fragmenten. Kodfragmenten nämner en chans till en "megaquake" och en "Cascadia-jordbävning med magnitud 9" som kan drabba Seattle under de kommande 50 åren, men nämner inte en chans för 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. Till exempel kan en signal såsom “Here’s a bulleted list of key points:\n- ” hjälpa dig att se till att utdata formateras som en lista med punkter.
| Systemmeddelande | Användare | 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 | Användare | 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. --- PARAGRAF 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 | Användare | 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. --- PARAGRAF 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") SÖK("John Smith familjestorlek") SEARCH("John Smith Microsoft mjukvaruingenjör") |
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 funktioner
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 verktyg för att lindra effekten av fabricerade svar och för att få uppdaterad information.
Ett enkelt sätt att använda en affordance är att stoppa processen när affordance-anropen har genererats av modellen, och sedan infoga resultaten 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 | Användare | Assistent |
|---|---|---|
| Du är en AI-assistent som hjälper människor att hitta information. | Du läser ett stycke, extraherar faktapåståenden och använder sedan sökmotorresultat för att faktagranska dem. --- PARAGRAF 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. --- Givet fragmenten, faktagranska vart och ett 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
Viktigt!
Den här tekniken är endast tillämplig på icke-resonerande modeller. Försök att extrahera modellskäl genom andra metoder än sammanfattningsparametern för resonemang stöds inte, kan bryta mot policyn för godtagbar användning och kan leda till begränsning eller avstängning när den identifieras.
Det här är en variant på bryt ner uppgiften-tekniken. 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 | Användare | Assistent |
|---|---|---|
| Du är en AI-assistent som hjälper människor att hitta information. | Vem var den mest dekorerade (maximala medaljen) individuella idrottare 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. |
Specificera 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 uttalanden är dessa uttalanden mycket mer sannolika att vara välgrundade. 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. Notera att ju närmare citatet är den text som det stöder, desto kortare är avståndet före modellen för att förutse citeringen, vilket tyder på att infogade citat är bättre för att motverka 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 | Användare | 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 du ringer contoso apotek vem talar jag med idag jag förstår din frustration mary kan du berätta vad exakt du försöker få gjort OK verkligen glad att kontrollera det för dig ett ögonblick snälla jag ser här att du var på en generisk form av lipitor är det rätt OK så jag ser att din läkare slutade förskriva dessa läkemedel tjugo tjugoett faktiskt OK ja jag skulle gärna kontrollera det för dig eftersom ibland finns det en lucka i systemet och det bara inte rapporteras så låt mig ta en titt här ett ögonblick så jag ser här att din läkare ordinerade dessa läkemedel till dig från tjugo tolv till tjugo tjugoett OK ja enligt de senaste register som tillhandahålls av läkarmottagningen är du nu på ett annat läkemedel metformin skulle du vilja att vi utfärdar det receptet för dig för att hämta ut fem hundra milligram metformin 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 det aktuella läkemedlet 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 | Användare | 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": "" } Inmatade nyhetsrubriker Från böcker till presentationer på 10 sekunder 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. "Första ordningens rörelsemodell tillämpad för att animera målningar" 4. "Robinhood och andra mäklare blockerar bokstavligen inköp av $GME, $NOK, $BB, $AMC, men tillåter försäljning." 5. "United Airlines aktie sjunker över 5% i förhandel" Utdata: |
{ "ARTIFICIELL_INTELLIGENS": { "RUBRIKER": [ Från böcker till presentationer på 10 sekunder med AR + ML. "Demo från 1993 av 32-årige Yann LeCun visar upp världens första Convolutional Network for Text Recognition", "Första ordningens rörelsemodell tillämpas för att animera målningar" ], "Dessa rubriker är relaterade till artificiell intelligens, maskininlärning och deras tillämpningar inom olika områden." }, "FINANSIELLA_MARKNADER": { "RUBRIKER": [ Robinhood och andra mäklare blockerar köp av $GME, $NOK, $BB, $AMC, men tillåter försäljningar. United Airlines aktie ner över 5% i förhandeln. "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 grundläggande kontext
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 får en nyligen publicerad blogg som beskriver lanseringen av GPT-4 i Azure OpenAI i Azure AI Foundry Models och ombeds att namnge några av sina tidiga kunder.
| Systemmeddelande | Användare | 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. |
Vilka är några av de tidiga kunderna i Azure OpenAI GPT-4-modellerna? | Här är några av de tidiga kunderna i Azure OpenAI 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 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.
Metodtips
- Var specifik. Lämna så lite till tolkning som möjligt. Begränsa driftutrymmet.
- Var beskrivande. Använd analogier.
- Satsa dubbelt. Ibland kan du behöva upprepa dig för modellen. Ge instruktioner före och efter ditt primära innehåll, använd en instruktion och en ledtråd osv.
- Beställningen är viktig. I vilken ordning du presenterar information för modellen kan det påverka utdata. Om du lägger till instruktioner före ditt innehåll ("sammanfatta följande...") eller efter ("sammanfatta ovanstående...") kan göra skillnad i utdata. Även ordningen av exempel med få inslag kan vara viktig. Detta kallas recency-bias.
- Ge modellen en "utväg". Ibland kan det vara bra att ge modellen en alternativ sökväg om den inte kan slutföra den tilldelade aktiviteten. När du till exempel ställer en fråga om en textdel kan du inkludera något som "svara med "hittades inte" om svaret inte finns. Detta kan hjälpa modellen att undvika att generera falska svar.
Effektiv rumsanvändning
Även om indatastorleken ökar för varje ny generation GPT-modeller, kommer det att finnas scenarier som ger mer data än modellen kan hantera. GPT-modeller delar upp ord i "token". Vanliga ord med flera stavelser är ofta en enda token, men mindre vanliga ord bryts i stavelser. Token kan ibland vara kontraintuitiva, vilket visas i exemplet nedan som visar tokengränser för olika datumformat. I det här fallet är det mer utrymmeseffektivt att stava ut hela månaden än ett helt numeriskt datum.
Med tanke på detta begränsade utrymme är det viktigt att använda det så effektivt som möjligt.
- Tabeller – Som du ser i exemplen i föregående avsnitt kan GPT-modeller enkelt förstå tabellformaterade data. Detta kan vara ett utrymmeseffektivt sätt att inkludera data i stället för att föregå varje fält med namn (till exempel med JSON).
- Blanksteg – Efterföljande blanksteg behandlas som separata tokens, vilket kan enkelt slösa utrymme. Blanksteg som föregår ett ord behandlas, å andra sidan, vanligtvis som en del av samma token som ordet. Granska noggrant din användning av blanksteg och använd inte skiljetecken när ett utrymme räcker.
Relaterat innehåll
- Läs mer om Azure OpenAI.
- Kom igång med modellen ChatGPT med ChatGPT snabbstart.
- Fler exempel finns på GitHub-lagringsplatsen Azure OpenAI Samples