Direkt zum Hauptinhalt

Databricks-Apps mit React und Mosaic AI Agents für Enterprise Chat-Lösungen erstellen

Building Databricks Apps with React and Mosaic AI Agents for Enterprise Chat Solutions

Veröffentlicht: 22. März 2025

Fertigung9 min Lesezeit

Databricks Apps bieten eine robuste Plattform zum Erstellen und Hosten interaktiver Anwendungen. React eignet sich hervorragend zum Erstellen moderner, dynamischer Webanwendungen, die sich reibungslos aktualisieren und poliert aussehen müssen. Durch die Kombination dieser Plattform mit einem React-basierten Frontend und dem Mosaic AI Agent Framework können Entwickler effiziente und intelligente Chat-Anwendungen erstellen. Dieser Blog konzentriert sich auf die technische Implementierung eines von Databricks gehosteten Chatbots und demonstriert sein Potenzial anhand eines branchenspezifischen Anwendungsfalls für Manufacturing Operations Management Chatbot.

Databricks Apps und Mosaic AI Integration

Der Architekturüberblick:

Benutzer sendet eine Anfrage an Databricks Apps, die an den Model-Serving-Endpunkt weitergeleitet wird
Benutzer sendet eine Anfrage an Databricks Apps, die an den Model-Serving-Endpunkt weitergeleitet wird

Kernstärken von Databricks Apps

Databricks Apps lassen sich nativ integrieren mit:

  • Databricks SQL: Zum effizienten Abfragen großer Datensätze.
  • Unity Catalog: Für zentralisierte Datenverwaltung und Zugriffskontrolle.
  • Model Serving: Zum Bereitstellen von Machine-Learning-Modellen im großen Maßstab.
  • Serving Endpoints: Für effiziente Abfragen an die ML-Modelle und LLM-Agenten.
  • Jobs: Für ETL-Pipelines und Workflow-Prozesse.

Databricks Apps machen externe Hosting-Infrastruktur überflüssig. Anwendungen erben die integrierten Sicherheits-, Compliance- und Ressourcenmanagementfunktionen der Plattform, was Bereitstellung und Wartung vereinfacht.

Databricks Apps unterstützen eine breite Palette von Frameworks wie Dash, Streamlit, Gradio, Flask und FastAPI. Diese Flexibilität ermöglicht sowohl datenreiche als auch visuell ansprechende Anwendungen.

Was ist das Mosaic AI Agent Framework?

Das Mosaic AI Agent Framework ist eine Sammlung von Tools auf Databricks, die Entwicklern hilft, KI-Agenten zu erstellen, bereitzustellen und zu verwalten, wie sie beispielsweise bei Retrieval-Augmented Generation (RAG) verwendet werden. Es integriert sich mit Frameworks wie LangChain und LlamaIndex und nutzt Databricks-Funktionen wie Unity Catalog für die Datenverwaltung und Tool-Aufrufe.

Entwickler können Agenten mit MLflow protokollieren und testen, ihr Verhalten debuggen und die Leistung verbessern. Funktionen wie Request-Logging, Response-Token-Streaming und Review-Apps erleichtern die Erstellung und Bereitstellung von KI-Agenten für reale Anwendungsfälle.

Anwendungsfall: Manufacturing Operations Management Chatbot

Manufacturing Operations Management (MOM) ist entscheidend für die Optimierung von Produktionsprozessen, die Verbesserung der Effizienz und die Aufrechterhaltung der Wettbewerbsfähigkeit in der sich heute schnell entwickelnden Industrielandschaft.

Die Nachfrage nach Betriebsmanagement mit KI-Agenten mit natürlichen Sprachschnittstellen wächst rasant, angetrieben durch den Bedarf an erhöhter Effizienz, verbesserter Entscheidungsfindung und optimierter Benutzererlebnisse.

