Zum Inhalt springen

Werk:AI mit Arnie/Function Calling für KI-Agenten

aus AufEinWort, der freien Forschung
▶ Kurs KI-Agenten
📽️ 7 Function Calling für KI Agenten Lead Recherche im Web & personalisierte Nachrichten (17:18)
🎓 Function Calling für KI-Agenten
Deine ersten KI-Agenten erstellen
▲ Agent Nr. 2: Social-Media-Strategie
▶ Function Calling für KI-Agenten
▼ Python-Interpreter, Taschenrechner & Textdateien


Du weißt bereits, was Function Calling ist, und Function Calling wollen wir jetzt mit einbauen. Wir starten erstmal mit den einfachen Dingen beim Function Calling. Das heißt, wir verwenden Dinge, die wir schon komplett vom Marketplace verwenden können. Wir werden bis jetzt noch keine eigenen Funktionen schreiben, und auch die RAG-Technologie sehen wir uns später an, da dort die Datenvorbereitung ein klein wenig komplexer sein kann.

Das heißt, wir verwenden jetzt das einfachste Function Calling, das wir verwenden können, und wir bauen einen neuen KI-Agenten.

Du erinnerst dich noch an das Konzept: Wir haben das LLM – ich nenne das hier „M“ für Modell. Danach haben wir den Boss oder den Supervisor, wir haben einige Worker oder Arbeiter, oder wie du die Dinge heißen willst. Und wenn die Arbeiter nicht schlau genug sind, hast du ja schon mal gehört, dass wir Tools verwenden können. Und um diese Tools geht es natürlich in diesem Video.

Das heißt, wir starten wieder bei Agent Flows, wir klicken „Add New“, und wir machen eigentlich wieder dasselbe wie vorhin. Wir brauchen natürlich einen Supervisor,.

Danach ein Chatmodell und einige Arbeiter. Beim Chatmodell setze ich aktuell wieder natürlich auf OpenAI. Wir könnten danach auch Llama verwenden für lokale Dinge, das sehen wir uns später an.

Und jetzt brauchen wir Arbeiter, und ich will drei Arbeiter haben. Dementsprechend Worker, Worker und Worker.

Wir verbinden die Dinge natürlich wieder, und danach natürlich den Supervisor wieder mit unseren Arbeitern.

Erinnere dich daran: Wir verwenden immer und überall das gleiche Modell, immer läuft hier ChatGPT 4 von OpenAI bzw. GPT-4 Omni. Wir wählen wieder unsere Credentials, wir wählen das Modell, das wir eben gerne haben wollen würden,.

Und jetzt müssen wir natürlich erst mal sagen, was unsere Arbeiter machen sollen. Und danach will ich ihnen Tools geben, damit sie einfach auch hilfreicher sind.

Wenn du hier auf „Plus“ gehst, dann findest du da unten die ganzen Tools, die wir verwenden können. Hier kannst du draufklicken, und du siehst sofort, was du verwenden kannst: Brave Search API – und es ist immer kurz beschrieben, was die Dinge machen. Hiermit bekommt man sozusagen Internetzugriff über diese Search API von Brave. Danach Calculator, das ist natürlich ein Taschenrechner. Chain Tools, Chatflow Tools, Custom Tools – die Custom Tools sehen wir uns danach noch genauer an, die werden etwas komplexer. Extra Search – das ist perfekt, wenn du auch eine Internetsuche haben willst, die speziell für LLMs da ist. Die Google Search, also auch hier eine Internetsuche, Open API Toolkit, Python Interpreter, Read File, Request Get und so weiter.

Ich will hier das Ganze erstmal so einfach wie möglich starten. Wir wollen unserem ersten Arbeiter Internetzugriff geben, und dafür mag ich die Serper API eigentlich am liebsten. Hier bekommen wir 2.500 Anfragen komplett gratis, wenn wir uns danach einen API Key holen. Das heißt, wir schmeißen die Serper API hier rein, und wir wollen unserem ersten Arbeiter auch Zugriff geben zum Internet. Das heißt, unser erster Arbeiter wird natürlich das Internet verwenden.

