Last chance! 50% off DataCamp Premium
Sale ends in
Grote taalmodellen kunnen tekst begrijpen en schrijven die heel menselijk klinkt. Maar ze precies laten doen wat jij wilt, is minder eenvoudig. Je moet de juiste technieken kiezen om een bevredigend antwoord te krijgen.
Een van die technieken is few-shot prompting. Het is een slimme methode die helpt om te koppelen wat het model al weet aan wat we het voor een specifieke klus willen laten doen—je geeft het model een paar snelle voorbeelden om te laten zien wat je wilt, zodat het de taak makkelijker goed begrijpt en uitvoert.
In deze tutorial leer je:
Deze tutorial maakt deel uit van mijn blogreeks “Prompt Engineering: From Zero to Hero”:
Few-shot prompting is een techniek waarbij je een taalmodel een klein aantal voorbeelden geeft om zijn antwoord op een specifieke taak te sturen. Deze methode zit tussen zero-shot learning (waarbij geen voorbeelden worden gegeven) en volledig begeleide fine-tuning (waarvoor grote hoeveelheden gelabelde data nodig zijn) in. De blogpost over few-shot learning legt deze machinelearningtechniek in detail uit.
Met andere woorden: few-shot prompting is het proces waarbij je een taalmodel een handvol demonstraties of voorbeelden binnen de prompt zelf geeft. Deze voorbeelden fungeren als leidraad en laten het model zien hoe het een bepaald type taak of vraag moet benaderen en beantwoorden. Door deze voorbeelden te geven, zeg je in feite tegen het model: "Zo moet je in vergelijkbare situaties reageren."
Laten we naar een voorbeeld kijken.
Stel dat we het model de sentimenten van filmrecensies willen laten classificeren. Een few-shot prompt kan er zo uitzien:
Prompt:
Classify the sentiment of the third movie review. Use the information from the first two examples:Review: "This movie was a waste of time."Sentiment: NegativeReview: "I couldn't stop laughing throughout the film!"Sentiment: PositiveReview: "The special effects were amazing, but the plot was confusing."Sentiment:```markdownIf we input this prompt to the LLM, and if it understands the task correctly, it will output:```markdownSentiment: MixedIn dit voorbeeld gebruikt de LLM de voorbeelden in de prompt om te begrijpen hoe het het sentiment van de derde recensie moet classificeren en genereert het dienovereenkomstig de output.
Few-shot prompting is belangrijk omdat het LLM's nuttiger en toegankelijker maakt. Ten eerste bespaart het tijd en moeite, omdat je het model niet volledig hoeft te hertrainen of enorme hoeveelheden data hoeft te verzamelen.
Ten tweede is het erg flexibel—je kunt het model snel aanpassen aan verschillende taken door simpelweg de voorbeelden die je geeft te veranderen. Ten derde helpt het de LLM vaak beter te presteren op specifieke of complexe taken dan wanneer je het zonder enige begeleiding iets laat doen. Deze methode maakt krachtige AI-tools ook toegankelijker voor meer mensen, niet alleen voor tech-experts met veel middelen.
De kern van few-shot prompting is dat je de LLM binnen de prompt zelf een kleine set relevante voorbeelden of demonstraties geeft. Deze voorbeelden sturen het model aan en laten zien hoe het een bepaald type taak of vraag moet benaderen en beantwoorden. Demonstraties zijn meestal als volgt opgebouwd:
Als we het model bijvoorbeeld rijmende disticha wilden laten genereren, kan een few-shot prompt er zo uitzien:
Generate a rhyming couplet about a tree:Input: "cat"Output: The curious cat, so sleek and fat, Curled up cozy on the welcome mat.Input: "sky"Output: Look up high into the endless sky, Where birds and clouds go drifting by.Input: "tree"Output:Bij deze demonstraties doorloopt het taalmodel een proces dat vaak "in-context leren" of "leren aan de hand van voorbeelden" wordt genoemd. Dat werkt zo:
![]()
Dit proces stelt het model in staat zijn kennis en vaardigheden aan te passen aan een specifieke taak zonder wijzigingen aan de onderliggende parameters.
Het is belangrijk om te weten dat de effectiviteit van few-shot prompting kan variëren afhankelijk van factoren zoals de complexiteit van de taak, de kwaliteit en relevantie van de gegeven voorbeelden en de capaciteiten van het onderliggende taalmodel. Maar als het goed wordt toegepast, kan few-shot prompting taalmodellen veel verschillende taken laten uitvoeren met opvallende nauwkeurigheid en flexibiliteit.
Few-shot prompting heeft verschillende voordelen. Laten we bekijken waarom deze methode zo nuttig is.
Een van de meest opvallende voordelen van few-shot prompting is de aanzienlijke prestatieverbetering ten opzichte van zero-shot benaderingen.
Neem bijvoorbeeld een scenario waarin we het model productbeschrijvingen in een specifieke toon en opmaak willen laten genereren.
Generate product descriptions:Product: Wireless EarbudsDescription: Immerse yourself in crystal-clear audio with our sleek wireless earbuds. Featuring noise-cancellation technology and a comfortable fit, these earbuds are perfect for music lovers on the go.Product: Smart WatchDescription: Stay connected and track your fitness with our advanced smart watch. With heart rate monitoring, GPS, and a vibrant touch screen, it's your perfect companion for an active lifestyle.Product: Ergonomic Office ChairDescription:Met deze voorbeelden zal het model waarschijnlijker een relevante en passend gestileerde beschrijving voor de bureaustoel genereren, vergeleken met een zero-shot aanpak waarin het eerder een generieke of minder gerichte beschrijving zou geven.
Een mogelijke output zou kunnen zijn:```markdown
Description: Transform your workspace with our state-of-the-art ergonomic office chair. Designed for ultimate comfort and support, this chair features adjustable lumbar support, breathable mesh backrest, and customizable armrests. Whether you're working from home or in a corporate setting, this chair is the perfect blend of style and functionality for the modern professional.
Faster adaptationFew-shot prompting helps the LLM to quickly learn new tasks or topics, making it fast and easy to switch between different jobs.Quick task learning: Models can quickly grasp new tasks with just a handful of examples, allowing for rapid prototyping and testing of new applications.Domain adaptation: It's easy to shift the model's focus to different domains or styles by simply changing the examples in the prompt.Iterative refinement: Users can quickly iterate and refine their prompts based on initial results, leading to a more agile development process.For example, if we wanted to adapt the model to generate different types of poetry, we could quickly switch between haikus, limericks, or sonnets just by changing the examples in our prompt:```markdownGenerate poetry based on the given theme and format.Theme: SpringHaiku: Cherry blossoms bloom Soft petals dance in the breeze Nature awakensTheme: SummerHaiku:Theme: A funny catLimerick: There once was a cat named Lou Who always knew just what to do He'd climb up a tree Then meow with glee And slide down as if on a chuteTheme: A clumsy dogLimerick:Een mogelijke output zou zijn:
Haiku:Scorching sun aboveCicadas sing endlesslyBeach waves cool bare feetLimerick:There once was a dog quite unsteadyHis paws were not quite readyHe'd trip on his tailKnock over the mailBut his smile kept his owner steadyFew-shot prompting vermindert de behoefte aan grote hoeveelheden gelabelde data aanzienlijk, wat een groot voordeel is ten opzichte van traditionele fine-tuningbenaderingen.
Few-shot prompting is in veel domeinen toepasbaar. De flexibiliteit en efficiëntie maken het vooral nuttig voor taken die gespecialiseerde kennis of creatieve output vereisen. Laten we een paar belangrijke toepassingen bekijken:
Few-shot prompting kan het vermogen van een LLM om taken met meerstapsredenering, logische gevolgtrekkingen of domeinspecifieke kennis aan te pakken aanzienlijk verbeteren.
Zo zouden we few-shot prompting kunnen gebruiken voor een medische diagnosetaak:
Provide a possible diagnosis and explain your reasoning:Symptoms: Fever, cough, fatigueDiagnosis: Common coldExplanation: The combination of fever, cough, and fatigue is typical of a common cold. No severe symptoms are present, suggesting a mild viral infection.Symptoms: Chest pain, shortness of breath, dizzinessDiagnosis: Possible heart attackExplanation: The combination of chest pain, shortness of breath, and dizziness are warning signs of a possible heart attack. Immediate medical attention is required.Symptoms: Headache, sensitivity to light, nauseaDiagnosis:Explanation: Deze prompt stuurt het model om niet alleen een diagnose te geven, maar ook de redenering erachter uit te leggen, wat complexe medische redenering laat zien.
De LLM zou outputten:```markdown
Diagnosis: Migraine
Explanation: These symptoms together are typical of a migraine. The headache combined with light sensitivity (photophobia) is a strong indicator of migraine, and nausea often accompanies this condition. While other causes are possible, this combination strongly suggests a migraine headache.
Creative writingFew-shot prompting is particularly effective in guiding LLMs to generate text in specific styles, formats, or genres.Let’s see how to generate movie synopsis in different genres using few-shot prompting:```markdownGenerate movie synopsis:Genre: Sci-FiSynopsis: In a world where dreams can be shared, a skilled "dream thief" is tasked with the impossible: planting an idea in someone's mind. As he delves deeper into the target's subconscious, the lines between reality and dreams blur, threatening to trap him forever.Genre: RomanceSynopsis: A chance encounter on a rainy day in Paris leads two strangers on a whirlwind 24-hour adventure. As they explore the city and each other's hearts, they must decide if their connection is strong enough to overcome the ocean that will separate them come morning.Genre: HorrorSynopsis: Deze prompt stuurt het model bij het genereren van een synopsis die de belangrijkste elementen en toon van het opgegeven genre vangt.
Output:
Synopsis: A remote mountain town is plagued by a series of mysterious disappearances. As a skeptical detective investigates, she uncovers an ancient cult that awakens every hundred years to feed on the town's inhabitants. With time running out and the cult's power growing, she must confront her own dark past to save the remaining townspeople and herself from a terrifying fate.Few-shot prompting kan enorm nuttig zijn om LLM's code te laten genereren die aan specifieke conventies voldoet, best practices volgt of aan bepaalde eisen voldoet. Voorbeelden kunnen de juiste syntaxis en structuur voor een bepaalde programmeertaal laten zien.
Laten we bekijken hoe je few-shot prompting gebruikt om Python-functies met docstrings en type hints te genereren:
def calculate_area(length: float, width: float) -> float: """ Calculate the area of a rectangle. Args: length (float): The length of the rectangle. width (float): The width of the rectangle. Returns: float: The area of the rectangle. """ return length * widthdef celsius_to_fahrenheit(celsius: float) -> float: """ Convert temperature from Celsius to Fahrenheit. Args: celsius (float): Temperature in Celsius. Returns: float: Temperature in Fahrenheit. """ return (celsius * 9/5) + 32def calculate_bmi(weight: float, height: float) -> float: """ [Generate a docstring for this function] """ # [Generate the function body]Deze prompt stuurt het model om een functie te genereren met correcte type hints en een gedetailleerde docstring, volgens het gevestigde patroon.
De output zou zijn:
def calculate_bmi(weight: float, height: float) -> float: """ Calculate the Body Mass Index (BMI) of a person. Args: weight (float): The weight of the person in kilograms. height (float): The height of the person in meters. Returns: float: The calculated BMI value. Note: BMI is calculated as weight (kg) divided by height squared (m^2). This function assumes weight is in kilograms and height is in meters. """ return weight / (height ** 2)Hoewel few-shot prompting in veel gevallen goed werkt, kent het ook uitdagingen. Door deze te begrijpen en best practices te volgen, kun je je prompts effectiever maken en betere resultaten behalen.
De kwaliteit en relevantie van de voorbeelden die je kiest, zijn cruciaal voor succesvol few-shot prompting. Enkele tips:
Effectieve prompts maken is een kunst die vraagt om zorgvuldige afweging van hoe je de voorbeelden presenteert en hoe je de taak inkadert. Enkele strategieën:
Een van de risico's van few-shot prompting is dat het model kan overfitten op de gegeven voorbeelden, waardoor de outputs te veel op de voorbeelden lijken of slecht generaliseren naar nieuwe inputs. Om dit te voorkomen:
Door deze best practices te volgen, maak je effectievere few-shot prompts die het model helpen de gewenste taak nauwkeurig en efficiënt uit te voeren.