Laut der neuesten Veröffentlichung von Meticulous Research® (Quelle) wird der KI-Markt im verarbeitenden Gewerbe bis 2031 voraussichtlich 84,5 Milliarden US-Dollar erreichen, bei einer durchschnittlichen jährlichen Wachstumsrate (CAGR) von 32,6 % im Prognosezeitraum 2024–2031 [1]. Dieses signifikante Wachstum unterstreicht die zunehmende Anerkennung der Bedeutung von KI-gesteuertem Betriebsmanagement in verschiedenen Branchen.

Ein produzierendes Unternehmen, das den Mosaic AI Chatbot mit Tool-Calling implementiert, kann Produktionsmanagern bei Folgendem helfen:

Engpassanalyse

  • Tool-Funktion: Fragt Databricks SQL mit der Funktion identify_bottleneck_station ab, um die Station zu ermitteln, die die meisten Verzögerungen verursacht.
  • Beispielabfrage: „Was ist der aktuelle Engpass in der Montagelinie?“
  • Antwort: „Station 5 ist der aktuelle Engpass mit einer durchschnittlichen Verzögerung von 15 Minuten pro Zyklus.“

Bestandsverfolgung

  • Tool-Funktion: Ruft check_inventory_levels auf, um Echtzeit-Bestandsdaten für eine bestimmte Station abzurufen.
  • Beispielabfrage: „Haben wir genug Materialien für Station 3?“
  • Antwort: „Station 3 hat genug Materialien für die nächsten fünf Produktionszyklen.“

Diese Abfragen können einfach als Funktionen implementiert werden, die in Unity Catalog gespeichert sind, entweder mit SQL oder Python. Dann kann ein KI-Agent Aufgaben wie Datenabruf, Codeausführung und kontextbezogene Entscheidungsfindung durch Nutzung der Funktionsaufrufe durchführen. Obwohl wir hier nicht auf die Details der Einrichtung des Agenten für Tool-Calling eingehen, können Sie das Databricks Generative AI Cookbook hier für detaillierte Anleitungen konsultieren.

Sobald der Mosaic AI Agent eingerichtet und für die Handhabung verschiedener Tools konfiguriert ist, kann er als Model-Serving-Endpunkt auf Databricks bereitgestellt werden. Dieser Endpunkt fungiert als Backend-Schnittstelle und ermöglicht es Frontend-Anwendungen wie Chatbots, Abfragen zu senden und Echtzeit-Einblicke zu erhalten.

Model-Serving-Endpunkt des Agenten-Chatbots zum Empfangen von Anfragen
Model-Serving-Endpunkt des Agenten-Chatbots zum Empfangen von Anfragen

Hier ist die Chatbot-Oberfläche, die lokal ausgeführt wird; später werden wir sie nach der Bereitstellung für Databricks Apps demonstrieren.

Das Localhost-Frontend, das Benutzeranfragen und -antworten anzeigt
Das Localhost-Frontend, das Benutzeranfragen und -antworten anzeigt

Databricks Apps Implementierung

1. Frontend mit React

Das React-Frontend bietet eine interaktive und benutzerfreundliche Oberfläche zum Abfragen des Chatbots und zur Visualisierung von Antworten. Kernfunktionen umfassen die Echtzeit-Nachrichtenanzeige, Abfrageübermittlung und Bot-Antwortverarbeitung, eine interaktive Benutzeroberfläche mit Feedback und Markdown-Unterstützung.

Frontend-Code zum Senden von Nachrichten an das Backend

API-Client: Axios wird verwendet, um HTTP-Anfragen zu stellen. Die baseURL wird dynamisch basierend auf der Umgebung (Entwicklung oder Produktion) festgelegt.

HandleSendMessage: Erfasst die Benutzereingabe, sendet die Nachricht an den API-Endpunkt /api/chat und aktualisiert den Chatverlauf mit Nachrichten des Benutzers und des Bots.

2. Backend mit FastAPI

Das FastAPI-Backend dient als Brücke zwischen dem React-Frontend und den Mosaic AI-Agenten. Es leitet Benutzeranfragen an den Model-Serving-Endpunkt des Agenten weiter, um eine Antwort zu erhalten.

Backend-Code zur Verarbeitung von Benutzeranfragen

