Odpowiadanie na pytania na podstawie rozmów z Google Chat w aplikacji Gemini AI Chat

Z tego samouczka dowiesz się, jak stworzyć aplikację Google Chat, która odpowie na pytania pytań na podstawie rozmów w pokojach czatu z wykorzystaniem generatywnej AI oparta na Vertex AI z Gemini. Aplikacja Google Chat używa: interfejs Google Workspace Events API oraz Pub/Sub do rozpoznawania i odpowiadania na pytania publikowane w pokojach czatu w czasie rzeczywistym, nawet nie jest wymieniany.

Aplikacja Google Chat używa wszystkich wiadomości wysyłanych w pokoju jako źródła danych i bazy wiedzy: gdy ktoś zada pytanie, Aplikacja do obsługi czatu sprawdzi wcześniej udostępnione odpowiedzi, a następnie udostępnia jedną. Jeśli nie można znaleźć odpowiedzi, informuje, że nie może udzielić odpowiedzi. Przy każdej odpowiedzi użytkownicy mogą kliknąć przycisk polecenia akcesorium, aby dodać @wzmiankę o menedżerze pokoju i zapytać . Dzięki wykorzystaniu Gemini AI aplikacja Google Chat dostosowuje i wykorzystuje Rozbudowuje swoją bazę wiedzy dzięki nieustannym trenowaniu rozmów w pokojach i filmów, do których zostały dodane.

Oto jak aplikacja Google Chat działa we wdrażaniu pracowników i rozwiązywać problemy techniczne:

  • Wspomnienie o aplikacji Asystent wiedzy o AI dodaje ją do pokoju.
    Rysunek 1. Karol dodaje aplikację Google Chat Asystenta wiedzy AI do pokoju czatu.
  • Dana zadaje pytanie.
    Rysunek 2. Daria pyta, czy firma oferuje szkolenia z wymowy.
  • Aplikacja Google Chat Asystent wiedzy o AI odpowiada na pytanie.
    Rysunek 3. Aplikacja Google Chat – asystent wiedzy AI na podstawie historii rozmów w pokoju czatu prosi Vertex AI o udzielenie odpowiedzi na pytanie, a następnie udostępnia odpowiedź.

Wymagania wstępne

Cele

  • Tworzenie aplikacji do obsługi czatu, która wykorzystuje generatywną AI do: odpowiadać na pytania na podstawie wiedzy udostępnionej w pokoju czatu. rozmów.
  • Dzięki generatywnej AI:
    • Wykrywaj pytania pracowników i odpowiadaj na nie.
    • Ciągłe uczenie się na podstawie trwających rozmów na czacie kosmosu.
  • Słuchaj wiadomości i odpowiadaj na nie w pokoju czatu w czasie rzeczywistym nawet wtedy, gdy aplikacja nie wysłano wiadomość.
  • Utrwalanie wiadomości przez zapisywanie i odczytywanie danych w bazie danych Firestore.
  • Ułatwianie współpracy w pokoju czatu przez wspomnienie o pokoju menedżerom.

Architektura

Poniższy diagram przedstawia architekturę Google Workspace Zasoby Google Cloud używane przez asystenta wiedzy o AI aplikacja Google Chat.

Schemat architektury aplikacji Google Chat Asystent wiedzy o AI

Aplikacja Google Chat Asystent wiedzy o AI działa tak:

  • Użytkownik dodaje aplikację Google Chat Asystent wiedzy o AI do pokoju czatu:

    1. Aplikacja Google Chat wyświetli prośbę o użytkownik, który dodał go do pokoju czatu, aby skonfigurować uwierzytelnianie i autoryzacja.

    2. Aplikacja Google Chat pobiera wiadomości w pokoju według wywołanie metody spaces.messages.list w interfejsie Chat API oraz a następnie zapisuje pobrane wiadomości w bazie danych Firestore.

    3. Aplikacja Google Chat wywołuje metodę Uruchomienie metody subscriptions.create w interfejsie Google Workspace Events API nasłuchuj zdarzeń takich jak wiadomości w pokoju. punkt końcowy powiadomień subskrypcji to temat Pub/Sub, który używa Eventarc, aby przekazać zdarzenie do aplikacji Google Chat.

    4. Aplikacja Google Chat publikuje wiadomość powitalną w: w pomieszczeniu.

  • Użytkownik w pokoju czatu opublikuje wiadomość:

    1. Aplikacja Google Chat odbiera wiadomość w czasie rzeczywistym z tematu Pub/Sub.

    2. Aplikacja Google Chat doda wiadomość do Firestore w bazie danych.

      Jeśli użytkownik później edytuje lub usunie wiadomość, Aplikacja do obsługi czatu odbiera zaktualizowane lub usunięte zdarzenie w czasie rzeczywistym, a następnie aktualizuje lub usuwa wiadomość w Firestore w bazie danych.

    3. Aplikacja Google Chat wysyła wiadomość do Vertex AI w Gemini:

      1. Ten prompt instruuje Vertex AI w Gemini, aby sprawdził, czy wiadomość zawiera pytanie. Jeśli tak, Gemini odpowiada na pytanie, w historii wiadomości pokoju czatu przechowywanej w Firestore a aplikacja Google Chat wysyła wiadomość do Pokój czatu. Jeśli nie, nie odpowiadaj.

      2. Jeśli Vertex AI z Gemini odpowie na pytanie, Aplikacja Google Chat publikuje aby odebrać, wywołując metodę spaces.messages.create w Interfejs Chat API korzystający z uwierzytelniania aplikacji.

        Jeśli Vertex AI z Gemini nie odpowie na pytanie, Aplikacja do obsługi czatu publikuje że nie może znaleźć odpowiedzi na to pytanie w historii pokoju czatu.

        Wiadomości zawsze zawierają przycisk polecenia akcesorium, który użytkownicy mogą przez kliknięcie, które powoduje dodać @wzmiankę o menedżerze pokoju, prosząc go o udzielenie odpowiedzi;

  • Aplikacja Google Chat otrzymuje powiadomienie dotyczące cyklu życia od interfejs Google Workspace Events API i subskrypcja pokoju czatu wkrótce wygaśnie:

    1. Aplikacja Google Chat wyśle prośbę o odnowienie subskrypcji subskrypcji, wywołując metodę subscriptions.patch w Interfejs Google Workspace Events API.
  • aplikacja Google Chat zostanie usunięta z Google Chat, spacja:

    1. Aplikacja Google Chat usuwa subskrypcję przez wywołanie metody subscriptions.delete w funkcji Interfejs Google Workspace Events API.

    2. aplikacja Google Chat usunie Google Chat, danych z pokoju z Firestore.