Und jetzt machen wir die Prompts für unser Team, weil wir natürlich auch was Sinnvolles machen müssen. Ich klicke hier erstmal „Speichern“ und nenne das Ding „Function Calling Agent“. Wir werden danach noch mehrere Dinge hinzufügen. Ich will, dass du weißt, wie du jedes Tool hinzufügen kannst.

Jetzt gehen wir erst mal zurück, und wir müssen noch mal auf die Agent Flows gehen. Wir gehen runter zu unserem Prompting-Agenten, und wir beschreiben, welche Application wir haben wollen. Wir können hier wieder draufklicken, ich kann das groß machen, ich kann die Dinge von vorhin auch löschen, und ich beschreibe genau, welchen Agenten ich gerne hätte.

Unser Prompt sieht so aus: Ich will drei Agenten.

Der erste Agent soll das Internet durchsuchen, indem er die Serper API verwendet – wir können das auch Serper API nennen – und Informationen sammelt, z. B. wo die Person gearbeitet hat, was die Dinge sind, die die Person macht, und welche Projekte gerade anstehen. Durchsucht wird das gesamte Web, einschließlich GitHub, X (ehemals Twitter), Wikipedia und mehr.

Der zweite Agent schreibt eine vollständige Beschreibung der Person.

Der dritte Agent schreibt danach eine persönliche E-Mail an die Person, die mit einem Kompliment zu den neuesten Dingen beginnt, die sie gemacht hat, und danach fragt, ob die Person einen Job für uns hat.

Wir haben also drei Agenten: Der erste Agent macht Research zu einer bestimmten Person, der zweite Agent schreibt danach unsere Beschreibung, und der dritte Agent fragt höflich in einer Mail, ob wir für die Person arbeiten können. Du kannst das natürlich wieder anpassen, wie du magst. Ich schicke das Ganze ab, damit in der Zwischenzeit mein Team hier für mich arbeiten kann, für mich die Prompts erstellen kann.

Aber wie gesagt, du kannst die Dinge natürlich ganz genau so anpassen, wie du magst. Du kannst auch Lead Research machen für Personen, denen du etwas verkaufen willst. Es kommt natürlich immer ganz darauf an, was du machen willst. Es gibt eine Milliarde Möglichkeiten, Agenten zu bauen, die uns eventuell helfen könnten. Und wie gesagt, ich muss hier einfach viele verschiedene Beispiele bringen, damit wir hier gute Outputs bekommen.

Und in der Zwischenzeit sind wir schon beim Prompt Reviewer angekommen. Wir sehen uns, sobald das alles durch ist.

In der Zwischenzeit mache ich wieder ein Textdokument, das ich öffne, und wir haben unsere Outputs bekommen. Dementsprechend haben wir hier die finalen Prompts. Ich will das alles natürlich kopieren, also kopieren, ich schmeiße in das Text… in die Textatei, die ich gerade gemacht habe.

Wir gehen hier natürlich wieder zurück, wir gehen runter zu unserem Function Calling Agenten, und ich füge hier die ganzen Dinge ein. Als erstes heißt der Typ „Internet Researcher“. Das ist natürlich unser erster Arbeiter. Hier danach der Prompt, wieder gleiches Spiel: Wir löschen natürlich den alten Prompt und fügen den neuen Prompt ein.

Du solltest dir im Optimalfall diese Prompts natürlich auch ein klein wenig durchlesen, damit du verstehst, wie du gute Prompts machen kannst. Ich will das hier aber einigermaßen schnell machen. Dementsprechend Agent 2: Profile Writer – das Ding muss hier wieder rein. Danach mache ich das groß, ich lösch das Ding raus, wir machen auch hier wieder den System Prompt rein, bis hier, und selbiges natürlich auch mit dem dritten Arbeiter. Und das sollte runtergehen bis hierher. Also „Automation explained…“, das muss ich tatsächlich nicht mehr mit einfügen. Okay, also den Prompt rein und save, und jetzt haben wir natürlich alle unsere Arbeiter.

