Direkt zum Inhalt

Warum Sie Amazon Bedrock in Ihrem Mendix Apps sind ein Muss 

Warum Sie Amazon Bedrock in Ihrem Mendix Apps sind ein Muss 

Das Erstellen schneller, intuitiver und intelligenter Anwendungen ist eine Notwendigkeit. Zwar werden die Möglichkeiten zur Erstellung dieser Anwendungen von Tag zu Tag klarer, aber die Suche nach den richtigen Tools kann sich immer noch wie eine Bergbesteigung anfühlen.

In diesem Blogbeitrag teilen wir die persönlichen Erfahrungen unseres Teams mit dem Amazon Bedrock-Dienst und beleuchten, warum die Verwendung dieses Dienstes in Ihren Anwendungen ein Muss ist.

Mendix & KI

Mendix hat eine dynamische Einführung in die KI-gestützte App-Entwicklung für Unternehmensanwendungen gemacht. Unsere Plattform ermöglicht die Bereitstellung intelligenter, intuitiver und personalisierter Apps mit KI-Fähigkeiten.

Auf unserer Suche nach dem Besten für Mendix App-Entwicklern ist es uns gelungen, die intuitivsten KI-Dienste von AWS zusammenzuführen, damit die Entwicklung intelligenter Unternehmensanwendungen ein Kinderspiel wird.

Sie können unsere Reise verfolgen durch:

Unser Ziel als Team ist es, Entwicklern die Tools bereitzustellen, die sie für ihre Entwicklungspraxis als wertvoll erachten. Wir verbringen auch Zeit damit, dynamische und benutzerfreundliche intelligente Funktionen zu untersuchen und hervorzuheben.

Kürzlich haben wir einen neuen Service von AWS getestet – Amazonas Grundgestein – daraus entstand ein Mendix Amazon Bedrock-Konnektor und ein Beispielimplementierung.

 

Von KI inspiriertes Bild: Berge treffen auf das Meer
Stichwort: Berge treffen auf Meer

Was ist Amazon Bedrock?

Amazonas Grundgestein ist ein vollständig verwalteter Dienst, der Foundation Models (FMs) von Amazon und führenden KI-Startups über eine API verfügbar macht.

Dadurch können Sie aus verschiedenen FMs wählen, um das Modell zu finden, das für Ihren Anwendungsfall am besten geeignet ist. Es verspricht einen schnellen Einstieg in eine serverlose Erfahrung mit grundlegenden Modellen.

Was sind Foundation-Modelle?

Die erste Definition von Gründungsmodelle wurde von der Stanford University gegeben. Sie beschreibt sie (z. B. BERT, GPT-3, Claude, Amazon Titan) als Modelle, die auf breiten Daten in einem Umfang trainiert werden, der an eine breite Palette nachgelagerter Aufgaben angepasst werden kann.

Da wir frühzeitig auf Amazon Bedrock zugreifen konnten, standen uns die neuesten Versionen der folgenden Basismodelle zur Verfügung:

Text

  • Amazon Titan Large v.1.01
  • AI21 Labs Jurassic-2 Ultra
  • Anthropischer Claude 2

Bild

  • Stabilität AI Stable Diffusion XL v2.2.2

Um es für unser Team spannender zu gestalten, während es mehr über diesen Dienst erfährt, haben wir beschlossen, einen Hackathon-Tag abzuhalten: „Wir gegen Amazon Bedrock.“

Es war erstaunlich zu sehen, wie schnell wir in einer Test-App Fortschritte machten. Innerhalb von 15 Minuten hatten wir erfolgreich eine Liste aller in Amazon Bedrock verfügbaren Modelle integriert und abgerufen.

Noch beeindruckender: In knapp einer Stunde experimentierten wir bereits mit Amazon Titan und erstellten Bilder mit Stable Diffusion XL von Stability AI.

Später in diesem Beitrag werden wir die persönlichen Erfahrungen verschiedener Teammitglieder – sowohl die Schwierigkeiten als auch die aufregenden Momente – teilen, die die grundlegenden Modelle in der Testanwendung implementiert haben.

Stabile Diffusion XL

In der Welt der generativen KI ist Stability AI ein Unternehmen, das man im Auge behalten sollte. Das Open-Source-Unternehmen startete seine KI-Initiative im Jahr 2021 und zählt mittlerweile eine Community mit mehr als 200,000 Entwicklern, Entwicklern und Forschern.