Przeglądanie usług używanych przez aplikację Google Chat Asystent wiedzy o AI

Aplikacja Google Chat Asystent wiedzy o AI korzysta z tych usługach Google Workspace i Google Cloud:

  • Interfejs Vertex AI API z Gemini: Platforma generatywnej AI oparta na technologii Gemini. Asystent wiedzy o AI Aplikacja do obsługi czatu używa interfejsu Vertex AI API z Gemini do: rozpoznawania i rozumienia pytań pracowników oraz odpowiadania na nie.
  • Interfejs Chat API: Interfejs API do tworzenia aplikacji w Google Chat, które odbierają i reagują Zdarzenia interakcji z Google Chat, np. wiadomości. AI Aplikacja Google Chat Asystent wiedzy używa interfejsu Chat API do:
    • Otrzymywać zdarzenia interakcji wysyłane przez Google Chat i odpowiadać na nie.
    • Wyświetlanie listy wiadomości wysłanych w pokoju.
    • Publikowanie odpowiedzi na pytania użytkowników w pokoju.
    • Skonfiguruj atrybuty określające sposób jego wyświetlania w Czatuj, dodając imię i nazwisko oraz awatara.
  • Interfejs Google Workspace Events API: Ten interfejs API umożliwia subskrybowanie wydarzeń i zarządzanie zmieniać powiadomienia w aplikacjach Google Workspace. Aplikacja Google Chat Asystent wiedzy o AI korzysta z interfejsu Google Workspace Events API do nasłuchiwania wiadomości publikowanych w pokój czatu, aby mógł wykrywać pytania i odpowiadać na nie, nie jest wymieniany.
  • Firestore: Bezserwerowa baza danych dokumentów. Asystent wiedzy o AI Aplikacja do obsługi czatu używa Firestore do przechowywania danych o wiadomościach wysłane w pokoju czatu.
  • Pub/Sub: Pub/Sub to asynchroniczna i skalowalna usługa do przesyłania wiadomości, która oddziela które generują wiadomości z usług przetwarzających te wiadomości. Asystent wiedzy AI aplikacja Google Chat korzysta z Pub/Sub do: otrzymywać zdarzenia subskrypcji z pokoi czatu.
  • Eventarc: Eventarc pozwala tworzyć architektury oparte na zdarzeniach wdrażania, dostosowywania i utrzymywania bazowej infrastruktury. AI aplikacji Google Chat Asystent wiedzy korzysta z Eventarc, Kieruj zdarzenia z Pub/Sub do pokoju czatu oraz funkcję w Cloud Functions, która odbiera i przetwarza zdarzenia subskrypcji.
  • Cloud Functions: Lekka bezserwerowa usługa obliczeniowa, która umożliwia tworzenie jednozadaniowe, niezależne funkcje, które mogą reagować na Google Chat. zdarzeń interakcji i subskrypcji bez konieczności zarządzania serwerem lub środowiskiem wykonawczym dla środowiska. Aplikacja Google Chat Asystent wiedzy o AI używa 2 funkcji w Cloud Functions o nazwach:
    • app: hostowanie punktu końcowego HTTP wysyłanego przez Google Chat zdarzenia interakcji do platformy obliczeniowej i jako platformy obliczeniowej do uruchamiania logiki, przetwarza je i reaguje na nie.
    • eventsApp: odbiera i przetwarza pokój czatu takich jak wiadomości z subskrypcji Pub/Sub.
    . Cloud Functions wykorzystuje poniższe usługi Google Cloud do tworzenia zasoby obliczeniowe hosta:
    • Cloud Build: W pełni zarządzana platforma do ciągłej integracji, dostarczania i wdrażania który uruchamia automatyczne kompilacje.
    • Cloud Run: W pełni zarządzane środowisko do uruchamiania aplikacji skonteneryzowanych.

Przygotowywanie środowiska

W tej sekcji dowiesz się, jak utworzyć i skonfigurować projekt Google Cloud dla platformy aplikacja Google Chat.

Utwórz projekt Google Cloud