Wenn wir diese Serper API hier nicht mit drin hätten, dann muss sich das LLM natürlich halten an die Dinge, die das LLM weiß. Und das LLM, das OpenAI LLM, das hat natürlich nicht sofort Internetzugriff. Das heißt, die Informationen, die das LLM hat, sind höchstwahrscheinlich nicht mehr up-to-date. Aber da wir die Serper API mit eingebaut haben, können wir uns frische Informationen vom Web suchen, und das ist natürlich praktisch.

Und wie bauen wir hier die Serper API ein? Das ist einfach: Serper API Key oder Serper API Key. Danach können wir ganz einfach auf serper.dev gehen, „Get Your Free API Key“. Hier müssen wir uns jetzt anmelden. Ich habe bereits einen Account, dementsprechend logge ich mich nur ein. Wir müssen auf API Keys gehen, hier diesen Key, den kann man sich natürlich ansehen, und den sollte man ab und zu resetten. Das heißt, man klickt „Reset Key“, und wir bekommen einen neuen. Ich werde das Ding jetzt ausblenden, und ich klicke noch mal „Reset Key“. Das ist natürlich wichtig, damit nicht jeder diesen Key sieht.

Hier im Dashboard sieht man, dass man 2.500 Anfragen gratis zur Verfügung hat. Dementsprechend kopieren wir jetzt natürlich diesen Key. Wir gehen wieder zurück in Flowise, und im Flow drinnen können wir jetzt unsere Dinge angeben. Ich habe hier schon einige Keys, ich will aber einen neuen erstellen, und wir nennen das Ganze jetzt „Flowise Kurs“, z. B. Und jetzt muss der Key hier rein von der Serper API, und wir klicken „Add“, und eigentlich haben wir jetzt unsere Dinge schon zusammen.

Ich klicke mal kurz „Speichern“. Ich öffne das Ding, ich mache es groß. Wir können das auch klein lassen, und ich gebe jetzt ganz einfach mal die Person ein, die wir gerne durchsuchen wollen würden, für die wir gerne arbeiten: Andrew Karpathy. Für jeden, der Andrew Karpathy nicht kennt, das ist einer der besten oder hellsten Köpfe im KI-Bereich. Der hat schon gearbeitet für Tesla, der hat auch gearbeitet für OpenAI, der war im Full Self-Driving-Team von Tesla. Der Typ hat vieles erreicht im KI-Bereich.

Wir gehen also zurück, und ich schicke das los. Und danach sollte alles nacheinander wieder getriggert werden. Das heißt, „Gather Information from Andrew Karpathy“ und so weiter. Das ist natürlich perfekt. Der Internet Researcher macht sich jetzt auf den Weg, und wir haben uns jetzt die neuesten Dinge angesehen.

Und das ist perfekt, denn genau das habe ich erst heute rausgefunden: Eureka Labs. Also Andrew Karpathy’s latest events, Eureka Labs combines artificial intelligence with education. Also, das ist Gold wert. Tatsächlich, wie gesagt, das habe ich auch erst heute rausgefunden. Das zeige ich dir gleich, sobald das Ding fertig ist. Deshalb verwende ich hier jetzt gerade ein Andrew Karpathy.

Was ist hier passiert? Unser erster Agent, der Internet Researcher, hat das Tool verwendet, und das kannst du dir auch hier ansehen: Er hat die Serper API verwendet. Du siehst das hier: „Search Input Item: Andrew Karpathy Current Project“, und danach „Output: Andrew Karpathy Latest Project is called Eureka Labs Open Founding Member Andrew Karpathy …“ und so weiter. Also im Februar war er weg von OpenAI, und jetzt hat er gerade was gestartet namens Eureka Labs. Das ist die erste Suche.

Bei der zweiten Suche haben wir etwas zu der Historie: Er hat gearbeitet bei OpenAI, und er war auch bei Tesla mit dabei. Also auch perfekt. Und die dritte Suche: „Recent Achievements“. Hier waren einige Dinge noch dabei, die er erreicht hat.