Stability AI verwendet den leistungsstarken Ezra-1 UltraCluster-Supercomputer, um die Stability Diffusion XL-Modelle zu erstellen und bietet Benutzern so ein einzigartiges Erlebnis.

Stable Diffusion XL 2.0 wurde im November 2022 veröffentlicht, aber Stable Diffusion XL ist immer noch nur öffentlich verfügbar als Betaversion. Stable Diffusion XL ist eine Text-zu-Bild-KI. Das bedeutet, dass Sie beschreibende Bilder mit kürzeren Eingabeaufforderungen erstellen und Wörter innerhalb von Bildern generieren können. Zur Veranschaulichung wurden alle Bilder in diesem Blog mit Stable Diffusion XL erstellt.

Agapi Karafoulidou über die Implementierung von Stable Diffusion XL

„Während des Hackathons ‚Wir gegen Amazon Bedrock‘ habe ich mich sofort in die Implementierung von Stable Diffusion XL gestürzt. Meine anfänglichen Gedanken waren etwas pessimistisch, aber das hat mich nicht aufgehalten.

„Auf der Amazon Bedrock-Testseite konnte ich die API-Anfrage im JSON-Format finden. Sobald ich das zur Hand hatte, erstellte ich problemlos die JSON-Struktur innerhalb des Mendix app und erstellte anschließend ein Export-Mapping.

„Danach wurde ein Microflow mit einem POST-API-Aufruf hinzugefügt, und natürlich musste ich die erforderlichen Header hinzufügen. Glücklicherweise waren sie in der API-Anfrage sichtbar. Ich habe die App ausgeführt, die Eingabeaufforderung ‚Gib mir das perfekte Bild‘ hinzugefügt und geklickt.“ 

Dies war das Ergebnis:

 

KI-gestütztes Bild: Gib mir das perfekte Bild
Aufforderung: Gib mir das perfekte Bild

Amazonas-Titan

Amazon Titan ist ein generatives Großsprachenmodell für Textgenerierungsaufgaben wie das Erstellen eines Blogbeitrags. Falls Sie sich nach dem Lesen des letzten Satzes wundern: Der Zusammenfassungsteil dieses Blogs wurde mithilfe von KI erstellt, der Rest jedoch nicht. 🙂

Amazon Titan wird natürlich mit vielen Datensätzen trainiert, die es in die Kategorie der Allzweckmodelle einordnen. Erfahren Sie mehr über Amazonas-Titan.

 

Von KI inspiriertes Bild: Titan Cronus blickt in die Zukunft
Prompt: Titan Cronus blickt in die Zukunft

Daan Van Otterloo über die Implementierung von Amazon Titan

„Als neuer Mendix Als AWS-Teammitglied war ich aufgeregt und glücklich, meine Arbeit mit dem Amazon Bedrock-Connector zu beginnen. Generative KI hat in den letzten Jahren einige großartige Fortschritte gemacht und ist seit der Veröffentlichung von ChatGPT ein heißes Thema geworden. Dies ermöglicht es Mendix Entwickler können diese Modelle problemlos in ihre Anwendungen integrieren. Es wird vielen Anwendungen in vielerlei Hinsicht einen Mehrwert verleihen.  

„Ich persönlich hatte das Vergnügen, einen Teil der Beispielimplementierung des Amazon Bedrock-Connectors zu entwickeln. So konnte ich mit den meisten Modellen herumspielen, insbesondere mit dem Amazon Titan Text Large-Modell. 

„Dies ist ein universelles generatives LLM (Large Language Model), das Benutzern beispielsweise bei folgenden Aufgaben helfen kann:

  • Texterzeugung
  • Codegenerierung
  • Und Ideen-Brainstorming, unter anderen Anwendungsfällen 

„Am liebsten nutze ich Modelle wie Amazon Titan, um Inspiration zu holen, indem ich das Modell zum Beispiel nach Rezepten oder Geschenkideen frage oder es einfach nach Film- oder Musikempfehlungen frage. 

„Wir haben uns entschieden, über REST-API-Aufrufe eine Verbindung zum Amazon Bedrock-Dienst herzustellen. So habe ich das gemacht:

  • Um zu beginnen, habe ich mich bei meinem AWS-Konto angemeldet und zum Amazon Bedrock Playground navigiert.
  • Ich habe das große Amazon Titan Text-Modell ausgewählt und angefangen, damit herumzuspielen. (Auf dieser Seite finden Sie auch ein JSON-Beispiel für eine Anfrage, das Sie kopieren und verwenden können in Mendix zum Erstellen der Exportzuordnung, die für den REST-Aufruf verwendet wird, der Amazon Titan aufruft.)
  • In Mendixhabe ich den Debugger verwendet, um die Antwort zu prüfen und zu kopieren, damit ich das Datenmodell und die Mikroflusslogik erstellen konnte, die zum Importieren der Antwort verwendet wurden. 