Google Cloud Console

  1. W konsoli Google Cloud otwórz menu . > Administracja Administracja > Utwórz projekt.

    Otwórz stronę Tworzenie projektu

  2. W polu Project Name (Nazwa projektu) wpisz opisową nazwę projektu.

    Opcjonalnie: aby edytować identyfikator projektu, kliknij Edytuj. Identyfikatora projektu nie można zmienić po jego utworzeniu, wybierz więc identyfikator, który odpowiada potrzebom od początku w projektach AI.

  3. W polu Lokalizacja kliknij Przeglądaj, aby wyświetlić potencjalne lokalizacje dla w projektach AI. Następnie kliknij Wybierz.
  4. Kliknij Utwórz. Konsola Google Cloud otworzy stronę Panel, a projekt zostanie utworzony. w ciągu kilku minut.

interfejs wiersza poleceń gcloud

W jednym z tych środowisk programistycznych uzyskaj dostęp do Google Cloud Interfejs wiersza poleceń (`gcloud`):

  • Cloud Shell: korzystanie z terminala online za pomocą interfejsu wiersza poleceń gcloud. już skonfigurowane, aktywuj Cloud Shell.
    Aktywuj Cloud Shell
  • Local Shell (Powłoka lokalna): aby użyć lokalnego środowiska programistycznego, instalacja oraz zainicjuj w gcloud CLI.
    Aby utworzyć projekt Google Cloud, użyj polecenia `gcloud projects create`:
    gcloud projects create PROJECT_ID
    Zastąp PROJECT_ID, ustawiając identyfikator projektu, który chcesz utworzyć.

Włącz płatności za projekt Cloud

Google Cloud Console

  1. W konsoli Google Cloud otwórz Rozliczenia. Kliknij Menu > Płatności > Moje projekty.

    Otwórz Płatności za moje projekty

  2. W sekcji Wybierz organizację wybierz organizację powiązaną z: Twojemu projektowi Google Cloud.
  3. W wierszu projektu otwórz menu Działania. (), kliknij Zmień ustawienia płatności i wybierz konto rozliczeniowe Cloud.
  4. Kliknij Ustaw konto.

interfejs wiersza poleceń gcloud

  1. Aby wyświetlić listę dostępnych kont rozliczeniowych, uruchom polecenie:
    gcloud billing accounts list
  2. Połącz konto rozliczeniowe z projektem Google Cloud:
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    Zastąp następujące elementy:

    • PROJECT_ID to identyfikator projektu dla Projekt Cloud, dla którego chcesz włączyć płatności.
    • BILLING_ACCOUNT_ID to identyfikator konta rozliczeniowego, z którym chcesz połączyć konto projekt Google Cloud.

Włączanie interfejsów API

Google Cloud Console

  1. W konsoli Google Cloud włącz interfejsy Google Chat API, Vertex AI API Cloud Functions API, Firestore API, Cloud Build API interfejsy Pub/Sub API, Google Workspace Events API i Eventarc API oraz Cloud Run Admin API.

    Włączanie interfejsów API

  2. Sprawdź, czy interfejsy API są włączone we właściwym Projekt Cloud, a następnie kliknij Dalej.

  3. Sprawdź, czy włączasz odpowiednie interfejsy API, a następnie kliknij Włącz.

interfejs wiersza poleceń gcloud

  1. W razie potrzeby ustaw bieżący projekt Cloud na ten, utworzono:

    gcloud config set project PROJECT_ID
    

    Zastąp PROJECT_ID identyfikatorem projektu utworzony przez Ciebie projekt Cloud.

  2. włączyć interfejsy Google Chat API, Vertex AI API i Cloud Functions API; interfejsy Firestore API, Cloud Build API i Pub/Sub API interfejs Google Workspace Events API, Eventarc API i Cloud Run Admin Interfejs API:

    gcloud services enable chat.googleapis.com \
    aiplatform.googleapis.com \
    cloudfunctions.googleapis.com \
    firestore.googleapis.com \
    cloudbuild.googleapis.com \
    pubsub.googleapis.com \
    workspaceevents.googleapis.com \
    eventarc.googleapis.com \
    run.googleapis.com
    

Konfigurowanie uwierzytelniania i autoryzacji

Uwierzytelnianie i autoryzacja umożliwia Dostęp do zasobów aplikacji do obsługi czatu w Google Workspace oraz Google Cloud.

W tym samouczku opublikujesz wewnętrznie aplikację Google Chat, tak aby była Możesz użyć symbolu zastępczego. Przed opublikowaniem Aplikacja Google Chat zewnętrzna – zastąp informacje w obiekcie zastępczym do wyświetlania prawdziwych informacji na ekranie zgody.

  1. W konsoli Google Cloud wybierz Menu > Interfejsy API i Usługi > Ekran zgody OAuth.

    Otwórz ekran zgody OAuth

  2. W sekcji Typ użytkownika wybierz Wewnętrzny i kliknij Utwórz.

  3. W polu Nazwa aplikacji wpisz AI knowledge assistant.

  4. W sekcji Adres e-mail pomocy technicznej dla użytkowników wybierz swój adres e-mail lub odpowiedni Grupa dyskusyjna Google.

  5. W sekcji Dane kontaktowe dewelopera wpisz swój adres e-mail.

  6. Kliknij Zapisz i kontynuuj.

  7. Kliknij Dodaj lub usuń zakresy. Pojawi się panel z listą zakresów dla każdego interfejsu API włączonego w projekcie Cloud.

  8. W sekcji Dodaj zakresy ręcznie wklej ten zakres:

    • https://www.googleapis.com/auth/chat.messages
  9. Kliknij Dodaj do tabeli.

  10. Kliknij Aktualizuj.

  11. Kliknij Zapisz i kontynuuj.

  12. Przejrzyj podsumowanie rejestracji aplikacji i kliknij Powrót do panelu.

