Die Demokratisierung von Daten beginnt damit, Erkenntnisse einfach und sicher zugänglich zu machen. Mit Databricks Genie können Benutzer ihre Daten jetzt direkt aus den Tools abfragen, die sie bereits verwenden: Teams, Slack, Confluence oder benutzerdefinierte Web-Apps. Egal, ob Sie unsere nativen Copilot Studio-/Foundry -Integrationen verwenden oder mit den Genie Conversation- APIs/-SDK entwickeln, Genie kann jetzt Analytics in natürlicher Sprache in alltägliche Arbeitsabläufe integrieren. Im Hintergrund kann OAuth angewendet werden, um jeden Benutzer sicher zu authentifizieren und Datenzugriffsberechtigungen durchzusetzen.
Zuvor haben wir gesehen, wie Kunden wie The AA und Casas Bahia eigenständig ihre eigenen Genie-Integrationen in Microsoft Teams und interne Apps entwickelten. Unsere robuste Erweiterbarkeits-Suite macht diese Erfahrung nun einfacher, schneller und skalierbarer.
In diesem Blogbeitrag stellen wir Ihnen zwei gängige Methoden vor, um Genie mit unternehmensweitem OAuth in Ihrer Organisation einzuführen:
Ad-hoc-Datenfragen tauchen bei Gruppengesprächen ständig auf. Mit der nativen Copilot Studio-Integration von Databricks Genie können Ihre Benutzer jetzt direkt in Microsoft Teams Antworten erhalten, sobald Fragen aufkommen. Um diese Integration zu nutzen, führen Sie die folgenden Schritte aus:
Der erste Schritt zur Aktivierung von Genie in Microsoft Teams besteht darin, Azure Databricks mit der Power Platform zu verbinden (Dokumentation). Klicken Sie in Ihren Microsoft Power Apps auf „Verbindungen“ und wählen Sie „Azure Databricks“ oder „Databricks“ aus, wenn Sie AWS/GCP verwenden. Konfigurieren Sie die folgenden Felder:
Als Nächstes verbinden Sie Ihren Genie-Space mit Copilot Studio (Dokumentation). Unsere Integration übernimmt die gesamte API- und MCP-Logik, sodass die Verbindung mit nur wenigen Klicks hergestellt werden kann.
Klicken Sie in Copilot Studio auf „Agents“. Wählen Sie „Leeren Agenten erstellen“ aus, um einen neuen eigenständigen Agenten für einen Genie space zu erstellen. Wenn Sie Genie in ein bestehendes Agent-Framework integrieren möchten, können Sie auch einen bestehenden Copilot Studio-Agent auswählen, dem Sie Ihren Genie space hinzufügen.
Klicken Sie in Ihrem neuen Agenten auf „Tools“ und dann auf „Tool hinzufügen“. Wählen Sie Azure Databricks Genie (oder Databricks Genie für AWS/GCP) im Abschnitt MCP aus.
Jetzt können Sie Ihren gewünschten Genie space auswählen und die Verbindungsdetails konfigurieren:
Wenn Sie „Endbenutzer-Anmeldeinformationen“ wählen, muss sich jede Person mit ihrem eigenen Account bei Databricks anmelden. Um dies zu vereinfachen, empfehlen wir, Verbindungsparameter zu teilen (wie in der Microsoft- Dokumentation beschrieben), damit Benutzer diese Informationen nicht selbst angeben müssen. In der Praxis bedeutet dies einfach, den Server-Hostnamen und den HTTP-Pfad bereitzustellen, wodurch sichergestellt wird, dass sie sich bei genau dem Databricks-Arbeitsbereich authentifizieren, der mit dem in Ihrem Copilot Studio-Agenten verbundenen Genie-Space verknüpft ist.
Nachdem Sie nun einen Copilot Studio-Agenten haben, der mit Ihrem Genie-Space verbunden ist, können Sie ihn in Teams veröffentlichen.
Alles bereit! Genie ist jetzt in Microsoft Teams verfügbar und liefert verwaltete Dateneinblicke, sobald Fragen aufkommen.
Um zu sehen, wie Endbenutzer Genie in Microsoft Teams nutzen, lesen Sie unsere Kundenberichte.
Viele Organisationen möchten Genie auch direkt in ihre benutzerdefinierten Web-Apps einbetten, sodass Benutzer in den von ihnen bereits verwendeten Tools Fragen stellen können – so könnten Filialleiter beispielsweise Ad-hoc-Fragen zu ihrem Bestand direkt in ihrem bestehenden Vertriebsterminal stellen. Mit den Genie Conversation-APIs und Databricks OAuth ist dies jetzt möglich.
Bevor Sie eine Integration zwischen Ihrer Web-App und Genie erstellen, ist es wichtig zu entscheiden, welches OAuth-Muster Sie verwenden: User-to-Machine (U2M), Machine-to-Machine (M2M) oder ein On-Behalf-Of-Modell (OBO). Jeder Ansatz ist auf einen anderen Anwendungsfall ausgerichtet:
Im weiteren Verlauf dieses Blogs konzentrieren wir uns auf das erste Muster für die Integration mit Genie: den OAuth-U2M-Flow unter Verwendung der integrierten OAuth-Unterstützung von Databricks.
HINWEIS: Databricks unterstützt auch die OAuth-Token-Föderation, mit der Sie von Ihrem eigenen Identitätsanbieter ausgestellte Token einbringen und sie mit einer der oben beschriebenen Methoden für den Genie-Zugriff kombinieren können.
Um Ihre benutzerdefinierte Web-App sicher mit Genie zu verbinden, registrieren Sie sie zunächst in Ihrem Databricks-Account. Dieser Schritt ermöglicht es Databricks, in späteren Schritten sicher benutzerspezifische Token für Ihre App auszustellen. Weitere Informationen finden Sie in der Produktdokumentation.
Fügen Sie in der Databricks Account Console eine neue OAuth-Verbindung hinzu und konfigurieren Sie Folgendes:
Nach dem Speichern dieser Verbindung generiert Databricks Folgendes:
Speichern Sie diese Anmeldeinformationen sicher in Ihrem Backend – sie werden benötigt, um Autorisierungscodes gegen Zugriffstoken auszutauschen und Aufrufe an die Genie Conversation APIs zu authentifizieren.
Der nächste Schritt besteht darin sicherzustellen, dass Ihre App Endbenutzer zu Databricks weiterleitet, damit sie sich anmelden und Ihre App genehmigen können, um in ihrem Namen mit Genie zu kommunizieren. Nach einer erfolgreichen Anmeldung und Genehmigung leitet Databricks den Benutzer mit einem kurzlebigen Autorisierungscode zu Ihrer App weiter.
Dieser Autorisierungscode ist der Beweis dafür, dass sich der Benutzer erfolgreich bei Databricks authentifiziert und den von Ihrer App angeforderten Zugriff genehmigt hat. Das Backend Ihrer App wird diesen Autorisierungscode im nächsten Schritt verwenden, um Access Tokens zu erhalten.
Generieren Sie zunächst PKCE - und Statuswerte für jede Anmeldung, um Ihre Webanwendung zu schützen:
Als Nächstes sollte Ihr Frontend eine Autorisierungs-URL unter Verwendung des Databricks-OAuth-endpoints erstellen:
Fügen Sie die folgenden Formularparameter hinzu, um Ihre Anwendung für Ihre Benutzer zu identifizieren:
Nachdem sich ein Benutzer bei seinem Databricks-Konto angemeldet hat, wird er mit den folgenden Query-Parametern an die redirect_url weitergeleitet: https://<redirect_url>/oauth/callback?code=<authorization_code>&state=<state>
Ihr Callback-Handler sollte den authorization_code und den state aus dem Abfrage-String lesen. Überprüfen Sie, ob der state -Wert mit dem übereinstimmt, was in Cookies oder Web-Sitzungen gespeichert wurde. Andernfalls wird der authorization_code verworfen. Mit dem zurückgegebenen authorization_code kann Ihre Anwendung diesen nun gegen Access Tokens eintauschen.
Der im vorherigen Schritt abgerufene Autorisierungscode kann nicht zum direkten Aufrufen von APIs verwendet werden. Er muss auf Ihrem Backend gegen Access Tokens ausgetauscht werden, die für die sichere Kommunikation mit Genie benötigt werden. Weitere Informationen finden Sie in unserer Produktdokumentation).
Unten finden Sie ein Python-Beispiel für den Austausch von Autorisierungscodes gegen Zugriffs- und Aktualisierungstokens (weitere Details finden Sie in der OAuth-SDK-Dokumentation):
Geben Sie die folgenden Parameter an:
Es ist wichtig, die folgenden Werte aus dem result -Objekt in der Datenbank Ihrer App zu speichern:
Um Access Tokens sicher zu verwalten, ist es auch wichtig, dass Ihre App die Ablaufzeiten verfolgt und die Refresh-Token verwendet, um bei Bedarf neue Access Tokens zu erhalten. Das nachstehende Codebeispiel abstrahiert die Refresh-Logik, um immer ein gültiges Benutzer-Zugriffstoken zurückzugeben:
Nachdem Ihre Anwendung nun über benutzerbezogene Databricks-Access Tokens verfügt, kann sie im Namen des angemeldeten Benutzers Prompts an einen Genie-Bereich senden. Wir empfehlen, einen Backend-API-Router für Ihre Webanwendung zu erstellen, um die Databricks-Access Tokens vor dem Browser zu schützen und die Beobachtbarkeit, Fehlerbehandlung und Ratenbegrenzung zu zentralisieren. Die folgenden Codebeispiele nutzen FastAPI und das Genie-SDK für eine einfachere Logik.
Nach diesen Schritten wird Ihre benutzerdefinierte Web-App sicher in Genie integriert, sodass Benutzer Fragen in natürlicher Sprache stellen und gesteuerte Einblicke direkt in den Tools, die sie bereits verwenden, abrufen können.
Genie wurde entwickelt, um Benutzer überall dort zu unterstützen, wo sie arbeiten. In diesem Blog haben wir gezeigt, wie Organisationen die dialogorientierten Analytics von Genie mit OAuth-Authentifizierung sicher in Microsoft Teams und benutzerdefinierte Apps einbetten.
Indem Sie Genie überall dorthin bringen, wo Ihre Teams Fragen stellen, verkürzen Sie den Weg von der Frage zur Erkenntnis – und von der Erkenntnis zur Aktion. Erstellen Sie noch heute Genie-Spaces und stellen Sie sie Ihren Nutzern bereit. Wenden Sie sich wie immer bei Fragen und für Feedback an Ihre Databricks-Account-Teams.
(Dieser Blogbeitrag wurde mit KI-gestützten Tools übersetzt.) Originalbeitrag
Produto
June 12, 2024/11 min de leitura

