Udostępnij przez


Łączenie agenta sztucznej inteligencji z usługą Microsoft Teams

Ważne

Ta funkcja jest dostępna w publicznej wersji testowej.

Na tej stronie pokazano, jak zintegrować agentów sztucznej inteligencji z usługą Microsoft Teams przy użyciu uwierzytelniania OAuth "On Behalf Of". Ta integracja umożliwia agentom usługi Databricks interakcję z użytkownikami za pośrednictwem usługi Microsoft Teams przy zachowaniu bezpiecznego, delegowanego przez użytkownika dostępu do zasobów usługi Databricks.

Przykład uwierzytelniania OBO w agencie usługi Microsoft Teams

Przegląd

Połączenie agenta usługi Databricks z usługą Microsoft Teams wymaga koordynacji na trzech platformach: Databricks, Azure i Microsoft Teams. Na wysokim poziomie należy wykonać następujące kroki:

  1. Stwórz agenta w Databricks: Zbuduj i wdrażaj agenta sztucznej inteligencji do punktu końcowego serwisowego.
  2. Konfigurowanie zasobów platformy Azure: skonfiguruj usługę Azure Bot Service, usługę Azure App Service i skonfiguruj ustawienia uwierzytelniania OAuth.
  3. Tworzenie zasad federacyjnych OAuth: włącz bezpieczną wymianę tokenów między identyfikatorem Entra firmy Microsoft i usługą Databricks.
  4. Wdróż kod bota: wdróż kod aplikacji, który łączy aplikację Teams z agentem usługi Databricks.
  5. Przetestuj integrację: sprawdź, czy użytkownicy mogą uwierzytelniać agenta i korzystać z niej za pośrednictwem usługi Teams.

Requirements

Przed rozpoczęciem sprawdź, czy masz:

  • Uprawnienia administratora obszaru roboczego do tworzenia połączeń Unity Catalog i wdrażania agentów
  • Dostęp do subskrypcji platformy Azure, w której można tworzyć zasoby
  • Uprawnienia administratora usługi Databricks do tworzenia zasad federacji OAuth
  • Dostęp do obszaru roboczego usługi Microsoft Teams na potrzeby testowania

Krok 1. Tworzenie agenta sztucznej inteligencji w usłudze Databricks

Utwórz agenta sztucznej inteligencji w usłudze Databricks, który przetwarza zapytania z usługi Microsoft Teams. Ten agent służy jako podstawowa inteligencja czatbota i obsługuje następujące zadania:

  • Przetwarza zapytania użytkowników z usługi Teams
  • Współdziała z usługami Databricks na potrzeby pobierania i obliczania danych
  • Zwraca odpowiednie odpowiedzi do interfejsu usługi Teams

Aby utworzyć agenta, zobacz Tworzenie agentów sztucznej inteligencji w kodzie. Po utworzeniu agenta wdróż go na obsługujący punkt końcowy.

Zanotuj adres URL punktu końcowego obsługującego, ponieważ jest on potrzebny podczas konfigurowania zmiennych środowiskowych aplikacji internetowej platformy Azure.

Krok 2. Konfigurowanie zasobów platformy Azure

Integracja wymaga określonych zasobów platformy Azure do obsługi uwierzytelniania i wdrażania składników bota usługi Teams.

Utwórz następujące zasoby platformy Azure, aby obsługiwać integrację bota usługi Teams. Wszystkie zasoby muszą znajdować się w tym samym regionie świadczenia usługi Azure.

Uwaga / Notatka

Zapisz identyfikator aplikacji firmy Microsoft, identyfikator dzierżawy aplikacji i klucz tajny klienta podczas tworzenia tych zasobów, ponieważ są one potrzebne do późniejszych kroków konfiguracji.

Tworzenie grupy zasobów

  1. Przejdź do Portalu Azure.

  2. Kliknij pozycję Utwórz zasób.

  3. Wyszukaj pozycję Grupa zasobów i wybierz ją.

    Ważne

    Wszystkie tworzone zasoby platformy Azure muszą znajdować się w tym samym regionie co grupa zasobów.

Skonfiguruj grupę zasobów:

  1. Wybierz subskrypcję platformy Azure.
  2. Wprowadź nazwę grupy zasobów.
  3. Wybierz region platformy Azure (na przykład Wschodnie stany USA).
  4. Kliknij Przejrzyj + Utwórz, a następnie kliknij Utwórz.

Tworzenie planu usługi App Service

  1. W witrynie Azure Portal kliknij pozycję Utwórz zasób.
  2. Wyszukaj plan usługi App Service i wybierz go.