Utwórz dane uwierzytelniające identyfikatora klienta OAuth

  1. W konsoli Google Cloud wybierz Menu > Interfejsy API i Usługi > Dane logowania.

    Przejdź do danych logowania

  2. Kliknij Utwórz dane logowania. > Identyfikator klienta OAuth.

  3. Kliknij Application type (Typ aplikacji). > Aplikacja internetowa.

  4. W polu Nazwa wpisz nazwę danych logowania. Ta nazwa jest tylko widoczne w konsoli Google Cloud.

  5. W sekcji Autoryzowane identyfikatory URI przekierowania kliknij Dodaj URI.

  6. W identyfikatorach URI 1 wpisz:

    https://REGION-PROJECT_ID.cloudfunctions.net/app/oauth2
    

    Zastąp następujące elementy:

    • REGION: region funkcji w Cloud Functions, np. us-central1. Później, podczas tworzenia 2 funkcji w Cloud Functions, musisz ustawić ich regionu na tę wartość.
    • PROJECT_ID: identyfikator projektu Cloud. utworzony przez Ciebie.
  7. Kliknij Utwórz.

  8. W oknie Utworzono klienta OAuth kliknij Pobierz plik JSON.

  9. Zapisz pobrany plik jako client_secrets.json. Później, gdy utworzysz do obu tych funkcji, umieść w każdej z nich plik client_secrets.json lub wdrożenia.

  10. Kliknij OK.

Tworzenie tematu Pub/Sub

Temat Pub/Sub współpracuje z Interfejs Google Workspace Events API do subskrybowania wydarzeń w Google Chat pokoju jak wiadomości i powiadomienia aplikacji Google Chat w czasie rzeczywistym obecnie się znajdujesz.

Aby utworzyć temat Pub/Sub:

Google Cloud Console

  1. W konsoli Google Cloud wybierz Menu > Pub/Sub.

    Otwórz stronę Pub/Sub

  2. Kliknij Utwórz temat.

  3. W polu Identyfikator tematu wpisz events-api.

  4. Odznacz Dodaj subskrypcję domyślną.

  5. W sekcji Szyfrowanie wybierz Klucz szyfrowania zarządzany przez Google.

  6. Kliknij Utwórz. Pojawi się temat Pub/Sub.

  7. Aby ten temat Pub/Sub i interfejs Google Workspace Events API działały przyznać użytkownikowi uprawnień Google Chat uprawnienia do publikowania w temat Pub/Sub:

    1. W panelu events-api w sekcji UPRAWNIENIA kliknij Dodaj podmiot zabezpieczeń

    2. W sekcji Dodaj podmioty zabezpieczeń w polu Nowe podmioty zabezpieczeń wpisz chat-api-push@system.gserviceaccount.com

    3. W sekcji Przypisywanie ról w sekcji Wybierz rolę kliknij Pub/Sub > Wydawca Pub/Sub.

    4. Kliknij Zapisz.

interfejs wiersza poleceń gcloud

  1. Utwórz temat Pub/Sub o identyfikatorze tematu events-api:

    gcloud pubsub topics create events-api
    
  2. Przyznaj użytkownikowi uprawnienia do Google Chat w celu publikowania w temat Pub/Sub:

    gcloud pubsub topics add-iam-policy-binding events-api \
    --member='serviceAccount:chat-api-push@system.gserviceaccount.com' \
    --role='roles/pubsub.publisher'
    

Tworzenie bazy danych Firestore

Baza danych Firestore będzie działać i będzie pobierać dane dane z pokoi czatu, np. wiadomości. Nie definiujesz danych który jest ustawiany niejawnie w przykładowym kodzie przez funkcje model/message.js Pliki: services/firestore-service.js.

Baza danych aplikacji Asystent wiedzy AI korzysta z Model danych NoSQL oparty na dokumentów zorganizowane w kolekcje. Więcej informacji: Firestore danych model.

Poniższy diagram przedstawia schemat Asystenta wiedzy o AI Model danych aplikacji Google Chat:

Model danych bazy danych Firestore.

Poziom główny zawiera 2 kolekcje:

  1. spaces, gdzie każdy dokument reprezentuje pokój czatu, do których dodawana jest aplikacja Google Chat. Każda wiadomość jest reprezentowana reprezentowany przez dokument w podkolekcji messages.

  2. users, gdzie każdy dokument reprezentuje użytkownika, który dodał atrybut z aplikacji Google Chat do pokoju czatu.

Wyświetlanie definicji kolekcji, dokumentów i pól

spaces

Pokój czatu zawierający aplikację Google Chat Asystent wiedzy o AI.

Pola
Document IDString
Unikalny identyfikator określonej przestrzeni. Część nazwy zasobu pokoju w interfejsie Chat API.
messagesSubcollection of Documents (messages)
Wiadomości wysłane w pokoju czatu. Odpowiada Document ID elementu message w Firebase.
spaceNameString
Unikalna nazwa pokoju w interfejsie Chat API. Odpowiada nazwie zasobu pokoju w interfejsie Chat API.

messages

Wiadomości wysłane w pokoju czatu.

Pola
Document IDString
Unikalny identyfikator konkretnej wiadomości.
nameString
Unikalna nazwa wiadomości w interfejsie Chat API. Odpowiada nazwie zasobu wiadomości w interfejsie Chat API.
textString
Treść wiadomości.
timeString (Timestamp format)
Czas utworzenia wiadomości.

