Direkt zum Inhalt

So erstellen Sie intelligentere Apps mit Funktionsaufrufen und generativer KI

So erstellen Sie intelligentere Apps mit Funktionsaufrufen und generativer KI

Erstellen Sie dynamische, interaktive und intelligente Anwendungen ist ein wichtiges Unterscheidungsmerkmal für Softwareunternehmen, insbesondere in einer sich schnell entwickelnden technologischen Landschaft. Generative KI (GenAI) bietet viele Möglichkeiten, Unternehmen dabei zu helfen, dies zu erreichen. Die Herausforderung besteht darin, die GenAI-Funktionen über die statische Textgenerierung hinaus zu erweitern.

Die standardmäßigen Textgenerierungsfunktionen von Large Language Models (LLMs) reichen oft nicht aus. Dies liegt daran, dass ihnen Echtzeit-Kontextwissen fehlt und sie nach dem Training nicht auf private Daten zugreifen können.

Funktionsaufrufe können dabei helfen, komplexe Probleme vom Datenabruf bis zur Aufgabenautomatisierung zu lösen, indem sie Mikroabläufe für ein LLM zugänglich machen. So können Sie im Wesentlichen einen virtuellen Agenten erstellen, allerdings mit wenig Code.

Der ultimative KI-Assistent

Stellen Sie sich einen KI-Supportassistenten vor, der alles erledigt:

  • Beantwortung allgemeiner Fragen auf Grundlage von Informationen aus einer privaten Wissensdatenbank, um
  • Abrufen von Benutzerdaten in Echtzeit aus einer Datenbank,
  • Durchsuchen Sie eine private Wissensdatenbank nach Lösungen und
  • Erstellen eines Support-Tickets im Namen eines Mitarbeiters – alles in einem einzigen Gespräch.

Diese Funktion wäre für Softwareentwickler, die mit der Implementierung betraut sind, äußerst wertvoll. Sie würde auch Produktbesitzern helfen, die die Benutzerzufriedenheit und die Betriebseffizienz verbessern möchten.

Am wichtigsten ist, dass Endbenutzer von optimierten, effizienten Supportprozessen profitieren. Hier kommt der Funktionsaufruf – auch Tool-Nutzung genannt – ins Spiel. Er ermöglicht es KI-Modellen, eine Vielzahl von Aufgaben im Auftrag des aktuellen Benutzers auszuführen.

Das folgende Video zeigt die Benutzeroberfläche unseres neu veröffentlichten Support Assistant Starter-App. Die Animation basiert auf dem zuvor beschriebenen Anwendungsfall für den IT-Support. Sie dient auch als Beispiel für diesen Beitrag. Die Support Assistant Starter App verschafft Ihnen einen Vorsprung beim Erstellen eines virtuellen Agenten. (Weitere Tipps zum Einstieg finden Sie in den Ressourcen im „So starten Sie durch“ am Ende dieses Blogs.)

Schauen wir uns an, wie Funktionsaufrufe Ihnen helfen können, komplexe Probleme zu lösen, vom Datenabruf bis zur Aufgabenautomatisierung. Wir werden auch besprechen, wie Sie plattformgestützte GenAI-Konnektoren in Ihre Mendix Anwendungen. Wir liefern Ihnen praktische Beispiele und umsetzbare Erkenntnisse, damit Sie das volle Potenzial von GenAI nutzen und intelligentere Apps erstellen können.

Was ist Funktionsaufruf?

Funktionsaufrufe sind eine optionale Funktion der Textgenerierungsfunktionen, auch Chat-Vervollständigungen genannt. Sie ermöglichen einem LLM die Verbindung mit externen Tools und Systemen.

Der Funktionsaufruf ist ein Standardmuster, das von vielen LLMs unterstützt wird:

  • OpenAI-ChatGPT
  • Anthropischer Claude
  • Meta-Lama
  • Cohere-Kommando.

Die Anbindung eines LLM an externe Tools und Systeme kann in vielen Anwendungsfällen sinnvoll sein, beispielsweise:

Datenabruf

  • Zugriff auf Echtzeitdaten (z. B. Live-Produktionsmetriken) oder domänenspezifische Informationen (z. B. interne Dokumentation), um relevante Antworten bereitzustellen
  • Abrufen von Daten über den aktuellen Benutzer, damit dieser Fragen zu seinem Konto oder seinen letzten Aktivitäten stellen kann
  • Abrufen von Echtzeitdaten aus öffentlichen externen APIs. Beispielsweise Aktienkurse oder Wetterdaten, um Fragen zu beantworten wie: „Wie wird das Wetter morgen in Rotterdam?“