Few-shot prompting is een techniek die LLM's helpt hun kennis toe te passen op specifieke taken.
Het maakt snelle aanpassing aan nieuwe taken mogelijk zonder uitgebreide hertraining. Het verhoogt de nauwkeurigheid bij complexe taken door relevante voorbeelden te geven. Het is nuttig in verschillende domeinen, van redeneren tot creatief schrijven en programmeren, en het maakt geavanceerde taalmodellen toegankelijker en beter aanpasbaar.
De effectiviteit hangt echter af van zorgvuldige voorbeeldkeuze en promptontwerp. De kwaliteit en relevantie van voorbeelden zijn cruciaal voor optimale prestaties.
Vooruitkijkend ben ik benieuwd waar dit naartoe gaat. Stel je systemen voor die automatisch de perfecte voorbeelden kiezen of zich ter plekke aanpassen op basis van hun prestaties.
Dus, dat was het! Few-shot prompting in een notendop. Blijf experimenteren, blijf leren, en tot de volgende keer!
Ja, je kunt verbeteringen meten met standaard machinelearningmetrics, afhankelijk van de taak. Voor classificatietaken kun je accuracy, precision, recall en F1-score gebruiken. Voor generatieve taken kun je metrics zoals BLEU, ROUGE of menselijke evaluatie gebruiken.
Few-shot prompting is succesvol toegepast in verschillende sectoren, waaronder klantenservice (voor het genereren van reacties), contentcreatie (voor schrijfhulp) en softwareontwikkeling (voor codegeneratie). Het blijkt ook waardevol in de zorg, bijvoorbeeld voor het samenvatten van medische dossiers, en in de financiële sector voor marktanalyse en het genereren van rapporten.
Few-shot prompting kan de ontwikkeling van AI-toepassingen democratiseren, waardoor niet-experts eenvoudig gespecialiseerde AI-oplossingen kunnen maken. Dit kan de focus van data scientists en ML-engineers verschuiven naar complexere taken, prompt engineering en het ontwikkelen van geavanceerdere AI-systemen. Het kan ook nieuwe rollen creëren die gericht zijn op het opstellen van effectieve prompts en voorbeelden voor diverse toepassingen.
In sterk gespecialiseerde domeinen kan few-shot prompting moeite hebben als het model daar geen basiskennis over heeft. Het kan ook lastig zijn om complexe, domeinspecifieke regels of procedures met slechts een paar voorbeelden te vatten. In zulke gevallen zijn uitgebreidere fine-tuning of domeinspecifieke training mogelijk nodig.
Ja, er zijn ethische aandachtspunten. Few-shot prompting kan mogelijk worden gebruikt om AI-modellen te sturen naar bevooroordeelde of schadelijke content als de voorbeelden niet zorgvuldig zijn gekozen. Er is ook een risico op onbedoelde datalekken als gevoelige informatie in de prompts wordt opgenomen.
Ana Rojo Echeburúa is een AI- en dataspecialist met een PhD in Toegepaste Wiskunde. Ze houdt ervan om data om te zetten in bruikbare inzichten en heeft ruime ervaring in het aansturen van technische teams. Ana werkt graag nauw samen met klanten om hun bedrijfsproblemen op te lossen en innovatieve AI-oplossingen te creëren. Ze staat bekend om haar probleemoplossend vermogen en heldere communicatie, en is gepassioneerd door AI, vooral generatieve AI. Ana zet zich in voor continue ontwikkeling en ethische AI, en voor het vereenvoudigen van complexe vraagstukken en het op een toegankelijke manier uitleggen van technologie.
Leer AI met deze cursussen!
Cursus
Cursus
Leerpad

blog
Adel Nehme
15 min