Skonfiguruj plan usługi App Service:

  1. Wybierz subskrypcję platformy Azure.
  2. Wybierz utworzoną grupę zasobów.
  3. Wprowadź nazwę planu usługi App Service.
  4. Wybierz Linux jako system operacyjny.
  5. Wybierz ten sam region co grupa zasobów.
  6. W obszarze Plan cenowy wybierz pozycję Podstawowa B1.
  7. Kliknij Przejrzyj + Utwórz, a następnie kliknij Utwórz.

Tworzenie aplikacji internetowej

  1. W witrynie Azure Portal kliknij pozycję Utwórz zasób.
  2. Wyszukaj Web App i wybierz ją.

Konfigurowanie aplikacji internetowej:

  1. Wybierz subskrypcję platformy Azure.
  2. Wybierz utworzoną grupę zasobów.
  3. Wprowadź nazwę aplikacji internetowej.
  4. Ustaw Publikuj na Kod.
  5. Wybierz Python 3.13 jako stos uruchomieniowy.
  6. Wybierz ten sam region świadczenia usługi Azure, co inne zasoby.
  7. Włącz opcję Zabezpieczanie unikatowej domyślnej nazwy hosta.
  8. Kliknij Przejrzyj + Utwórz, a następnie kliknij Utwórz.

Tworzenie bota platformy Azure

  1. W witrynie Azure Portal kliknij pozycję Utwórz zasób.
  2. Wyszukaj usługę Azure Bot i wybierz ją.

Konfigurowanie bota platformy Azure:

  1. Wprowadź identyfikator bota (nazwa).
  2. Wybierz subskrypcję platformy Azure.
  3. Wybierz utworzoną grupę zasobów.
  4. Ustaw rezydencję danych na Global.
  5. Ustaw Plan Cenowy na Bezpłatny.
  6. Ustaw typ aplikacji na pojedynczy dzierżawca.
  7. Ustaw Typ tworzenia na Utwórz nowy identyfikator aplikacji Microsoft.
  8. Pozostaw odwołanie do zarządzania usługami puste.
  9. Kliknij Przejrzyj + Utwórz, a następnie kliknij Utwórz.

Po utworzeniu bota platformy Azure skonfiguruj jego ustawienia:

  1. Przejdź do zasobu usługi Azure Bot.

  2. W obszarze Ustawienia wybierz pozycję Konfiguracja.

  3. Ustaw punkt końcowy komunikatów na https://<your-webapp-name>.azurewebsites.net/api/messages.

    Zastąp <your-webapp-name> nazwą swojej Web App. Adres URL można potwierdzić, sprawdzając domenę domyślną w zasobie aplikacji internetowej.

  4. Kliknij przycisk Zastosuj.

  5. Skopiuj i zapisz identyfikator aplikacji firmy Microsoft i identyfikator dzierżawy aplikacji.

  6. Obok pozycji Identyfikator aplikacji firmy Microsoft kliknij pozycję Zarządzaj hasłem.

  7. Kliknij pozycję Nowy klucz tajny klienta , aby utworzyć nowy klucz tajny klienta.

  8. Skopiuj i zapisz wartość wpisu tajnego klienta. Nie można ponownie wyświetlić tej wartości po opuszczeniu strony.

Ważne

Po przejściu do strony zobaczysz istniejący klucz tajny klienta, ale musisz utworzyć nowy klucz tajny dla tej integracji.

Konfigurowanie bota platformy Azure

Konfigurowanie kanału usługi Microsoft Teams

  1. W zasobie usługi Azure Bot w obszarze Kanały wybierz pozycję Microsoft Teams.
  2. Zaakceptuj warunki użytkowania usługi.

Po wykonaniu tych kroków utworzono i skonfigurowano następujące zasoby:

  • Grupa zasobów: kontener logiczny powiązanych zasobów platformy Azure
  • Plan usługi App Service: konfiguracja zasobów obliczeniowych definiujących sposób uruchamiania aplikacji
  • Aplikacja internetowa: hostuje kod bota
  • Bot platformy Azure: usługa, która umożliwia aktywację kanału na potrzeby interakcji z botem
  • Aplikacja platformy Azure: zarządza konfiguracjami uwierzytelniania, w tym wpisami tajnymi klienta, kluczami, zakresami i tokenami

Konfigurowanie aplikacji platformy Azure dla protokołu OAuth