Aktionen auslösen

  • Erstellen von Objekten wie Bestellungen basierend auf einer Chat-Konversation
  • Starten von Workflows in internen oder externen Systemen durch Nutzung des LLM zur Interpretation komplexer Anfragen
  • Durchführen von Berechnungen auf Basis unstrukturierter Daten
  • Interagieren mit Objekten auf einer Seite, indem Sie Änderungen vornehmen oder die Anzeige von etwas anfordern

So verwenden Sie Funktionsaufrufe in Mendix

Die gute Nachricht ist, dass Entwickler keine zusätzlichen Bereitstellungen, Tools, Dienste oder Fähigkeiten benötigen, um Funktionsaufrufe in MendixAlles kann konfiguriert werden im Inneren Mendix Studio Pro mit unseren plattformunterstützten GenAI-Anschlüssen.

Das folgende Diagramm zeigt, wie Funktionsaufrufe von einem Mendix App funktioniert.

Schritt 1

Funktionen in Mendix sind im Wesentlichen Mikroflüsse, die als Teil der Anfrage an das LLM beschrieben und registriert werden können. Im Allgemeinen ist das Hinzufügen von Funktionen zu einer Anfrage optional. Wenn eine Anfrage keine Funktionen enthält, sind die Schritte zwei bis fünf nicht anwendbar und das LLM generiert direkt eine Antwort basierend auf der Benutzereingabeaufforderung, wie in Schritt sechs gezeigt.

Schritt 2

Basierend auf dem aktuellen Kontext und den Funktionsbeschreibungen entscheidet das Modell, ob vordefinierte Funktionen (Mikroflüsse) aufgerufen werden sollen, um weitere Informationen zu sammeln oder basierend auf der Nachricht des Benutzers Maßnahmen zu ergreifen. Dies wird als Benutzeraufforderung bezeichnet.

Schritt 3

Der LLM ruft selbst keine Funktion auf. Stattdessen gibt er eine strukturierte Antwort zurück mit Anweisungen, welche Funktionen der LLM ausführen soll. Mendix App und ihre erforderlichen Eingabeparameter.

Schritte 4 und 5

Die Funktionsmikroflüsse werden dann innerhalb des Mendix app. Ihre Rückgabewerte werden an das LLM zurückgesendet, um sie der anfänglichen Benutzereingabeaufforderung hinzuzufügen, die gerade verarbeitet wird.

Dieser Vorgang, der im folgenden Diagramm in den Schritten zwei bis fünf visualisiert wird, wiederholt sich, bis das LLM im nächsten Schritt die endgültige Antwort zurückgibt.

Schritt 6

Das LLM gibt die endgültige Assistentenantwort zurück.

Der Chat-Abschlussvorgang in den plattformgestützten GenAI-Konnektoren verarbeitet alle sechs Schritte automatisch. So können sich Entwickler nur auf das Erstellen von Funktionsmikroflüssen konzentrieren, die der Anfrage hinzugefügt werden, während der Rest für sie erledigt wird.

Mendix Entwickler haben die volle Kontrolle

Kurz und Mendix app werden Funktionsmikroflows im Kontext des aktuellen Benutzers ausgeführt. Dadurch können Entwickler sicherstellen, dass nur Daten abgerufen und angezeigt werden, die für den aktuellen Benutzer relevant sind. Daher ist die Mendix Die App hat die volle Kontrolle darüber, welche Microflows aufgerufen werden und welche Daten vom LLM verwendet werden.

Benutzer haben detaillierten Zugriff auf Datensicherheit und Aktionsvalidierung. Neben dem Abrufen von Daten können Benutzer auch Aktionen basierend auf ihrer Eingabeaufforderung auslösen und so mit der aktuellen Seite interagieren.

Bei Aktionen, die Auswirkungen auf die reale Welt haben können, wie das Erstellen von Objekten, das Auslösen von Mikroflüssen oder das Aktualisieren von UI-Elementen, empfiehlt es sich, einen Bestätigungsschritt einzuschließen, um den Benutzer einzubeziehen. Sie möchten nicht, dass Ihr Assistent versehentlich 100 Pizzen bestellt, wenn Sie eigentlich 10 bestellen wollten! (Weitere Beispiele sind das Senden einer E-Mail, das Aufgeben einer Bestellung oder das Buchen eines Termins.)

Beide OpenAI-Konnektor und Amazon Bedrock Connector Unterstützen Sie Chat-Vervollständigungen mit Funktionsaufrufen durch die Nutzung der GenAI Commons-Modul. Diese Module bieten einfach zu verwendende Vorgänge zum Hinzufügen von Funktionen zu einer Anfrage.

