Zum Inhalt springen

Werk:AI mit Arnie/Systemprompts & Function Calling

aus AufEinWort, der freien Forschung
▶ Kurs AI mit Arnie (KI-Revolution) Open-Source LLMs
📽️ 3 Systemprompts sind ein wichtiger Teil im Prompt Engineering + Function Calling (6:18)
🎓 Systemprompts & Function Calling
Prompt Engineering & Nutzung in der Cloud
▲ HuggingChat Ein Interface für Open Source LLMs
▶ Systemprompts & Function Calling
▼ Prompt Engineering: Einfache Strategien

📽️

Das erste Konzept von Prompt Engineering, das ich dir zeigen will, ist der sogenannte Systemprompt. So gut wie in jedem Interface und in allem, was wir bauen, haben wir die Chance, einen Systemprompt zu geben. Und das ist ganz einfach hier die generelle Anweisung, wie wir dem Modell geben können.

Im Hugging Chat funktioniert das sehr, sehr einfach, und ich will dir jetzt zeigen, wie das funktioniert. Du weißt, hier bei "Current Model" können wir verschiedene Modelle verwenden. Wenn wir hier draufklicken, dann können wir das Modell aussuchen, was wir eben gerne haben wollen. Wir verwenden jetzt erst einfach mal Command R+, denn Command R+ ist ein super gutes Modell.

Danach siehst du hier drüben das Systemprompt, und das ist der Standard-Systemprompt, den OpenAI immer verwendet: „You are a helpful Assistant“. Das heißt, wir können hier diesem Modell ganz einfach sagen, was es machen soll. Wenn man das da reinschreibt, funktioniert es generell schon besser.

Ich würde dem Modell aber noch ein paar mehr Informationen geben. Wenn du das Modell z. B. verwenden willst, Code zu schreiben, dann könntest du dem Modell sagen, dass es ein Python-Experte ist. Wenn du es verwendest, um kreative Texte zu schreiben, dann schreibst du rein, dass es ein kreativer Textexperte ist.

Warum diese Dinge Sinn machen, das sehen wir uns später noch an. Das Konzept ist hier "Semantic Association". Also: "You are a helpful assistant." Wir können das natürlich auch in Deutsch machen: "Du bist ein nützlicher Gehilfe und Experte für Code.“ Meinetwegen, lass es uns einfach mal ein Codemodell sein, jetzt, weil Command R+ sehr, sehr gut bei Code ist. Das da ist jetzt unser Systemprompt. Das heißt, wir sagen ihm ganz einfach, er ist ein nützlicher Gehilfe und Experte für Code.

Warum dieses Expertenzeug und alles wichtig ist, das erfährst du noch ganz, ganz gleich. Aber das ist der Systemprompt, und den können wir erst mal einsetzen.

Danach hier, das da, diese Assistants – wir können die selbst kreieren. Das sage ich dir danach natürlich noch etwas genauer.

Wenn ich jetzt ganz einfach "Activate" klicke, dann siehst du: Jetzt ist dieses Modell aktiv, und der Systemprompt ist eingesetzt. Ich kann das jetzt schließen, und jetzt habe ich hier tatsächlich dieses Modell. Und mit diesem Modell kann ich jetzt natürlich auch wieder ganz, ganz normal sprechen.

Und du siehst auch das da, diese Tools. Diese Tools sind "Function Calling". Und dieses Modell, Command R+, kann ganz, ganz viele Dinge verwenden. Das kann sozusagen API-Calls machen an andere Tools, z. B. an diese Websuche, an den URL-Fetcher, an den Dokumentparser, an Image Generation, an Image Editing und an einen Taschenrechner.

