Prompt Engineering: Leren communiceren met LLMs

Gebouwd voor snelheid: ~10ms latentie, zelfs onder belasting
De razendsnelle manier om je modellen te bouwen, volgen en implementeren!
- Verwerkt 350+ RPS op slechts 1 vCPU — geen tuning nodig
- Productieklaar met volledige enterprise-ondersteuning
De opkomst van ChatGPT / OpenAI en andere Large Language Models (LLMs) heeft de wereld veranderd en is een van de belangrijkste technologische vooruitgangen van het afgelopen decennium. Met behulp van AI kunnen we nu tal van dagelijkse taken automatiseren die ooit alledaags en tijdrovend waren. Om het potentieel van deze technologie echter volledig te benutten, is het essentieel om te begrijpen hoe u deze effectief gebruikt.
Vóór de opkomst van AI waren programmeertalen de enige manier om machines te instrueren. Met de komst van Large Language Models (LLMs) is het nu echter mogelijk om heel veel te bereiken met eenvoudig, gewoon Engels. Dit artikel is samengesteld uit verschillende bronnen terwijl ik meer leerde over dit boeiende vakgebied. Mijn hoop met deze blog is dat het helpt om de tijd te verkorten die u nodig heeft om prompt engineering te begrijpen.
Stel dat u dit typt in OpenAI Playground:
What is 965*590?
Het antwoord is onjuist en elke keer een beetje anders. Maar als u de instructie als volgt aanpast en de temperature op 0 zet, is de kans groot dat u het juiste antwoord krijgt:
What is 965*590? Make sure your answer is exactly correct:
Deze kunst om prompts aan te passen zodat AI doet wat we willen dat het doet, wordt Prompt Engineering genoemd. Het is niet alleen mogelijk om antwoorden van OpenAI te krijgen, maar ook om het te gebruiken om acties voor ons uit te voeren - wat de mogelijkheid opent om heel wat acties in het echte leven te automatiseren.
Hier zijn een paar manieren om dingen gedaan te krijgen door AI:
Geef voorbeelden aan het model waarin u laat zien wat u wilt doen (Few-shot prompting)
Geef duidelijke instructies aan het model met een voorbeeld. Afhankelijk van het aantal voorbeelden dat u geeft, wordt het 0-shot prompting, 1-shot prompting of few-shot prompting genoemd. Hoe groter het aantal voorbeelden, hoe beter de output van het model zal zijn. U kunt few-shot prompting ook gebruiken om het model te vertellen in welk formaat de output moet worden geretourneerd.
0-shot prompting
2+2=
1-shot prompting
2+2=4
3+3=
few-shot prompting
2+3=5
10+30=40
3+1=4
1+11=
Hier is een voorbeeld van hoe u few-shot prompts kunt gebruiken om een tweet te classificeren als positief of negatief:
Twitter is a social media platform where users can post short messages called "tweets". Tweets can be positive or negative, and we would like to be able to classify tweets as positive or negative. Here are some examples of positive and negative tweets. Make sure to classify the last tweet correctly.
Q: Tweet: "What a beautiful day!" Is this tweet positive or negative?
A: positive
Q: Tweet: "I hate this class" Is this tweet positive or negative?
A: negative
Q: Tweet: "I love pockets on jeans"
A:
Leg uw redenatie uit aan het model in de voorbeelden (Chain of Thought Prompting)
Stel dat we de volgende prompt opgeven:
Prompt:
Which is a faster way to get to work?
Option 1: Take a 1000 minute bus, then a half hour train, and finally a 10 minute bike ride.
Option 2: Take an 800 minute bus, then an hour train, and finally a 30 minute bike ride.
Output:
Option 1 is a faster way to get to work.
Zoals u kunt zien, is de output duidelijk verkeerd. Als we de logica echter uitleggen aan de AI, kunnen we ervoor zorgen dat deze wel correct antwoordt.
Which is a faster way to get home?
Option 1: Take an 10 minutes bus, then an 40 minute bus, and finally a 10 minute train.
Option 2: Take a 90 minutes train, then a 45 minute bike ride, and finally a 10 minute bus.
Option 1 will take 10+40+10 = 60 minutes.
Option 2 will take 90+45+10=145 minutes.
Since Option 1 takes 60 minutes and Option 2 takes 145 minutes, Option 1 is faster.
Which is a faster way to get to work?
Option 1: Take a 1000 minute bus, then a half hour train, and finally a 10 minute bike ride.
Option 2: Take an 800 minute bus, then an hour train, and finally a 30 minute bike ride.
Output:
Option 1 will take 1000+30+10 = 1040 minutes.Option 2 will take 800+60+30 = 890 minutes.Since Option 1 takes 1040 minutes and Option 2 takes 890 minutes, Option 2 is faster.
Bied uw eigen kennisbank aan bij ChatGPT
U kunt informatie over uw eigen kennisbank verstrekken aan ChatGPT, zodat deze vragen kan beantwoorden die betrekking hebben op die kennis. Dit is vooral handig als u van plan bent om chatbots te bouwen op uw eigen data. U kunt de informatie meegeven in de context. Er is echter een beperking waarbij LLMs zoals GPT-3 een maximale promptgrootte hebben van ongeveer 4k tokens, waardoor u niet heel veel informatie direct in de context aan ChatGPT kunt voeden.
Een oplossing hiervoor kan zijn om eerst de documenten in de kennisbank te indexeren. Vervolgens halen we in reactie op de prompt eerst de relevante documenten uit de index en laten we ChatGPT de vraag beantwoorden op basis van de subset van informatie die is opgehaald via Search. Dit maakt in feite gebruik van semantic-search en prompt het model vervolgens met de relevante info in de context. Veel libraries kunnen dit voor u mogelijk maken, zoals Haystack en LangChain, die vaak worden beschouwd als een van de beste prompt engineering tools voor retrieval-gebaseerde LLM-workflows.
Integreer Tools in LLMs om ze acties te laten uitvoeren (ReAct)
U kunt meerdere tools aanbieden aan LLMs om acties uit te voeren en vervolgens de LLM laten beslissen wat de juiste manier is om met deze tools te communiceren om het gewenste doel te bereiken.
Dit wordt het Reason and Act paradigma (ReAct) genoemd en is een soort meer geavanceerde versie van MRKL-systemen (Modular Reasoning, Knowledge and Language, uitgesproken als "miracle").
Laten we MRKL eerst uitleggen met een voorbeeld. Stel dat we een API hebben om Google Calculator aan te roepen om berekeningen uit te voeren. Nu weten we dat wiskundig correcte expressies iets zijn waar Google antwoord op kan geven, maar vragen in natuurlijke taal niet. Dus als de prompt is zoals hieronder vermeld:
What is 20 times 5^6?
We kunnen de LLM instrueren om de expressie in een formaat te gieten dat Google Calculator kan begrijpen. De prompt in dit geval wordt dan:
Translate the math problem below to a format that Google calculator can understand.
What is 20 times 5^6
Op een vergelijkbare manier kunnen we LLMs gebruiken om een actie beschreven in natuurlijke taal om te zetten in een expressie die wordt begrepen door een bestaande API. Het integreren van API's van derden en ermee communiceren vanuit de chatinterface is eenvoudig gemaakt binnen ChatGPT via hun plug-insysteem, waarover u hier meer kunt lezen.
Enkele voorbeelden van een ultieme ervaring
- "Bestel ingrediënten om een pepperoni pizza te maken." ChatGPT kan automatisch de benodigde ingrediënten identificeren en een bestelling plaatsen bij een online supermarkt.
- "Voeg om 20:00 uur een afspraak toe aan mijn agenda." Deze prompt kan worden omgezet in een CURL-request naar uw agenda-applicatie en vervolgens worden uitgevoerd (via een plug-in of handmatig) om een daadwerkelijke afspraak in uw agenda-app te maken.
- "Ik moet een model trainen dat werkt op dit CSV-bestand en de voorspelde prijs van het model als output geeft." Deze prompt kan automatisch trainingscode voor een ML-model genereren, die vervolgens kan worden uitgevoerd om het model daadwerkelijk te trainen door deze te kopiëren naar uw codeeromgeving of door een geschikte plug-in te gebruiken.
Deploy elk commercieel beschikbaar Large Language Model
Referenties:
- https://learnprompting.org/docs (Dit is een uitstekende bron voor het geval u dieper wilt induiken in prompt engineering). Alle voorbeelden in het artikel zijn hieruit overgenomen.
- https://til.simonwillison.net/llms/python-react-pattern
Chat met ons
als u het rendement van uw LLM-projecten wilt maximaliseren en uw bedrijf in staat wilt stellen om AI op de juiste manier in te zetten, praten we graag met u verder om ervaringen uit te wisselen.
Drink een ☕️ met ons
Ontdek hoe TrueFoundry u helpt om LLMs in 5 minuten te deployen:
TrueFoundry AI Gateway levert een latentie van ~3–4 ms, verwerkt 350+ RPS op 1 vCPU, schaalt moeiteloos horizontaal en is klaar voor productie, terwijl LiteLLM last heeft van hoge latentie, moeite heeft boven een gemiddeld aantal RPS, geen ingebouwde schaling heeft en het meest geschikt is voor lichte workloads of prototypes.



















.png)

.webp)



.webp)







.webp)