Der folgende Mikrofluss zeigt ein Beispiel dafür, wie:

  • Ein Anfrageobjekt wird erstellt
  • Mehrere Funktionen werden hinzugefügt
  • Es wird ein Chat-Abschlussvorgang mit Ihrem bevorzugten KI-Anbieter wie Amazon Bedrock oder (Azure) OpenAI ausgeführt.
  • Die Antwort des Assistenten wird aktualisiert, sodass sie auf einer Seite angezeigt werden kann

Wenn Sie eine Chat-Abschlussoperation mit einem plattformgestützten GenAI-Connector verwenden, müssen Entwickler der Anfrage lediglich die Funktionsmikroflows hinzufügen. Der Connector kümmert sich um die Antwort und führt die Funktionsmikroflows aus, bis das LLM die endgültige Assistentenantwort bereitstellt.

Wie wird Funktionsaufruf in der Support Assistant Starter-App verwendet?

Schauen wir uns das genauer an Support Assistant Starter-App. Wir möchten sehen, wie Funktionsaufrufe für die Schaffung einer ansprechenden und interaktiven Benutzererfahrung von entscheidender Bedeutung waren.

Normalerweise besuchen Mitarbeiter eine IT-Support-Anwendung, weil sie ein IT-bezogenes Problem haben. Hier sollen Support-Chatbots den Aufwand für den First-Line-Support reduzieren. Dies tun sie, indem sie die Anzahl der erstellten Tickets und die zu ihrer Bearbeitung erforderlichen Ressourcen reduzieren.

Durch die Verwendung von Funktionsaufrufen haben wir dem Support-Assistenten die Möglichkeit gegeben, zwischen folgenden Aktionen zu wählen:

Abfragen einer Wissensdatenbank mit Handbüchern

Hier fragt der LLM eine private Wissensdatenbank mit statischen Handbüchern und Anleitungen ab, die Lösungen für gängige IT-Probleme enthalten. Dies ist im Grunde Erweiterter Abruf generiert (RAG) auf statischen Textdaten, die in eine Funktion gepackt sind.

Abfrage einer Wissensdatenbank mit gelösten Tickets

Diese Funktion durchsucht gelöste Tickets mit ähnlichen Beschreibungen, um mögliche Lösungen vorzuschlagen. Im Gegensatz zur ersten Funktion, die statische Freitextdaten verwendet, arbeitet diese mit Mendix Daten, die objektbezogen sind und sich im Laufe der Zeit ändern können, sogenannte RAG.

Löst der Benutzer sein Problem mit einer Lösung aus den Handbüchern oder gelösten Tickets, wird der Chat beendet und es wird kein Ticket erstellt. Das spart sowohl dem Benutzer als auch dem Helpdesk-Mitarbeiter Zeit.

Suche nach ähnlichen offenen Tickets des Benutzers und aktualisiere das Ticket

Bevor Sie ein neues Ticket erstellen, prüfen Sie, ob derselbe Mitarbeiter bereits ein Ticket für ein ähnliches Problem eröffnet hat. Wenn dies der Fall ist, können Sie die Funktion „Ticket aktualisieren“ verwenden, um die neuen Informationen dem vorhandenen Ticket hinzuzufügen.

Wenn keiner der vorherigen Schritte oder Lösungen aus geschlossenen Tickets oder der Wissensdatenbank funktioniert, kann der Assistent den Benutzer fragen, ob er ein neues Ticket erstellen möchte. Dies hilft Benutzern, wichtige Details anzugeben, was die Arbeit für das Supportpersonal erleichtert und zusätzliche Arbeit reduziert.

Neues Ticket erstellen

Diese Funktion erstellt ein Ticket für den Benutzer unter Verwendung der bereits im Gespräch bereitgestellten Informationen. Dies führt zu qualitativ hochwertigen Tickets, die alle relevanten Details erfassen und eine schnellere Ticketlösung ermöglichen.

Beim Definieren von Funktionen ist es wichtig, ihren Zweck und ihre Verwendung klar zu erklären. Die Beschreibung dient dem LLM als Eingabeaufforderung und gibt an, wann die Funktion aufgerufen werden soll, welche Eingabe sie benötigt und wie ihr Rückgabewert zu interpretieren ist.

Sie können allgemeine Richtlinien zur Reihenfolge der Funktionsausführung in die Systemeingabeaufforderung aufnehmen. Beispielsweise sollte der Support-Assistent immer die Wissensdatenbank überprüfen oder Tickets auf Lösungen prüfen, bevor er ein neues Ticket erstellt.

Warum Sie Funktionsaufrufe in Ihrem Mendix App

