Prompt Engineering: Das Erlernen der Interaktion mit LLMs

Auf Geschwindigkeit ausgelegt: ~ 10 ms Latenz, auch unter Last
Unglaublich schnelle Methode zum Erstellen, Verfolgen und Bereitstellen Ihrer Modelle!
- Verarbeitet mehr als 350 RPS auf nur 1 vCPU — kein Tuning erforderlich
- Produktionsbereit mit vollem Unternehmenssupport
Die Entstehung von ChatGPT / OpenAI und anderen Large Language Models (LLMs) hat die Welt revolutioniert und ist einer der bedeutendsten technologischen Fortschritte des letzten Jahrzehnts. Mit Hilfe von AI können wir nun zahlreiche alltägliche Aufgaben automatisieren, die einst eintönig und zeitaufwendig waren. Um das volle Potenzial dieser Technologie auszuschöpfen, ist es jedoch essenziell zu verstehen, wie man sie effektiv einsetzt.
Vor dem Aufkommen von AI waren Programmiersprachen das einzige Mittel, um Maschinen Anweisungen zu geben. Mit dem Erscheinen von Large Language Models (LLMs) ist es nun jedoch möglich, sehr viel in einfachem, klarem Englisch zu erreichen. Dieser Artikel wurde aus verschiedenen Quellen zusammengestellt, als ich mehr über dieses spannende Feld gelernt habe. Meine Hoffnung für diesen Blog ist, dass er Ihnen hilft, die Zeit zu verkürzen, die Sie benötigen, um Prompt Engineering zu verstehen.
Nehmen wir an, Sie tippen Folgendes im OpenAI Playground ein:
Was ist 965*590?
Die Antwort ist falsch und jedes Mal ein bisschen anders. Wenn Sie die Anweisung jedoch wie folgt anpassen und die Temperature auf 0 setzen, werden Sie wahrscheinlich die richtige Antwort erhalten:
Was ist 965*590? Stelle sicher, dass deine Antwort exakt korrekt ist:
Diese Kunst, Prompts so anzupassen, dass die AI genau das tut, was wir wollen, nennt man Prompt Engineering. Es ist nicht nur möglich, Antworten von OpenAI zu erhalten, sondern es auch zu nutzen, um Aktionen für uns auszuführen – was die Möglichkeit eröffnet, viele Aktionen im realen Leben zu automatisieren.
Hier sind ein paar Möglichkeiten, um Aufgaben von der AI erledigen zu lassen:
Geben Sie dem Modell Beispiele für das, was Sie tun möchten (Few-shot prompting)
Geben Sie dem Modell klare Anweisungen mit einem Beispiel. Basierend auf der Anzahl der bereitgestellten Beispiele nennt man dies 0-shot Prompting, 1-shot Prompting oder Few-shot Prompting. Je höher die Anzahl der Beispiele ist, desto besser wird der Output des Modells sein. Sie können Few-shot Prompting auch verwenden, um dem Modell mitzuteilen, in welchem Format es den Output zurückgeben soll.
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 ist ein Beispiel dafür, wie Sie Few-shot Prompts verwenden können, um einen Tweet als positiv oder negativ zu klassifizieren:
Twitter ist eine Social-Media-Plattform, auf der Nutzer kurze Nachrichten namens "Tweets" veröffentlichen können. Tweets können positiv oder negativ sein, und wir möchten Tweets als positiv oder negativ klassifizieren können. Hier sind einige Beispiele für positive und negative Tweets. Stelle sicher, dass du den letzten Tweet korrekt klassifizierst.
Q: Tweet: "Was für ein schöner Tag!" Ist dieser Tweet positiv oder negativ?
A: positiv
Q: Tweet: "Ich hasse diesen Unterricht" Ist dieser Tweet positiv oder negativ?
A: negativ
Q: Tweet: "Ich liebe Taschen an Jeans"
A:
Erklären Sie dem Modell in den Beispielen Ihre Gedankengänge (Chain of Thought Prompting)
Nehmen wir an, wir stellen den folgenden Prompt bereit:
Prompt:
Welches ist der schnellere Weg zur Arbeit?
Option 1: Nehmen Sie einen 1000-Minuten-Bus, dann einen halbstündigen Zug und schließlich eine 10-Minuten-Fahrradfahrt.
Option 2: Nehmen Sie einen 800-Minuten-Bus, dann einen einstündigen Zug und schließlich eine 30-Minuten-Fahrradfahrt.
Output:
Option 1 ist der schnellere Weg zur Arbeit.
Wie Sie sehen können, ist der Output eindeutig falsch. Wenn wir der AI jedoch die Logik erklären, können wir sie tatsächlich dazu bringen, korrekt zu antworten.
Welches ist der schnellere Weg nach Hause?
Option 1: Nehmen Sie einen 10-Minuten-Bus, dann einen 40-Minuten-Bus und schließlich einen 10-Minuten-Zug.
Option 2: Nehmen Sie einen 90-Minuten-Zug, dann eine 45-Minuten-Fahrradfahrt und schließlich einen 10-Minuten-Bus.
Option 1 dauert 10+40+10 = 60 Minuten.
Option 2 dauert 90+45+10 = 145 Minuten.
Da Option 1 60 Minuten und Option 2 145 Minuten dauert, ist Option 1 schneller.
Welches ist der schnellere Weg zur Arbeit?
Option 1: Nehmen Sie einen 1000-Minuten-Bus, dann einen halbstündigen Zug und schließlich eine 10-Minuten-Fahrradfahrt.
Option 2: Nehmen Sie einen 800-Minuten-Bus, dann einen einstündigen Zug und schließlich eine 30-Minuten-Fahrradfahrt.
Output:
Option 1 dauert 1000+30+10 = 1040 Minuten. Option 2 dauert 800+60+30 = 890 Minuten. Da Option 1 1040 Minuten dauert und Option 2 890 Minuten dauert, ist Option 2 schneller.
Stellen Sie ChatGPT Ihre eigene Knowledge Base zur Verfügung
Sie können ChatGPT Informationen über Ihre eigene Knowledge Base bereitstellen, damit es Fragen zu diesem Wissen beantworten kann. Dies ist besonders nützlich, wenn Sie planen, Ihre Chatbots auf Ihren eigenen Daten aufzubauen. Sie können die Informationen im Context übergeben. Es gibt jedoch eine Einschränkung: LLMs wie GPT-3 haben eine maximale Prompt-Größe von etwa 4k tokens, weshalb Sie ChatGPT nicht sehr viele Informationen direkt im Context zuführen können.
Eine Lösung hierfür kann sein, die Dokumente in der Knowledge Base zuerst zu indizieren. Als Antwort auf den Prompt rufen wir dann zuerst die relevanten Dokumente aus dem Index ab und erlauben ChatGPT anschließend, die Frage auf der Grundlage des aus der Suche abgerufenen Informations-Subsets zu beantworten. Dies nutzt im Grunde Semantic Search und promptet das Modell dann mit den relevanten Informationen im Context. Viele Bibliotheken können dies für Sie ermöglichen, wie etwa Haystack und Langchain, die oft zu den besten Prompt Engineering Tools für Retrieval-basierte LLM-Workflows gezählt werden.
Integrieren Sie Tools in LLMs, damit sie Aktionen ausführen (ReAct)
Sie können LLMs mehrere Tools zur Ausführung von Aktionen zur Verfügung stellen und das LLM dann entscheiden lassen, wie es am besten mit diesen Tools interagiert, um das gewünschte Ziel zu erreichen.
Dies nennt man Reason and Act-Paradigma (ReAct) und ist eine Art fortgeschrittenere Version von MRKL-Systemen (Modular Reasoning, Knowledge and Language, ausgesprochen "miracle").
Lassen Sie uns MRKL zuerst an einem Beispiel erklären. Nehmen wir an, wir haben eine API, um den Google Calculator aufzurufen, um Berechnungen durchzuführen. Wir wissen nun, dass mathematisch korrekte Ausdrücke etwas sind, das Google beantworten kann, nicht jedoch Anfragen in natürlicher Sprache. Wenn der Prompt also wie unten beschrieben lautet:
Was ist 20 mal 5^6?
Können wir das LLM anweisen, den Ausdruck in etwas auszugeben, das der Google Calculator verstehen kann. Der Prompt lautet in diesem Fall also:
Übersetze das folgende mathematische Problem in ein Format, das der Google Calculator verstehen kann.
Was ist 20 mal 5^6
Ähnlich können wir LLMs verwenden, um eine in natürlicher Sprache beschriebene Aktion in einen Ausdruck umzuwandeln, der von einer bestehenden API verstanden wird. Die Integration von Drittanbieter-APIs und die Interaktion mit ihnen über die Chat-Schnittstelle wurde innerhalb von ChatGPT durch deren Plugin-System vereinfacht, worüber Sie hier mehr lesen können.
Einige Beispiele für ein ultimatives Erlebnis
- "Bestelle Zutaten für eine Pepperoni-Pizza." ChatGPT kann automatisch die notwendigen Zutaten identifizieren und eine Bestellung bei einem Online-Supermarkt aufgeben.
- "Füge ein Ereignis um 20 Uhr zu meinem Kalender hinzu." Dieser Prompt kann in einen CURL-Request an Ihre Kalenderanwendung umgewandelt und dann (entweder über ein Plugin oder manuell) ausgeführt werden, um ein tatsächliches Ereignis in Ihrer Kalender-App zu erstellen.
- "Ich muss ein Modell trainieren, das mit dieser CSV-Datei arbeitet und den vorhergesagten Preis des Modells ausgibt." Dieser Prompt kann automatisch Trainingscode für ein ML-Modell generieren, der dann ausgeführt werden kann, um das Modell tatsächlich zu trainieren – entweder durch Copy-Pasting in Ihre Entwicklungsumgebung oder durch Verwendung eines geeigneten Plugins.
Ready-to-use Large Language Models einfach deployen
Referenzen:
- https://learnprompting.org/docs (Dies ist eine hervorragende Ressource, falls Sie tiefer in Prompt Engineering eintauchen möchten). Alle Beispiele im Artikel wurden von hier übernommen.
- https://til.simonwillison.net/llms/python-react-pattern
Chatten Sie mit uns
Wenn Sie den Return on Investment Ihrer LLM-Projekte maximieren und Ihr Unternehmen befähigen möchten, AI auf die richtige Weise zu nutzen, würden wir uns freuen, uns mit Ihnen auszutauschen.
Trinken Sie einen ☕️ mit uns
Erfahren Sie, wie TrueFoundry Ihnen hilft, LLMs in 5 Minuten zu deployen:
TrueFoundry AI Gateway bietet eine Latenz von ~3—4 ms, verarbeitet mehr als 350 RPS auf einer vCPU, skaliert problemlos horizontal und ist produktionsbereit, während LiteLM unter einer hohen Latenz leidet, mit moderaten RPS zu kämpfen hat, keine integrierte Skalierung hat und sich am besten für leichte Workloads oder Prototyp-Workloads eignet.


















%20(28).webp)



.webp)
.webp)
.png)

.png)
.png)
.png)
.png)
.png)
.webp)
.webp)