„Das war alles, was ich tun musste, um das Modell nutzen zu können, und jetzt liegt es an unseren kreativen Mendix Community, um mit diesen Modellen Werte zu generieren!“

Jurassic-2 Ultra

AI21 Labs, ein in Israel ansässiges Unternehmen, wurde 2018 mit der Mission gegründet, KI-Systeme zu entwickeln, die natürliche Sprache verstehen und erstellen können. Zu ihren Produkten gehört das Basismodell Jurassic-2 Ultra.

Laut Dokumentation von AI21 LabsMit den Jurassic-2-Modellen können Sie:

„…generieren Sie eine Textvervollständigung für eine gegebene Texteingabeaufforderung, indem Sie unser Python SDK verwenden oder eine HTTP-Anfrage an den vollständigen Endpunkt senden, der dem gewünschten Sprachmodell entspricht. Die Anfrage enthält den Eingabetext, der als Eingabeaufforderung bezeichnet wird, und verschiedene Parameter, die die Generierung steuern. Zur Authentifizierung müssen Sie Ihren API-Schlüssel in die Anfrageheader aufnehmen. Eine vollständige Antwort enthält die tokenisierte Eingabeaufforderung, die generierten Texte, die als Vervollständigungen bezeichnet werden, und verschiedene Metadaten.“

 

Von der KI inspiriertes Bild: Sonnenaufgang in der Jurazeit
Aufforderung: Sonnenaufgang in der Jurazeit

Nicolas Kunz Vega zur Umsetzung von Jurassic-2 Ultra

„Anders als ihr Name vermuten lässt, haben die Jurassic-2 Ultra-Grundmodelle nichts mit der prähistorischen Ära zu tun, sondern sind hochmoderne LLMs. Was mich bei der Arbeit mit den Jurassic-2 Ultra-Modellen wirklich erstaunt hat, war die Anzahl der Möglichkeiten, die Anfragen anzupassen, um die vom Modell zurückgegebene Antwort zu manipulieren. 

„Neben den allgemeineren Eingabeparametern, die in verschiedenen auf Amazon Bedrock verfügbaren Modellen zu finden sind, wie etwa der maximalen Anzahl zurückzugebender Token oder der Temperatur, die steuert, wie kreativ (oder repetitiv) das Modell bei den Antworten wird, bietet Jurassic-2 Ultra einige erweiterte Eingaben. 

„Beispielsweise besteht die Möglichkeit, die Verwendung von Token auf der Grundlage von Folgendem zu bestrafen:

  • Ihre Anwesenheit auf der gegebenen Eingabeaufforderung
  • Die Häufigkeit ihrer Nutzung und
  • Ihre Anzahl in den generierten Antworten 

„Dies kann auch erweitert werden, um auch Leerzeichen, Emojis, Zahlen und mehr zu berücksichtigen. Diese Vielfalt an Eingaben hat mir geholfen, besser zu verstehen, was das Modell bei der Generierung einer Antwort auf eine bestimmte Eingabeaufforderung beeinflusst. Es hat auch geholfen, die Blackbox zu entmystifizieren, die generative KI für die meisten von uns ist.  

„Als es darum ging, die Antwort zu implementieren, stellte ich fest, dass die Jurassic-2 Ultra-Modelle eine detailliertere Antwort lieferten als andere Modelle, die ich bisher auf Amazon Bedrock gesehen hatte. Neben dem generierten Text und einigen Metadaten werden Ihnen auch alle generierten Token und ihre Wahrscheinlichkeitswerte bereitgestellt. Es ist auch möglich, die besten Alternativen zu den ausgewählten Eingabeaufforderungen zu erhalten, was, wie ich vermute, als der „KI-Denkprozess“ angesehen werden kann, den das Modell bei der Generierung der Ausgabe durchläuft. 

„Alles in allem war es eine unterhaltsame und praktische Erfahrung, die Jurassic-2 Ultra-Modelle in Mendix und vor allem das Herumspielen mit dem Erstellen aller Arten von Anfragen und das Beobachten des Einflusses, den diese auf die Antworten haben, die an die Mendix App!”

Klaus 2