users

Użytkownicy, którzy dodali aplikację Google Chat Asystent wiedzy o AI do pokoju czatu.

Pola
Document IDString
Unikalny identyfikator konkretnego użytkownika.
accessTokenString
Token dostępu przyznany podczas autoryzacji użytkownika OAuth 2.0 używany do wywoływania interfejsów Google Workspace API.
refreshTokenString
Token odświeżania przyznany podczas autoryzacji użytkownika OAuth 2.0.

Aby utworzyć bazę danych Firestore:

Google Cloud Console

  1. W konsoli Google Cloud wybierz Menu > Firestore.

    Otwórz Firestore

  2. Kliknij Utwórz bazę danych.

  3. W sekcji Wybierz tryb Firestore kliknij Tryb natywny.

  4. Kliknij Dalej.

  5. Skonfiguruj bazę danych:

    1. W polu Nazwij bazę danych pozostaw Identyfikator bazy danych jako (default).

    2. W sekcji Typ lokalizacji wybierz Region.

    3. W polu Region podaj region bazy danych, taki jak us-central1 Aby uzyskać najlepszą skuteczność, wybierz takie samo lub w pobliżu jako lokalizację aplikacji Google Chat w Cloud Functions.

  6. Kliknij Utwórz bazę danych.

interfejs wiersza poleceń gcloud

  • Utwórz bazę danych Firestore w trybie natywnym:

    gcloud firestore databases create \
    --location=LOCATION \
    --type=firestore-native
    

    Zastąp LOCATION nazwą Firestore regionu, takie jak jako us-central1. Aby uzyskać najlepszą skuteczność, wybierz takie samo lub w pobliżu jako lokalizację aplikacji Google Chat w Cloud Functions.

Tworzenie i wdrażanie aplikacji Google Chat

Po utworzeniu i skonfigurowaniu projektu Google Cloud możesz zacząć i wdrożyć aplikację Google Chat. W tej sekcji: :

  1. Utwórz i wdróż 2 funkcje w Cloud Functions. 1 odpowiedź na czat zdarzenia interakcji i drugie do reagowania na zdarzenia Pub/Sub.
  2. Tworzenie i wdrażanie aplikacji Google Chat przy użyciu interfejsu Google Chat API stronie konfiguracji.

Tworzenie i wdrażanie funkcji w Cloud Functions

W tej sekcji utworzysz i wdrożysz 2 funkcje w Cloud Functions o nazwie:

  • app: hostuje i uruchamia kod, który odpowiada na zdarzenia otrzymywane z Google Chat jako kod HTTP żądań.
  • eventsApp: odbiera i przetwarza pokój czatu takich jak wiadomości z Pub/Sub.

Te funkcje w Cloud Functions składają się na asystenta wiedzy o AI Logika aplikacji Google Chat.

Opcjonalnie przed utworzeniem funkcji w Cloud Functions poświęć chwilę na zapoznanie się zapoznaj się z przykładowym kodem hostowanym na GitHubie.

Wyświetl w GitHubie

Utwórz i wdróż app

Google Cloud Console

  1. Pobierz kod z GitHuba jako plik ZIP.

    Pobieranie pliku ZIP

  2. Rozpakuj pobrany plik ZIP.

    Wyodrębniony folder zawiera całe przykłady z Google Workspace z repozytorium.

  3. W wyodrębnionym folderze przejdź do Katalog google-chat-samples-main/node/ai-knowledge-assistant.

  4. W katalogu google-chat-samples/node/ai-knowledge-assistant dodaj plik client_secrets.json pobrany podczas utworzenie danych uwierzytelniających identyfikatora klienta OAuth do uwierzytelniania i autoryzacji.

  5. Skompresuj zawartość folderu ai-knowledge-assistant do pliku ZIP .

    Katalog główny pliku ZIP musi zawierać: pliki i foldery:

    • .gcloudignore
    • .gitignore
    • README.md
    • deploy.sh
    • env.js
    • events_index.js
    • http_index.js
    • index.js
    • client_secrets.json
    • package-lock.json
    • package.json
    • controllers/
    • model/
    • services/
    • test/
  6. W konsoli Google Cloud wybierz Menu > Cloud Functions.

    Otwórz Cloud Functions

    Sprawdź, czy projekt Google Cloud powiązany z Twoim kontem Wybrano aplikację do obsługi czatu.

  7. Kliknij Utwórz funkcję.

  8. Na stronie Utwórz funkcję skonfiguruj funkcję:

    1. W sekcji Środowisko wybierz 2 generacji.
    2. W polu Nazwa funkcji wpisz app.
    3. W polu Region wybierz region, np. us-central1. Ten region musi być zgodny z regionem ustawionym w autoryzowanym identyfikatorze URI przekierowania, gdy Ty utworzenie danych uwierzytelniających identyfikatora klienta OAuth do uwierzytelniania i autoryzacji.
    4. W sekcji Typ reguły kliknij HTTPS.
    5. W sekcji Authentication (Uwierzytelnianie) wybierz Zezwalaj na nieuwierzytelnione wywołania.
    6. Kliknij Dalej.
  9. W sekcji Środowisko wykonawcze wybierz Node.js 20.

  10. W polu Punkt wejścia usuń tekst domyślny i wpisz app

  11. W sekcji Kod źródłowy wybierz Przesyłanie ZIP.

  12. W sekcji Zasobnik docelowy: utwórz lub wybierz zasobnik:

    1. Kliknij Przeglądaj.
    2. Wybierz zasobnik.
    3. Kliknij Wybierz.

    Google Cloud przesyła do niego plik ZIP i rozpakowuje pliki komponentu. w tym zasobniku. Cloud Functions następnie skopiuje pliki komponentu do lub funkcji w Cloud Functions.

  13. W pliku ZIP prześlij plik ZIP pobrany z GitHuba. wyodrębnione i ponownie skompresowane:

    1. Kliknij Przeglądaj.
    2. Przejdź do pliku ZIP i wybierz go.
    3. Kliknij Otwórz.
  14. Kliknij Wdróż.

    Otworzy się strona Szczegóły funkcji w Cloud Functions, a pojawi się Twoja funkcja. z dwoma wskaźnikami postępu: jednym dla kompilacji i jednym dla usługi. Gdy oba wskaźniki postępu znikają i zastępowane są znacznikiem postępu , oznacza to, że funkcja jest wdrożona i gotowa.

  15. Zmień przykładowy kod, by ustawić stałe:

    1. Na stronie Szczegóły funkcji w Cloud Functions kliknij Edytuj.
    2. Kliknij Dalej.
    3. W sekcji Kod źródłowy wybierz Wbudowany edytor.
    4. W edytorze wbudowanym otwórz i zmodyfikuj plik env.js:
      1. Ustaw wartość project na Identyfikator projektu Cloud.
      2. Ustaw wartość location na funkcję w Cloud Functions region, na przykład us-central1.
  16. Kliknij Wdróż.