Dieser API-Endpunkt empfängt Benutzernachrichten, interagiert mit dem Model-Serving-Endpunkt des Mosaic AI-Agenten und gibt aufgabenbezogene Antworten zurück.

In FastAPI ist die Reihenfolge der Einbindung von Unteranwendungen entscheidend, da sie bestimmt, wie eingehende Anfragen weitergeleitet werden.

app.mount("/api", api_app):

  • Dies bindet eine Unteranwendung (api_app) unter der Route /api ein.
  • Jede Anfrage, die mit /api beginnt (z. B. /api/chat), wird an diese Unteranwendung weitergeleitet.
  • Dies stellt sicher, dass alle API-bezogenen Anfragen von der api_app-Instanz verarbeitet werden.

app.mount("/", ui_app):

  • Dies bindet die statischen Dateien aus dem Verzeichnis client/build unter der Stammroute (/) ein.
  • Dies wird typischerweise verwendet, um die kompilierte Frontend-Anwendung zu bedienen, die index.html, JavaScript, CSS und andere statische Assets enthält. Die meisten großen UI-Frameworks (z. B. React, Vue und Svelte) unterstützen die Kompilierung in eine solche Sammlung von Assets über verschiedene Bundler (z. B. Vite, Webpack oder esbuild).
  • Jede Anfrage, die nicht mit /api beginnt, wird an die ui_app weitergeleitet.
  • API-Einrichtung und Endpunktdefinition: Der Code definiert eine FastAPI-Anwendung mit einem POST-Endpunkt (/chat) unter der api_app-Instanz, der auf den Modell-Serving-Endpunkt des Mosaic AI-Agenten auf Databricks verweist.
  • Dependency Injection und Request Handling: Der Endpunkt verwendet den Dependency-Injection-Mechanismus von FastAPI (Depends), um einen WorkspaceClient zu injizieren, der für die Interaktion mit Databricks-APIs zuständig ist. Die Funktion chat_with_llm nimmt eine ChatRequest mit der Nachricht des Benutzers entgegen, formatiert sie als ChatMessage mit der Rolle USER und sendet sie mithilfe der Methode client.serving_endpoints.query an den Serving-Endpunkt.
  • Antwort-Parsing und Rückgabe: Die Antwort des Agenten wird strukturiert und als ChatResponse an den Client zurückgegeben.

Bereitstellung auf Databricks Apps

1. Vorbereitung des Backends

  • Legen Sie den FastAPI-Code in eine Datei namens app.py.
  • Definieren Sie Abhängigkeiten in requirements.txt:
  • Erstellen Sie eine Datei namens app.yaml:

Der Abschnitt command beschreibt die Konfiguration des Gunicorn-Servers mit den folgenden Spezifikationen:

  • server.app:app: Führt Ihre FastAPI-Anwendung aus.
  • -w 2: Verwendet zwei Worker-Prozesse zur Bearbeitung eingehender Anfragen.
  • uvicorn.workers.UvicornWorker: Verwendet Uvicorn-Worker, die mit dem ASGI-Framework von FastAPI kompatibel sind.

Der Abschnitt env gibt Schlüssel-Wert-Paare an, die Umgebungsvariablen definieren, die an die App übergeben werden [2]:

  • name: der Name der Umgebungsvariable.
  • valueFrom: Für einen extern definierten Wert der Name der Quelle, die den Wert enthält. Zum Beispiel der Name eines Geheimnisses oder einer Datenbanktabelle, die den Wert enthält.

Ich ordne die Umgebungsvariable SERVING_ENDPOINT_NAME dem Modell-Serving-Endpunkt agent_MODEL_NAME_FQN von Databricks zu, wobei MODEL_NAME_FQN den dreistufigen Namespace von Unity Catalog für catalog.db.model_name darstellt.

2. Vorbereitung des Frontends

  • Erstellen Sie die React-App mit npm run build und legen Sie die statischen Dateien in den Ordner /client/build.

Hier ist die Dateistruktur:

3. Bereitstellungsschritte

  1. Erstellen Sie die Databricks App:
  2. Konfigurieren Sie Databricks-Ressourcen:
    Ich richte die Databricks-Ressourcen so ein, dass sie mit den im env-Abschnitt der Datei app.yaml definierten Funktionen übereinstimmen. Dazu gehört die Konfiguration von Ressourcen wie dem Modell-Serving-Endpunkt (agent_MODEL_NAME_FQN).

    Das folgende Bild zeigt, dass die Chatbot-App erfolgreich erstellt wurde:
  3. Dateien synchronisieren:
  4. App bereitstellen:

Nach Ausführung dieses Befehls dauert der Bereitstellungsprozess einige Minuten. Sobald die Bereitstellung erfolgreich war, wird die URL der Databricks App angezeigt, was bedeutet, dass sie betriebsbereit ist.

Und Sie können damit chatten. Zum Beispiel: Unsere Produktionseffizienz ist niedrig. Finden Sie den Engpass, überprüfen Sie seine Effizienz und erstellen Sie einen detaillierten Bericht. Senden Sie eine E-Mail mit dem Bericht an [email protected]. Analysieren Sie auch die Stimmung des Berichts.

Databricks Apps zeigt Benutzeranfrage und Antwort an
Databricks Apps zeigt Benutzeranfrage und Antwort an

Fazit

Die Integration von Databricks Apps mit React und dem Mosaic AI Agent Framework bietet eine leistungsstarke Lösung zur Erstellung dynamischer, interaktiver Chat-Anwendungen. Durch die Nutzung der integrierten Datenverarbeitungsfunktionen von Databricks, des sicheren Modell-Servings und der optimierten Bereitstellungsinfrastruktur können Entwickler robuste Systeme erstellen, die komplexe Anfragen bearbeiten.

Die Verwendung von FastAPI als Brücke zwischen dem React-Frontend und den Mosaic AI-Agenten gewährleistet eine nahtlose Kommunikation. Während Databricks Apps verschiedene Python-Backend-Frameworks wie Flask und Django unterstützt, wurde FastAPI aufgrund seiner prägnanten und entwicklerfreundlichen API gewählt.

Dieses Setup zeigt, wie fortschrittliche KI-Funktionen in praktische Branchenlösungen wie Fertigungs-Chatbots integriert werden können, um Effizienz und Entscheidungsfindung zu fördern. Da Databricks seine Plattform weiterentwickelt, können diese Integrationen auf breitere Anwendungsfälle ausgeweitet werden, was sie zu einem unverzichtbaren Werkzeug für Unternehmen macht, die mit KI-gesteuerten Lösungen innovieren wollen.

Den Quellcode finden Sie im GitHub-Repository hier.

Referenzen:

[1] KI im produzierenden Gewerbe wird voraussichtlich 84,5 Milliarden US-Dollar bis 2031 erreichen. Quelle:
https://www.meticulousresearch.com/pressrelease/294/ai-in-manufacturing-market

[2] Databricks Apps-Konfiguration. Quelle:
https://docs.databricks.com/en/dev-tools/databricks-apps/configuration.html#databricks-apps-configuration

Die Integration von Databricks Apps mit React und dem Mosaic AI Agent Framework bietet eine leistungsstarke Lösung zur Erstellung dynamischer, interaktiver Chat-Anwendungen. Durch die Nutzung der integrierten Datenverarbeitungsfunktionen von Databricks, des sicheren Modell-Servings und der optimierten Bereitstellungsinfrastruktur können Entwickler robuste Systeme erstellen, die komplexe Anfragen bearbeiten.

Möchten Sie es in Aktion sehen?

Probieren Sie die Databricks Apps Produkt-Tour aus, um die schnellsten und sichersten Daten- und KI-Anwendungen auf der Databricks Data Intelligence Platform zu erstellen.

(Dieser Blogbeitrag wurde mit KI-gestützten Tools übersetzt.) Originalbeitrag

Verpassen Sie keinen Beitrag von Databricks

Abonnieren Sie unseren Blog und erhalten Sie die neuesten Beiträge direkt in Ihren Posteingang.