Ganz, ganz generell gesprochen: LLMs, die sind nicht besonders schlau in Mathe, aber wir können ganz einfach hier solche Tools mit einbauen und danach die Aufgabe an einen Taschenrechner weiterleiten. Ich will dir jetzt mal ganz, ganz kurz zeigen, wie das funktioniert. Wenn ich hier jetzt schreibe: "Was ist 88 x 88 geteilt durch 2?" und ich schick das raus, dann werden wir dieses sogenannte Function Calling machen an eines dieser Tools, und zwar an den Taschenrechner. Und ich bekomme die Antwort. Du siehst das hier schon: "Called Tool Calculator." Und wir bekommen die Antwort.

Also, wenn ich hier draufklicke, dann siehst du, was hier gemacht wurde. Das heißt, wir haben unseren Taschenrechner verwendet. Und das da ist unser Ergebnis: "88 x 88 geteilt durch 2 = 3872.“* Ja, wir haben die richtige Antwort bekommen, weil wir hier Function Calling an einen Taschenrechner gemacht haben.

*Im Bild wird 44 x 88 =3.872 3872 angezeigt, da der Prompt mit 88x88/2 eingegeben und der Promnpt nach den mathematischen Gesetzen berechnet wurde. Daß Ergebnis ist dasselbe.

Noch mal ganz, ganz kurz zu diesem Function Calling:

Function Calling bedeutet einfach nur, dass das LLM – das ist sozusagen wie das Betriebssystem, kannst du dir das vorstellen – und es holt ganz einfach andere Programme mit rein. Das funktioniert so, weil wir API-Calls machen an andere Programme. Eine API, ein API-Call, ist nichts anderes, als dass wir Anfragen schicken an ein anderes Programm. Lassen wir das einfach mal so richtig, richtig einfach stehen. Das passt schon so.

Wenn wir jetzt einen neuen Chat verwenden, haben wir immer noch unser Cohere Modell. Wir haben immer noch die Tools eingebaut. Das heißt, diese Dinge können wir immer noch automatisch abfragen. Frage ich jetzt z. B. nach einer aktuellen Information, dann wird automatisch das Web durchsucht. Ich kann sogar Files hochladen. Also, dieses Function Calling ist hier sofort mit eingebaut. Und das ist natürlich wahnsinnig praktisch.

Aber bevor wir das natürlich genauer in Angriff nehmen, müssen wir jetzt natürlich über weitere Konzepte im Prompt Engineering sprechen. Denn du weißt natürlich: Als allererstes musst du diesen Systemprompt hier auswählen. Danach kannst du jedes Modell verwenden, was du willst. Einige dieser Modelle können sogar das Function Calling machen, können also Anfragen stellen an andere Modelle. Andere können das Ganze tatsächlich nicht machen.

Gehen wir z. B. mal auf Google Jamma, dann können wir hier auch einen Systemprompt ausführen. Wir können auch ohne arbeiten, aber ich empfehle dir, einen zu verwenden. Und du siehst: Hier haben wir nur noch die Websuche. Das heißt, das ist das einzige Function Calling, das dieses Modell machen kann.

In diesem Video hast du zwei Dinge gelernt.

Erstens: Der Systemprompt ist wichtig, damit das Modell besser weiß, wie es sich verhalten kann.

Zweitens: Diese Modelle können Function Calling machen. Das heißt, die können Anfragen stellen an andere Tools, und diese anderen Tools werden danach einfach ausgeführt. Du kannst dir das so vorstellen, als ob das LLM das Betriebssystem ist und dass einfach andere Programme auf ihm drauf laufen.

Jetzt aber im nächsten Video zu einem wichtigen Konzept, das wir verstehen müssen, im Prompt Engineering. Und dafür können wir wieder jedes Interface verwenden, was wir eben verwenden wollen. Und um dir das zu beweisen, verwenden wir einfach mal den Microsoft Copilot. Der Microsoft Copilot im Internet ist ein ähnliches Interface wie dieses HuggingChat Interface. Aber hier läuft ChatGPT im Hintergrund. Ich will dir einfach nur zeigen: Ja, das läuft absolut in jedem einzelnen Interface komplett genau gleich.