interfejs wiersza poleceń gcloud

  1. Sklonuj kod z GitHuba:

    git clone https://github.com/googleworkspace/google-chat-samples.git
    
  2. Przejdź do katalogu, w którym znajduje się kod tej wiedzy o AI aplikacja Asystent Google Chat:

    cd google-chat-samples/node/ai-knowledge-assistant
    
  3. W katalogu google-chat-samples/node/ai-knowledge-assistant dodaj plik client_secrets.json pobrany podczas utworzenie danych uwierzytelniających identyfikatora klienta OAuth do uwierzytelniania i autoryzacji.

  4. Edytuj plik env.js, aby ustawić zmienne środowiskowe:

    1. Ustaw wartość project na swój projekt Cloud ID.
    2. Ustaw wartość location na funkcję w Cloud Functions region, na przykład us-central1
  5. Wdróż funkcję w Cloud Functions w Google Cloud:

    gcloud functions deploy app \
    --gen2 \
    --region=REGION \
    --runtime=nodejs20 \
    --source=. \
    --entry-point=app \
    --trigger-http \
    --allow-unauthenticated
    

    Zastąp REGION wartością funkcji w Cloud Functions region zgodnie z ustawieniami w pliku env.js, na przykład us-central1.

Utwórz i wdróż eventsApp

Google Cloud Console

  1. W konsoli Google Cloud wybierz Menu > Cloud Functions.

    Otwórz Cloud Functions

    Sprawdź, czy projekt Google Cloud powiązany z Twoim kontem Wybrano aplikację do obsługi czatu.

  2. Kliknij Utwórz funkcję.

  3. Na stronie Utwórz funkcję skonfiguruj funkcję:

    1. W sekcji Środowisko wybierz 2 generacji.
    2. W polu Nazwa funkcji wpisz eventsApp.
    3. W polu Region wybierz region, np. us-central1. Ten region musi być zgodny z regionem ustawionym w autoryzowanym identyfikatorze URI przekierowania, gdy Ty utworzenie danych uwierzytelniających identyfikatora klienta OAuth do uwierzytelniania i autoryzacji.
    4. W polu Typ aktywatora wybierz Cloud Pub/Sub.
    5. W sekcji Temat Cloud Pub/Sub wybierz nazwę tematu Pub/Sub który ma format projects/PROJECT/topics/events-api, gdzie PROJECT to identyfikator Twojego projektu Cloud.
    6. Jeśli pojawi się komunikat rozpoczynający się do Service account(s) might not have enough permissions to deploy the function with the selected trigger., kliknij Przyznaj wszystkie.
    7. Kliknij Dalej.
  4. W sekcji Środowisko wykonawcze wybierz Node.js 20.

  5. W polu Punkt wejścia usuń tekst domyślny i wpisz eventsApp

  6. W sekcji Source code (Kod źródłowy) wybierz Zip from Cloud Storage.

  7. W sekcji Lokalizacja w Cloud Storage kliknij Przeglądaj.

  8. Wybierz zasobnik, do którego został przesłany plik ZIP podczas tworzenia app w Cloud Functions.

  9. Kliknij przesłany plik ZIP.

  10. Kliknij Wybierz.

  11. Kliknij Wdróż.

    Otworzy się strona Szczegóły funkcji w Cloud Functions, a pojawi się Twoja funkcja. z 3 wskaźnikami postępu: jednym dla kompilacji, drugim dla usługi i drugą dla wyzwalacza. gdy wszystkie 3 wskaźniki postępu znikają; i zostaną zastąpione znacznikiem wyboru, funkcja jest wdrożona i gotowa.

  12. Zmień przykładowy kod, by ustawić stałe:

    1. Na stronie Szczegóły funkcji w Cloud Functions kliknij Edytuj.
    2. Kliknij Dalej.
    3. W sekcji Kod źródłowy wybierz Wbudowany edytor.
    4. W edytorze wbudowanym otwórz i zmodyfikuj plik env.js:
      1. Ustaw wartość project na Identyfikator projektu Cloud.
      2. Ustaw wartość location na funkcję w Cloud Functions region, na przykład us-central1.
  13. Kliknij Wdróż.

