Inzicht in prompt-engineering

Voltooid

De kwaliteit van de invoerprompts die we verzenden naar een AI-model, zoals die beschikbaar zijn in Azure OpenAI, heeft rechtstreeks invloed op de kwaliteit van wat we terugkrijmen. Door de prompts die we naar het model verzenden zorgvuldig samen te stellen, kan het model betere en interessantere antwoorden bieden.

Wat is prompt-engineering

Prompt engineering is het proces voor het ontwerpen en optimaliseren van prompts om AI-modellen beter te kunnen gebruiken. Het ontwerpen van effectieve prompts is essentieel voor het succes van prompt-engineering en het kan de prestaties van het AI-model voor specifieke taken aanzienlijk verbeteren. Het leveren van relevante, specifieke, ondubbelzinnige en goed gestructureerde prompts kan het model helpen de context beter te begrijpen en nauwkeurigere antwoorden te genereren.

Als we bijvoorbeeld willen dat een OpenAI-model productbeschrijvingen genereert, kunnen we het voorzien van een gedetailleerde beschrijving die de functies en voordelen van het product beschrijft. Door deze context te bieden, kan het model nauwkeurigere en relevante productbeschrijvingen genereren.

Prompt engineering kan ook helpen bij het beperken van vooroordelen en het verbeteren van de billijkheid in AI-modellen. Door prompts te ontwerpen die divers en inclusief zijn, kunnen we ervoor zorgen dat het model niet voor een bepaalde groep of perspectief wordt vooroordelen.

Belangrijk

Ongeacht hoe goed een prompt u kunt ontwerpen, reacties van AI-modellen mogen nooit als feit worden beschouwd of volledig vrij zijn van vooroordelen. Gebruik altijd op verantwoorde wijze AI. Zie de transparantienotitie van Microsoft over azure OpenAI en de AI-principes van Microsoft voor meer informatie.

Bovendien kan prompt-engineering ons helpen begrijpen welke verwijzingen het model gebruikt om het antwoord te genereren. Generatieve AI-modellen hebben een ton parameters en de logica die volgt, is grotendeels onbekend voor gebruikers, dus het kan verwarrend zijn hoe het aankomt op het antwoord dat het geeft. Door prompts te ontwerpen die gemakkelijk te begrijpen en te interpreteren zijn, kunnen we mensen helpen beter te begrijpen hoe het model de reacties genereert. Dit kan met name belangrijk zijn in domeinen zoals gezondheidszorg, waar het essentieel is om te begrijpen hoe het model beslissingen neemt.

Er zijn verschillende methoden om te gebruiken bij het ontwerpen van uw eigen prompts, waarvan veel worden behandeld in toekomstige eenheden van deze module. Dit zijn onder andere instructies, contextuele inhoud, aanwijzingen of enkele shot-voorbeelden en het correct ordenen van inhoud in uw prompt. De hier behandelde methoden zijn niet volledig, omdat dit gebied een genuanceerd en vloeiend onderwerp is.

Overwegingen voor API-eindpunten

De voorbeelden in de rest van deze module zijn gericht op ChatCompletion. Het is de moeite waard om te vermelden dat ChatCompletion deze ook kan worden gebruikt voor niet-chatscenario's, waarbij eventuele instructies worden opgenomen in het systeembericht en de gebruikersinhoud in het bericht van de gebruikersrol. De meeste van deze voorbeelden kunnen desgewenst worden gewijzigd om het Completion eindpunt te gebruiken.

Wat betreft de beschikbaarheid van modellen kan het Completion eindpunt worden gebruikt met gpt-3 en eerder en ChatCompletion kan het worden gebruikt met gpt-35-turbo en latere modellen.

Modelparameters aanpassen

Naast technieken die in deze module worden besproken, kan het aanpassen van parameters van het model een aanzienlijke invloed hebben op het antwoord. Met name temperature , en top_p (top_probability) zijn de meest waarschijnlijke invloed op het antwoord van een model omdat ze beide willekeurigheid in het model beheren, maar op verschillende manieren.

Hogere waarden produceren creatievere en willekeurige antwoorden, maar zijn waarschijnlijk minder consistent of gericht. Reacties die naar verwachting fictief of uniek zijn, profiteren van hogere waarden voor deze parameters, terwijl inhoud consistenter wil zijn en beton lagere waarden moet gebruiken.

Probeer deze parameters aan te passen met dezelfde prompt om te zien hoe deze van invloed zijn op het antwoord. Het is raadzaam om een van beide of top_p tegelijk te wijzigentemperature, maar niet beide.