Unser Custom Tool hat also jetzt die Dinge hier alle zusammengefasst: Also der Background – OpenAI 15 bis 17, Tesla 17 bis 22. Danach „Recent Achievements“: Er hat irgendetwas bei Microsoft Build gemacht, „Robot Prime Products“. Danach die aktuellen Projekte: Eureka Labs.

Ich will dir ganz kurz zeigen, was Eureka Labs ist. Das Ding ist Eureka Labs von Andrew Karpathy, und dieser Tweet ist wirklich relativ neu. Also, ich habe heute zum Beispiel den 17. Juli, der Tweet ist erst vom 16. Juli. Also, das kam direkt von X. Das war ein Tweet, der erst einen einzigen Tag alt ist. Eureka Labs ist das neue Unternehmen von Andrew Karpathy. Er will hier sozusagen KI-Fortbildungen machen, und er will das kombinieren direkt mit KI. Es gibt noch nicht alle Informationen, aber hier findet man ein paar Dinge raus. Wenn dich das näher interessiert, macht jetzt nichts, ich bin begeistert von den Dingen. Ich bin begeistert, dass mein KI-Agent die Dinge gefunden hat

Und danach noch ein paar Informationen. Danach geht der Supervisor her und sagt zum Profile Writer, dass er von Karpathy die Dinge zusammenfassen sollte. Wir haben alles super gut strukturiert bekommen.

Danach geht der Supervisor wieder her und sagt, er soll eine E-Mail für uns machen. Und die E-Mail für Andrew Karpathy ist jetzt natürlich das da: Also das Subject „Exploring Opportunities at Eureka Labs“. Perfekt. Zum Start: „Hallo, lieber Andrew. I hope this message finds you well.“ Gratulationen zu ein paar Dingen aus dem Hintergrund und so weiter. Auch Dinge von OpenAI sind mit dabei und natürlich auch, dass er jetzt die Eureka Labs hat. Also, das ist alles perfekt.

Wir müssen jetzt natürlich nur noch unseren Namen mit einfügen. Wir haben noch mal „Finished“ hier vom Supervisor und noch mal unsere überarbeitete E-Mail. Die könnten wir jetzt sofort hier kopieren, und wir könnten hier einfach weitermachen mit allen und mit jedem, was wir wollen. Zum Beispiel Elon Musk.

Elon Musk. Wenn ich jetzt Elon Musk reinschreibe, dann wird dasselbe natürlich passieren zu Elon Musk. Das heißt, wir bekommen eine Geschichte, die neuesten Projekte, eine kleine Art Lebenslauf, und deine … und danach eine E-Mail, wenn wir für Elon Musk arbeiten wollen würden. Das heißt, das Ganze läuft wieder weiter. Es wurde Research gemacht, „Current Projects“, die neuesten Projekte sind XAI von Elon Musk. Er hat neulich erst eine Billion* bekommen. Also, war natürlich auch relativ gut für Elon Musk. Und danach geht unser Supervisor wieder her und macht hier unsere Zusammenfassung, damit alles besser aussieht, und zum Schluss die Mail, wenn wir für Elon Musk arbeiten wollen würden.

* Eine Milliarden amerikanische Dollar

Warum ist das wieder alles Englisch? Natürlich, weil Andrew Karpathy in Amerika wohnt, weil Musk in Amerika wohnt. Und jetzt will ich das Ganze noch versuchen für jemanden, der aus Deutschland kommt. Für wen wollen wir arbeiten, der aus Deutschland ist und der erst neulich was Cooles Neues gemacht hat? Lass mich überlegen.

Also erstmal haben wir hier jetzt auch die Dinge fertig von Elon Musk. Ich will den Chat jetzt erstmal löschen, und ich will jetzt das da machen: Christian Klein. Christian Klein ist der CEO von SAP. Ich bin gespannt, ob wir das hinbekommen.

Ich schreib noch folgendes dazu: Zielperson spricht Deutsch. Mal sehen, ob wir hier die richtigen Outputs bekommen. Unser Internet Researcher ging auf den Weg, und er hat Christian Klein gefunden. Er schreibt erstmal einen Hintergrund. Hier, das macht unser Researcher auf Englisch. Er hat die Suche verwendet, also „Search Christian Klein Aktuelle Projekte… SAP“ und so weiter. Ja, es sieht perfekt aus. Danach den Hintergrund: Also, wir haben einige Suchen gestartet, auch die Dinge von GitHub und die letzten Aktivitäten. Wir haben den kompletten Hintergrund bekommen. Danach ging es hier weiter und so weiter, und zum Schluss „Finished“.