interfejs wiersza poleceń gcloud

  1. Jeśli nie korzystasz jeszcze z interfejsu wiersza poleceń gcloud, przełącz się na katalog z kodem wiedzy o AI aplikacji Asystent Google Chat, sklonowano z GitHuba:

    cd google-chat-samples/node/ai-knowledge-assistant
    
  2. W katalogu google-chat-samples/node/ai-knowledge-assistant dodaj plik client_secrets.json pobrany podczas utworzenie danych uwierzytelniających identyfikatora klienta OAuth do uwierzytelniania i autoryzacji.

  3. Edytuj plik env.js, aby ustawić zmienne środowiskowe:

    1. Ustaw wartość project na swój projekt Cloud ID.
    2. Ustaw wartość location na funkcję w Cloud Functions region, na przykład us-central1
  4. Wdróż funkcję w Cloud Functions w Google Cloud:

    gcloud functions deploy eventsApp \
    --gen2 \
    --region=REGION \
    --runtime=nodejs20 \
    --source=. \
    --entry-point=eventsApp \
    --trigger-topic=events-api
    

    Zastąp REGION wartością funkcji w Cloud Functions region zgodnie z ustawieniami w pliku env.js, na przykład us-central1.

Skopiuj URL aktywatora funkcji app w Cloud Functions

W następnej sekcji wklejasz URL aktywatora funkcji app w Cloud Functions gdy Skonfiguruj aplikację Google Chat w konsoli Google Cloud.

Google Cloud Console

  1. W konsoli Google Cloud wybierz Menu > Cloud Functions.

    Otwórz Cloud Functions

  2. W kolumnie Nazwa na liście funkcji w Cloud Functions kliknij app

  3. Kliknij Reguła.

  4. Skopiuj URL.

interfejs wiersza poleceń gcloud

  1. Opisz funkcję app w Cloud Functions:

    gcloud functions describe app
    
  2. Skopiuj właściwość url.

Konfigurowanie aplikacji Google Chat w konsoli Google Cloud

W tej sekcji dowiesz się, jak skonfigurować interfejs Chat API w w konsoli Google Cloud z informacjami o Twojej aplikacji Google Chat, w tym nazwę aplikacji Google Chat oraz adres URL aktywatora aplikacji Google Chat Funkcja, do której wysyła zdarzenia interakcji z Google Chat.

  1. W konsoli Google Cloud kliknij Menu. > Więcej produktów > Google Workspace > Biblioteka usług > Interfejs Google Chat API > Zarządzaj > Konfiguracja.

    Otwórz konfigurację interfejsu Chat API

  2. W polu Nazwa aplikacji wpisz AI knowledge assistant.

  3. W polu URL awatara wpisz https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/live_help/default/24px.svg.

  4. W polu Opis wpisz Answers questions with AI.

  5. Kliknij przełącznik Włącz funkcje interaktywne, aby ustawić go w pozycji włączenia.

  6. W sekcji Funkcjonalność wybierz Dołączanie do pokoi i rozmów grupowych.

  7. W sekcji Ustawienia połączenia wybierz URL aplikacji.

  8. W polu URL aplikacji wklej adres URL aktywatora z funkcji app w Cloud Functions. sformatowana jako https://REGION-PROJECT_ID.cloudfunctions.net/app gdzie REGION to region funkcji w Cloud Functions, np. us-central1 a PROJECT_ID to identyfikator projektu utworzony przez Ciebie projekt Cloud.

  9. W sekcji Widoczność wybierz Udostępnij tę aplikację do obsługi czatu określonym osobom i grupom w domenę Workspace i wpisz swój adres e-mail.

  10. Opcjonalnie w sekcji Logi wybierz Rejestruj błędy w usłudze Logging.

  11. Kliknij Zapisz. Pojawi się komunikat o zapisanej konfiguracji, który oznacza Aplikacja do obsługi czatu to gotowe do testowania.

Testowanie aplikacji Google Chat

Przetestuj aplikację Google Chat Asystent wiedzy o AI Pokój czatu z wiadomościami, zadając pytania AI Asystent wiedzy może odpowiedzieć aplikacja Google Chat.

Oto kilka sposobów na przetestowanie Asystenta wiedzy o AI Aplikacja do obsługi czatu:

  • Dodaj aplikację Google Chat Asystent wiedzy o AI do do istniejącego pokoju czatu i zadawaj pytania dotyczące w tej przestrzeni.
  • Utwórz pokój czatu i opublikuj kilka wiadomości, które będą używane jako źródła danych. Wiadomości mogą pochodzić z: Gemini z promptem takim jak Answer 20 common onboarding questions employees ask their teams. Lub: możesz wkleić kilka akapitów z Przewodnik programowanie z Google Chat a potem zadawać pytania na ten temat.