Anthropic ist ein Unternehmen mit die Mission um „sicherzustellen, dass transformative KI den Menschen und der Gesellschaft hilft, zu gedeihen.“ Das in San Francisco ansässige Unternehmen wurde 2021 von ehemaligen OpenAI-Mitgliedern mit der Vision gegründet, Systeme zu bauen, auf die sich die Menschen verlassen können.

Das Produkt Claude 2 von Anthropic wurde entwickelt, um das Markenrisiko zu reduzieren (Constitutional AI ist integriert). Es kann große Mengen an Inhalten verarbeiten und kann je nach Anwendungsfall personalisiert werden. Erfahren Sie mehr darüber hier.

Casper Spronk über die Umsetzung von Anthropic Claude 2

„Die Implementierung von Anthropic Claude 2 war ein Kinderspiel. Da AWS bereits die richtige Syntax für alle drei Modelle bereitstellt (und diese bis auf das modellierte Feld gleich sind), konnten die Modelle mit derselben Anforderungs- und Antwortstruktur implementiert werden. 

„Indem der Anfrage eine Versionsaufzählung hinzugefügt und diese dann der entsprechenden Modell-ID-Zeichenfolge zugeordnet wird, kann ein einziger Mikrofluss für alle drei Modelle verwendet werden. Der Entwickler, der das Modell implementiert, kann dann entscheiden, ob er dem Endbenutzer die Auswahl eines Modells erlauben möchte oder ob das Modell immer dasselbe sein soll.  

  • Der Body der Anfrage kann mit einem einfachen Export-Mapping zugeordnet werden.
  • Legen Sie dann die Ausgabe der Exportzuordnung als Hauptteil der allgemeinen Anforderung fest.
  • Nach dem Aufrufen der Mikroflow-Aktion „Generisches Modell aufrufen“ wird die Importzuordnung für das Antworttextattribut durchgeführt.
  • Das Abschlussattribut der Entität InvokeModelResponseAthropicClaude enthält dann die von Claude 2 generierte Antwort.  

„Wenn Sie eine vollständige Konversation mit Claude 2 führen möchten, sollte der Entwickler vor allen (vorherigen) menschlichen Eingaben das Tag „Human:“ und vor allen zuvor von Claude 2 generierten Ausgaben das Tag „Assistant:“ hinzufügen. 

„Wenn Sie sicherstellen möchten, dass das Modell nach einer bestimmten Phrase nichts mehr zurückgibt, können Sie der Anfrage eine Stoppsequenz hinzufügen. Wenn das Modell dieses Wort oder diese Phrase generiert hätte, gibt das Modell stattdessen alles zurück, was es bis zu diesem Punkt generiert hat.“

 

Von KI inspiriertes Bild: Anthropologischer Roboter blickt aus dem Fenster
Prompt: Anthropischer Roboter, der aus dem Fenster blickt

Casper Spronk zum Aufrufen von Amazon Bedrock über Lambda

„Während des Amazon Bedrock Hackathons war eines unserer Ziele zu testen, ob wir Amazon Bedrock auch über eine AWS Lambda-Funktion aufrufen können. Dies war mit einigen Herausforderungen verbunden, da Amazon Bedrock noch nicht standardmäßig über AWS Lambda verfügbar war. Wir mussten herausfinden, welche Pakete erforderlich waren, um Amazon Bedrock oder AWS-Funktionen im Allgemeinen mit Python aufzurufen. 

„Um mit Python auf AWS zuzugreifen, benötigen Sie mindestens zwei Pakete, boto3 und botocore. Normalerweise müssten Sie beim Aufrufen von Paketen eine Ebene hochladen und diese Ihrer Lambda-Funktion hinzufügen. Wir sind jedoch auf folgende Probleme gestoßen:

  1. Die Pakete boto3 und botocore waren bereits als Schichten in einer Lambda-Funktion verfügbar und
  2. Diese Standardebenen werden vor den benutzerdefinierten Ebenen aufgerufen, die wir hinzufügen würden

„Nach viel Debugging und Frustration haben wir beschlossen, die gesamte funktionierende Python-Funktion zusammen mit allen Abhängigkeiten als Lambda-Funktion hochzuladen, in der Hoffnung, dass dadurch die neuesten Versionen von boto3 und botocore anstelle der AWS-Standard-Boto-Pakete aufgerufen werden. Dies hat letztendlich funktioniert und uns eine funktionierende Lambda-Funktion beschert!“

Zusammenfassung (KI)

Wie eingangs erwähnt, haben wir die KI-Modelle gebeten, uns eine Zusammenfassung dieses Beitrags zu geben:

Stabile Diffusion XL v2.2.2

Drei Personen sitzen nach einer Wanderung auf dem Gipfel

Jurassic-2 Ultra

Amazon Bedrock ist ein vollständig verwalteter Service, der die neuesten Basismodelle über eine API bereitstellt, sodass Entwickler diese Modelle schneller und einfacher in ihren Anwendungen verwenden können. Als Team freuten wir uns über den frühen Zugriff auf Amazon Bedrock und waren beeindruckt, wie schnell wir eine Liste aller verfügbaren Modelle integrieren und abrufen konnten.

Wir veranstalteten einen Hackathon-Tag namens „Wir gegen Amazon Bedrock“, an dem wir mit den verschiedenen verfügbaren Modellen experimentierten, darunter Stable Diffusion XL, Amazon Titan, Jurassic-2 Ultra und Anthropic Claude 2. Wir waren beeindruckt von den Ergebnissen, die wir in kurzer Zeit erzielen konnten, und glauben, dass Amazon Bedrock ein wertvolles Werkzeug ist für Mendix Entwickler, die intelligente, intuitive Anwendungen erstellen möchten.

Zusammenfassend lässt sich sagen, dass Amazon Bedrock ein leistungsstarkes Tool für Mendix Entwickler, die intelligente, intuitive Anwendungen mit KI-Funktionen erstellen möchten. Wir fanden es schnell und einfach zu bedienen und glauben, dass es eine wertvolle Ergänzung zum Mendix Ökosystem.

Klaus 2

Hier ist eine Zusammenfassung der wichtigsten Punkte aus dem Blogbeitrag:

  • Der Beitrag befasst sich mit der Verwendung von Amazon Bedrock, einem neuen Dienst, der über eine API Zugriff auf Basismodelle bietet, um schnell KI-gestützte Apps zu erstellen mit Mendix.
  • Das Team veranstaltete einen „Wir gegen Amazon Bedrock“-Hackathon, um den Service zu testen. Innerhalb einer Stunde gelang es ihnen, Modelle wie Stable Diffusion XL für die Bildgenerierung und Amazon Titan für die Textgenerierung zu integrieren und Ergebnisse daraus zu erhalten.
  • Teammitglieder teilen ihre Erfahrungen bei der Implementierung verschiedener Basismodelle wie Stable Diffusion XL, Amazon Titan, Jurassic-2 Ultra und Anthropic Claude 2 in Mendix und Erstellen von Proof of Concept.
  • Sie fanden den Service einfach zu nutzen und die Dokumentation war klar. Die JSON-basierten APIs ließen sich problemlos integrieren in Mendix mithilfe von Exportzuordnungen.
  • Eine Herausforderung bestand darin, Amazon Bedrock von AWS Lambda aus aufzurufen, aber es gelang ihnen, es zum Laufen zu bringen, indem sie alle Abhängigkeiten in der Lambda-Funktion bündelten.
  • Insgesamt scheint Amazon Bedrock ein vielversprechender Service zu sein, der helfen kann Mendix Entwickler erstellen schnell intelligente, KI-gestützte Apps, indem sie leistungsstarke Basismodelle nutzen. Der Beitrag bietet einen praktischen Einblick in die ersten Schritte.

Amazon Titan Large v1.01

Zusammenfassung:
Amazon Bedrock ist ein vollständig verwalteter Service von AWS, der Foundation-Modelle von Amazon und führenden KI-Startups über eine API verfügbar macht. Es verspricht einen schnellen Einstieg in eine serverlose Erfahrung mit Foundation-Modellen. Das Team von Mendix hat die intuitivsten KI-Dienste von AWS zusammengebracht, damit die Entwicklung intelligenter Unternehmensanwendungen ein Kinderspiel wird. Das Team veranstaltete einen Hackathon-Tag, um mehr über den Dienst zu erfahren, und in nur 15 Minuten gelang es ihnen, eine Liste aller in Amazon Bedrock verfügbaren Modelle zu integrieren und abzurufen. In knapp einer Stunde experimentierten sie mit Amazon Titan und erstellten Bilder mit Stable Diffusion XL von Stability AI. Die Teammitglieder teilten ihre persönlichen Erfahrungen mit der Implementierung der grundlegenden Modelle in einer Testanwendung, einschließlich der Schwierigkeiten und der aufregenden Momente.

Autoren

Agapi Karafoulidou, Casper Spronk, Daan Van Otterloo, Nicolas Kunz Vega

Wählen Sie Ihre Sprache