Skonfiguruj aplikację platformy Azure, aby włączyć uwierzytelnianie OAuth 2.0 w imieniu użytkownika.

  1. W witrynie Azure Portal przejdź do aplikacji platformy Azure dla bota.

W sekcji Uwierzytelnianie dodaj adres URL przekierowania:

  1. Kliknij Dodaj platformę>Sieć Web.

  2. Dodaj identyfikator URI przekierowania: https://token.botframework.com/.auth/web/redirect

  3. Kliknij przycisk Konfiguruj.

    Adres URL przekierowania

W sekcji Konfiguracja tokenu dodaj opcjonalne oświadczenie dla tokenu dostępu:

  1. Kliknij Dodaj opcjonalne oświadczenie>tokenu dostępu.
  2. Wyszukaj i wybierz preferred_username oświadczenie.

W sekcji Uwidacznij interfejs API utwórz zakres:

  1. Ustaw identyfikator URI aplikacji na api://<app_id> (użyj identyfikatora aplikacji/klienta).

  2. Kliknij pozycję Zapisz>dodaj zakres.

  3. Skonfiguruj zakres:

    • Nazwa zakresu: access_as_user
    • Kto może wyrazić zgodę: Administratorzy i użytkownicy
    • Nazwa wyświetlana zgody administratora: Dostęp do API jako zalogowany użytkownik
    • Opis zgody administratora: Zezwalaj aplikacji na dostęp do interfejsu API jako użytkownik
    • Nazwa wyświetlana zgody użytkownika: Dostęp do API jako Ty
    • Opis zgody użytkownika: Zezwalaj aplikacji na dostęp do interfejsu API jako Ty

W sekcji Uprawnienia interfejsu API dodaj uprawnienia programu Microsoft Graph:

  1. Kliknij pozycję Dodaj uprawnienie>Delegowane uprawnienia programu>.
  2. Wybierz uprawnienia email, openid i profile.

W sekcji Manifest sprawdź wersję tokenu dostępu:

  1. Znajdź klucz api w pliku JSON manifestu.
  2. Upewnij się, że requestedAccessTokenVersion jest ustawione na 2. Jeśli tak nie jest, zmień go na 2 i zapisz.

Weryfikowanie wersji tokenu dostępu

Konfigurowanie połączenia OAuth usługi Azure Bot

Skonfiguruj połączenie OAuth w zasobie usługi Azure Bot:

  1. W usłudze Azure Bot przejdź do pozycjiKonfiguracja>ustawień>Dodaj ustawienia połączenia OAuth.

  2. Skonfiguruj połączenie:

    • Nazwa: wybierz opisową nazwę (użyj jej w konfiguracji aplikacji internetowej)
    • Dostawca usług: Azure Active Directory w wersji 2
    • Identyfikator klienta: Aplikacja/identyfikator klienta bota platformy Azure
    • Klucz tajny klienta: wpis tajny utworzony dla aplikacji
    • Identyfikator dzierżawy: Identyfikator dzierżawy Twojej organizacji
    • Zakresy: api://<app_id>/access_as_user (użyj identyfikatora aplikacji/klienta Azure)
  3. Kliknij przycisk Zapisz.

    Dodawanie połączenia OAuth do bota platformy Azure

Konfigurowanie aplikacji internetowej na potrzeby integracji agenta

Skonfiguruj zmienne środowiskowe aplikacji internetowej i polecenie uruchamiania na potrzeby integracji agenta usługi Databricks:

  1. Przejdź do pozycji Ustawienia>Zmienne środowiskowe w aplikacji internetowej.
  2. Dodaj następujące zmienne agenta usługi Databricks:
Nazwa zmiennej Wartość Description
ConnectionName <oauth_connection_name> Nazwa połączenia OAuth utworzonego w usłudze Azure Bot
DATABRICKS_HOST <databricks_workspace_url> Adres URL obszaru roboczego usługi Databricks, w którym działa agent obsługujący punkt końcowy (na przykład https://adb-1234567890123456.7.azuredatabricks.net)
MicrosoftAppID <microsoft_app_id> Identyfikator klienta/identyfikator aplikacji bota platformy Azure (zapisany wcześniej)
MicrosoftAppPassword <client_secret> Wcześniej zapisany tajny klucz klienta utworzony dla aplikacji
MicrosoftAppType singletenant Typ aplikacji
MicrosoftTenantId <tenant_id> Identyfikator dzierżawy organizacji (zapisany wcześniej)
SERVING_ENDPOINT_NAME <endpoint_name> Nazwa punktu końcowego obsługującego uruchomionego w obszarze roboczym usługi Databricks
SCM_DO_BUILD_DURING_DEPLOYMENT True Instaluje i kompiluje zależności podczas wdrażania
WEBSITE_HTTPLOGGING_RETENTION_DAYS 3 Przechowuje dzienniki przez 3 dni

Ustawianie zmiennych środowiskowych dla bota

  1. Kliknij przycisk Zapisz.
  2. Przejdź do pozycji Konfiguracja ustawień>.
  3. Ustaw polecenie Startup na: python3 app.py
  4. Kliknij przycisk Zapisz.

Uwaga / Notatka

Polecenie python3 app.py uruchamiania jest skonfigurowane do pracy z kodem bota agenta Databricks, który wdrożysz w późniejszym kroku. Różni się to od innych konfiguracji bota platformy Azure, które mogą używać różnych poleceń uruchamiania.

Zaktualizuj polecenie uruchamiania, aby uruchomić agenta Databricks

Krok 3. Tworzenie zasad federacji OAuth w usłudze Databricks

Utwórz zasady federacji OAuth, aby włączyć bezpieczne uwierzytelnianie "w imieniu użytkownika" między usługą Microsoft Teams i usługą Databricks. Te zasady umożliwiają wymianę tokenów między identyfikatorem Entra firmy Microsoft i interfejsami API REST usługi Databricks.

Aby uzyskać szczegółowe informacje o zasadach federacji, zobacz:

Uwaga / Notatka

Aby utworzyć zasady federacyjne, musisz być administratorem usługi Databricks.

Tworzenie zasad federacji przy użyciu interfejsu wiersza polecenia usługi Databricks

  1. Zaloguj się do konsoli konta usługi Databricks przy użyciu identyfikatora konta usługi Databricks:

    databricks auth login --host https://accounts.azuredatabricks.net/ --account-id <your_databricks_account_id>
    
  2. Utwórz zasady federacji przy użyciu aplikacji Azure app_id i tenant_id:

    databricks account federation-policy create --json '{
      "oidc_policy": {
        "issuer": "https://login.microsoftonline.com/<tenant_id>/v2.0",
        "audiences": [
          "<app_id>"
        ],
        "subject_claim": "preferred_username"
      }
    }'
    

Po utworzeniu zasad federacyjnych można wymieniać tokeny Microsoft Entra ID na tokeny Databricks, co umożliwia uwierzytelnione żądania do API Databricks w imieniu użytkownika.

Krok 4. Wdrażanie kodu bota w aplikacji internetowej platformy Azure

Wdróż kod aplikacji bota w aplikacji internetowej platformy Azure, aby ukończyć integrację.

Klonowanie repozytorium botów

Sklonuj repozytorium zawierające kod bota, który zarządza uwierzytelnianiem przepływu OAuth, wymianą tokenów usługi Databricks i interakcją agenta:

git clone https://github.com/databricks-solutions/teams-databricks-bot-service.git

Instalowanie CLI Azure

Zainstaluj interfejs wiersza polecenia platformy Azure dla swojej platformy:

Wdrażanie aplikacji

  1. Zaloguj się do konta platformy Azure:

    az login
    

    Zostanie otwarta przeglądarka internetowa na potrzeby uwierzytelniania. Wybierz tę samą subskrypcję, która była używana do tworzenia zasobów platformy Azure.

  2. W terminalu przejdź do folderu teams-bot sklonowanego repozytorium: cd databricks-bot-service/teams-bot/

  3. Wdróż kod bota w aplikacji internetowej:

    az webapp up --resource-group <resource_group> --name <web_app_name> --runtime "PYTHON:3.13" --sku B1
    

    Zastąp <resource_group> nazwą grupy zasobów Azure i <web_app_name> nazwą aplikacji sieciowej.

    Proces kompilacji i uruchamiania trwa kilka minut. Po zakończeniu procesu zostaną wyświetlone dane wyjściowe JSON z informacjami o aplikacji i przekazanym kodzie źródłowym.

Krok 5. Przetestuj bota

Przetestuj integrację bota przy użyciu czatu internetowego usługi Azure Bot Service:

  1. Przejdź do pozycji Ustawienia>Test w czacie internetowym w zasobie usługi Azure Bot.
  2. Wpisz "Hello", aby wyświetlić przycisk logowania.
  3. Po zalogowaniu zostanie wyświetlony komunikat "Teraz się zalogowano".
  4. Zadaj pytania związane z domeną bota. Bot zwraca odpowiedzi agenta aplikacji Databricks.

Testowanie bota w usługach Azure Bot Services

Dalsze kroki