W tym samouczku utwórzmy pokój czatu i wklejmy kilka akapity z Omówienie programowania z Google Chat.

  1. Otwórz Google Chat.

    Otwórz Google Chat

  2. Tworzenie pokoju czatu:

    1. Kliknij Nowy czat > Utwórz pokój.

    2. W polu Nazwa pokoju wpisz Testing AI knowledge assistant app.

    3. W sekcji Do czego służy ten pokój? wybierz Współpraca.

    4. W sekcji Ustawienia dostępu wybierz, kto może uzyskiwać dostęp do pokoju.

    5. Kliknij Utwórz.

  3. Dodaj wiadomości, które będą używane jako źródło danych:

    1. W przeglądarce otwórz stronę programowanie z omówieniem Google Chat, Google.

    2. Skopiuj treść przewodnika i wklej ją do pokoju czatu utworzony przez Ciebie.

  4. Dodaj aplikację Google Chat Asystent wiedzy o AI:

    1. Na pasku tworzenia wiadomości wpisz @AI knowledge assistant, a następnie które się pojawi, wybierz asystenta wiedzy o AI. aplikację Google Chat i naciśnij enter.

    2. Pojawi się komunikat z pytaniem, czy chcesz dodać asystenta wiedzy o AI aplikację Google Chat do pokoju. Kliknij Dodaj do pokoju.

    3. Jeśli dodajesz aplikację Google Chat po raz pierwszy do pokoju, musisz skonfigurować uwierzytelnianie i autoryzację dla Aplikacja do obsługi czatu:

      1. Kliknij Konfiguruj.
      2. Otworzy się nowe okno lub nowa karta przeglądarki z prośbą o wybranie Konto Google. Wybierz konto, na którym przeprowadzasz test.
      3. Sprawdź uprawnienia przyznane asystentowi wiedzy o AI Prośby z aplikacji do obsługi czatu. Aby je przyznać, kliknij Zezwól.
      4. Pojawi się komunikat You may close this page now.. Zamknij okno lub kartę przeglądarki i wróć do Pokój czatu.
  5. Zadaj pytanie:

    1. W pasku tworzenia wiadomości wpisz pytanie, takie jak: What are Google Chat apps?

    2. Asystent wiedzy o AI odpowiada aplikacji Google Chat.

    3. Opcjonalnie, jeśli odpowiedź jest niedokładna lub niewystarczająca, aby pomóc poprawić historię rozmowy, kliknij Uzyskaj pomoc. Wzmianki w aplikacji Google Chat Asystenta wiedzy o AI menedżer pokoju i prosi go o udzielenie odpowiedzi na pytanie. Następnym razem Aplikacja Google Chat Asystent wiedzy o AI będzie wiedzieć odpowiedź!

Uwagi, alternatywna architektura i kolejne kroki

W tej sekcji omawiamy inne sposoby, w jakie asystent wiedzy o AI Można tworzyć aplikacje do obsługi czatu.

Firestore, Cloud Storage lub możliwość wywoływania wiadomości z listy w interfejsie Chat API

W tym samouczku zalecamy przechowywanie danych pokoju czatu, takich jak wiadomości w bazie danych Firestore, ponieważ zwiększa to wydajność w porównaniu z z wywołaniem metody list w Message za każdym razem, gdy Aplikacja do obsługi czatu odpowiada na pytanie. Następnie dzwonię Powtarzające się funkcje list messages mogą powodować, że aplikacja do obsługi czatu, aby osiągnąć limit interfejsu API;

Jeśli jednak historia rozmów w pokoju czatu stanie się zbyt długie, korzystanie z Firestore może być kosztowne.

Przechowywanie danych w chmurze . to alternatywa dla Firestore. W każdej przestrzeni Asystent wiedzy o AI Aplikacja do obsługi czatu jest aktywna w i otrzymuje własny obiekt, a każdy z nich to plik tekstowy zawierający wszystkie wiadomości w pokoju. Zaletą Ta metoda polega na tym, że pełną zawartość pliku tekstowego można przesłać do Vertex AI z Gemini, ale wadą jest to, że potrzeba więcej pracy zaktualizuj historię rozmowy, ponieważ nie możesz dołączyć do obiektu w Cloud pamięć masową – tylko ją wymieniaj; To podejście nie ma sensu, jeśli regularnie aktualizacji historii wiadomości, ale dobrym rozwiązaniem jest przesyłanie zbiorcze okresową historię wiadomości, np. raz w tygodniu.

Rozwiązywanie problemów

Gdy aplikacja Google Chat lub card zwraca błąd, Interfejs czatu wyświetla komunikat „Coś poszło nie tak”. lub „Nie można przetworzyć żądania”. Czasami interfejs Google Chat nie wyświetla się żaden komunikat o błędzie, ale aplikacja Google Chat lub zwraca nieoczekiwany wynik; na przykład wiadomość w formie karty .

Komunikat o błędzie może nie wyświetlać się w interfejsie Google Chat, opisowe komunikaty o błędach i dane dziennika, które pomogą Ci w naprawianiu błędów gdy logowanie błędów aplikacji Google Chat jest włączone. Aby uzyskać pomoc w wyświetlaniu, debugowania i naprawiania błędów, zapoznaj się z artykułem Rozwiązywanie problemów z błędami w Google Chat

Czyszczenie danych

Aby uniknąć obciążenia konta Google Cloud opłatami za używanych w tym samouczku, zalecamy usunięcie Projekt w chmurze.

  1. W konsoli Google Cloud otwórz stronę Zarządzanie zasobami. Kliknij Menu > Uprawnienia Administracja > Zarządzaj zasobami.

    Otwórz menedżera zasobów .

  2. Na liście projektów wybierz projekt do usunięcia, a następnie kliknij Usuń .
  3. W oknie wpisz identyfikator projektu i kliknij Wyłącz, aby go usunąć. nad projektem.