Also hier jetzt die E-Mail: „Betreff: Anerkennung Ihrer jüngsten Erfolge und Anfragen zu Karrieremöglichkeiten bei SAP“. Das heißt, perfekt. Wir haben eine E-Mail für Christian Klein. Er ist CEO bei SAP, und unser Researcher hat das alles natürlich selbst rausgefunden, hat die neuesten Dinge mit eingebaut und so weiter.

Und es ist alles auf Deutsch: „Sehr geehrter Herr Klein, ich hoffe, es geht Ihnen gut. Ich möchte zunächst meine aufrichtige Bewunderung für Ihre jüngsten Erfolge bei SAP ausdrücken“ und so weiter. Sieht wieder, muss ich dazu sagen, alles perfekt aus. Zum Schluss natürlich noch müssen wir unseren Namen einfügen.

Das heißt, das funktioniert wirklich alles so unglaublich schnell. Wir haben sogar rausgefunden, wann der Typ geboren worden ist. Die GitHub-Activity haben wir auch dabei. Also stark. Ich muss sagen, unser KI-Agent leistet richtig gute Arbeit, alles perfekt umgesetzt.

Ich will den Chat dennoch noch mal kurz löschen. Wir gehen zurück, denn das ist bei Weitem nicht alles. Wir können mehrere dieser Tools einbauen.

Wir können mal „+“ klicken, und wir gehen noch mal runter zu den Tools. Und das nächste Tool, was wir verwenden könnten, wäre zum Beispiel ein Taschenrechner. Wenn wir einen Taschenrechner hier reinschmeißen, dann können wir einen Taschenrechner verbinden, entweder mit dem ersten Arbeiter, wenn das den Sinn macht, mit dem zweiten Arbeiter oder mit dem dritten Arbeiter.

Ich muss dazu sagen, für unser Konzept macht hier ein Taschenrechner natürlich keinen Sinn. Aber ich will dir kurz erklären, wo ein Taschenrechner Sinn machen würde. Sagen wir, bei der zweiten oder dritten Node hast du jemanden oder hast du einen sogenannten Arbeiter, der gewisse Rechnungen machen muss. Meinetwegen große Multiplikationen, Divisionen, Plus- oder Minusrechnungen.

Das LLM an sich ist leider nicht besonders gut in Mathe, aber du kannst es mit dem Taschenrechner ausstatten. Du sagst natürlich: „Hey, mein zweiter Arbeiter muss den Taschenrechner verwenden, um die Rechnungen auszuführen.“ Und danach ist alles, was du machst, diesen Taschenrechner hier natürlich einzustöpseln, und das Ganze würde funktionieren.

All das funktioniert wirklich so einfach. Ich muss dir das jetzt natürlich nicht direkt vorzeigen, denn im nächsten Video zeige ich dir noch ein paar weitere Dinge zum Function Calling. Da bauen wir noch mal einen Agenten, wo wir mehrere dieser Tools einbauen können – und zwar nicht nur die Internetsuche, sondern einige mehr.

Also, wir sehen uns natürlich im nächsten Video, denn in diesem Video hast du den nächsten coolen KI-Agenten gebaut. Dieser KI-Agent ist wirklich praktisch. Er durchsucht sozusagen Leads oder Dinge, wo du gerne arbeiten würdest. Er kann jede Person durchsuchen, scannen, darüber einen Bericht schreiben und danach eine personalisierte Mail. Das können sogar Coldmails sein für Leute, denen du etwas verkaufen willst.

Es können Jobs sein, die du zum Beispiel gerne hättest. Es könnte wirklich sein, was auch immer du willst. Dieser KI-Agent kann dir wirklich viel Arbeit sparen.

Wir sehen uns im nächsten Video.