Beim Datenabruf können Sie entweder Prompt Engineering oder Funktionsaufrufe verwenden. Der Funktionsaufruf hat jedoch einige klare Vorteile:

  • Es ist schwer vorherzusagen, welche Informationen in zukünftigen Unterhaltungen relevant sein werden, was dazu führen kann, dass einer Systemaufforderung zu viele Informationen hinzugefügt werden. Während Funktionsaufrufe immer noch erfordern, dass Sie Funktionen im Voraus definieren, wird dadurch verhindert, dass irrelevante Informationen den Chat-Kontext überladen. Das LLM kann dann bestimmen, welche Daten abgerufen und nach Bedarf eingefügt werden sollen.
  • Wenn Sie der Systemeingabeaufforderung unnötige Informationen hinzufügen, verliert das LLM möglicherweise den Fokus auf das Wesentliche. Dies kann zu unerwartetem Verhalten und unerwarteten Antworten führen.
  • Darüber hinaus werden Benutzern normalerweise Gebühren auf Grundlage der Anzahl der Eingabe- und Ausgabetoken in einer Anfrage berechnet. Das Einfügen vieler zusätzlicher Daten verlängert die Eingabeaufforderung, erhöht die Anzahl der Eingabetoken und erhöht die Kosten unnötig.

Funktionsaufrufe helfen bei der Lösung dieser Herausforderungen, indem sie nur die benötigten Daten zum richtigen Zeitpunkt bereitstellen und so sicherstellen, dass sie immer auf dem neuesten Stand sind.

In anderen Fällen, in denen Aktionen innerhalb von Funktionen ausgelöst werden müssen, funktioniert Prompt Engineering nicht gut. Funktionsaufrufe bieten neue Möglichkeiten, die normalerweise Agenten oder Assistenten erfordern würden, aber mit wenig Code umgesetzt werden können.

Die Vorteile der Verwendung von Funktionsaufrufen mit der plattformgestützten Mendix Zu den auf dem GenAI Commons-Modul basierenden Konnektoren gehören:

  • Mikroflüsse können ausgeführt werden innerhalb des Mendix ohne sie über eine API verfügbar zu machen, um sie von externen Systemen aus verfügbar zu machen.
  • Es besteht keine Notwendigkeit, Code außerhalb von zu schreiben Mendix, wodurch Funktionsaufrufe zu einem echten Low-Code-Erlebnis werden

So starten Sie durch

Schauen Sie sich die neue Support Assistant Starter-App um Ihnen zu helfen, schnell einen virtuellen Agenten basierend auf dem von uns besprochenen Anwendungsfall zu erstellen. Es ist auch eine großartige Möglichkeit, zu lernen, wie man Funktionsaufrufe implementiert in Mendix.

Wenn Sie neu beim Hinzufügen von GenAI-Funktionen zu einem Mendix Anwendung, empfehlen wir Ihnen dringend, die GenAI-Vorzeigeanwendung. Es bietet eine Reihe inspirierender Anwendungsfälle, von einfachen Chat-Implementierungen mit dem Konversations-UI-Modul bis hin zu erweiterten Funktionen wie Funktionsaufrufen, Retrieval-Augmented Generation (RAG), Vision und Bildgenerierung.

Sowohl die Support Assistant Starter-App als auch die GenAI-Showcase-App verwenden plattformgestützte Konnektoren für zwei beliebte KI-Anbieter: (Azure) OpenAI und Amazonas Grundgestein. Sie können problemlos zwischen diesen Anbietern und ihren Modellen wechseln und sie so einfach nebeneinander testen und vergleichen.

Diese Anschlüsse basieren auf dem GenAI Commons-Modul, das ein gemeinsames Domänenmodell und wiederverwendbare Aktionen zum Registrieren von Funktionen und zum Hinzufügen zu Anforderungen bereitstellt. Die Konnektoren verarbeiten Funktionsaufrufantworten vom LLM und führen die Funktionen basierend auf dem Kontext des aktuellen Benutzers aus.

Seien Sie sicher, dass Sie die Übersicht über Modelle, die Funktionsaufrufe unterstützen und überprüfen Sie die Technische Dokumentation.

Wenn Sie an Ihrem eigenen GenAI-Anwendungsfall arbeiten und Unterstützung benötigen oder Feedback geben möchten, würden wir uns freuen, von Ihnen zu hören. Kontaktieren Sie Ihren Customer Success Manager oder senden Sie uns eine Nachricht im #genai-Steckverbinder Kanal auf dem Mendix Gemeinschafts-Slack. Registrieren Sie sich hier,!

Wählen Sie Ihre Sprache