Design av systemmeddelande
Den här guiden beskriver några tekniker inom systemmeddelandedesign.
Vad är ett systemmeddelande?
Ett systemmeddelande är en funktionsspecifik uppsättning instruktioner eller kontextuella ramverk som ges till en generativ AI-modell (t.ex. GPT4-o, GPT3.5 Turbo osv.) för att styra och förbättra kvaliteten och säkerheten för en modells utdata. Detta är särskilt användbart i situationer som behöver vissa formaliteter, tekniska språk eller branschspecifika termer.
Det finns ingen föreskriven längd. Ett systemmeddelande kan vara en kort mening:
You are a helpful AI assistant.
Ett systemmeddelande kan också vara många rader långt, som innehåller detaljerade regler, detaljerad kontext, riktlinjer för formatering och utdata och ansvarsfulla AI-åtgärder (RAI).
Systemmeddelandeexempel
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.