Ten samouczek pokazuje, jak utworzyć aplikację Google Chat, która odpowiada na pytania na podstawie rozmów w pokojach czatu za pomocą generatywnej AI od Vertex AI z Gemini. Aplikacja Google Chat korzysta z interfejsu Google Workspace Events API oraz Pub/Sub, aby rozpoznawać pytania publikowane w pokojach Google Chat i odpowiadać na nie w czasie rzeczywistym, nawet jeśli nie są one wymienione.
Aplikacja Google Chat używa wszystkich wiadomości wysłanych w pokoju jako źródła danych i bazy wiedzy: gdy ktoś zadaje pytanie, aplikacja sprawdza, czy istnieją wcześniej udostępnione odpowiedzi, a następnie udostępnia jedną z nich. Jeśli nie znajdzie odpowiedzi, powie, że nie może odpowiedzieć. Pod każdą odpowiedzią użytkownicy mogą kliknąć przycisk akcji, aby @wspomnieć menedżera pokoju i poprosić o odpowiedź. Dzięki sztucznej inteligencji Gemini aplikacja Google Chat dostosowuje i rozwija swoją bazę wiedzy, nieustannie trenując na podstawie rozmów w pomieszczeniach, do których została dodana.
Oto jak aplikacja Google Chat działa w przypadku wdrożenia i obsługi pracowników:
-
Rysunek 2. Dana pyta, czy firma oferuje szkolenia z występów publicznych. -
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
Konto Google Workspace w wersji Business lub Enterprise z dostępem do Google Chat.
dostęp do usług Google Cloud, aby:
- Utwórz projekt Google Cloud.
- Połącz konto rozliczeniowe Google Cloud z projektem Cloud. Aby dowiedzieć się, czy masz dostęp, przeczytaj artykuł Uprawnienia wymagane do włączenia płatności.
- Używaj nieautoryzowanych wywołań funkcji Google Cloud, co możesz sprawdzić, określając, czy Twoja organizacja Google Cloud używa udostępniania z ograniczeniem do domeny.
W razie potrzeby poproś administratora Google Cloud o dostęp lub uprawnienia.
Jeśli używasz interfejsu wiersza poleceń Google Cloud, musisz mieć skonfigurowane środowisko programistyczne Node.js do pracy z interfejsem wiersza poleceń gcloud. Zapoznaj się z artykułem Konfigurowanie środowiska programistycznego Node.js.
Cele
- Utwórz aplikację Google Chat, która używa generatywnej AI do odpowiadania na pytania na podstawie wiedzy udostępnionej w rozmowach w pokojach czatu.
- Dzięki generatywnej AI:
- wykrywać pytania pracowników i na nie odpowiadać.
- stale uczyć się na podstawie bieżących rozmów w pokoju czatu.
- Nasłuchuj wiadomości i odpowiadaj na nie w czasie rzeczywistym w pokoju czatu, nawet jeśli aplikacja Google Chat nie wysyła wiadomości bezpośrednio.
- Utrwalaj wiadomości przez zapisywanie i odczytywanie bazy danych Firestore.
- Ułatwić współpracę w pokoju czatu, wspominając menedżerów pokoju, gdy nie można znaleźć odpowiedzi na pytanie.
Architektura
Na poniższym diagramie przedstawiono architekturę zasobów Google Workspace i Google Cloud używanych przez aplikację Chat z asystentem AI.
Aplikacja Google Chat z asystentem opartym na AI działa w ten sposób:
Użytkownik dodaje do pokoju czatu aplikację Google Chat z asystentem AI:
Aplikacja Google Chat prosi użytkownika, który dodał ją do pokoju czatu, o skonfigurowanie uwierzytelniania i autoryzacji.
Aplikacja Google Chat pobiera wiadomości z pokoju, wywołując metodę
spaces.messages.list
w interfejsie API Google Chat, a następnie przechowuje pobrane wiadomości w bazie danych Firestore.Aplikacja Google Chat wywołuje metodę
subscriptions.create
w interfejsie Google Workspace Events API, aby zacząć nasłuchiwać zdarzeń, takich jak wiadomości w pokoju. Punkt końcowy powiadomienia subskrypcji to temat Pub/Sub, który używa Eventarc do przekierowywania zdarzenia do aplikacji Google Chat.Aplikacja Google Chat publikuje wiadomość powitalną w pokoju.
Użytkownik w pokoju czatu publikuje wiadomość:
Aplikacja Google Chat odbiera wiadomość w czasie rzeczywistym z tematu Pub/Sub.
Aplikacja Google Chat dodaje wiadomość do bazy danych Firestore.
Jeśli użytkownik później zmodyfikuje lub usunie wiadomość, aplikacja Google Chat odbierze zaktualizowane lub usunięte zdarzenie w czasie rzeczywistym, a następnie zaktualizuje lub usunie wiadomość w bazie danych Firestore.
Aplikacja Google Chat wysyła wiadomość do Vertex AI za pomocą Gemini:
Prompt instruuje Vertex AI z Gemini, aby sprawdził, czy wiadomość zawiera pytanie. Jeśli tak, Gemini odpowiada na pytanie na podstawie historii wiadomości w pokoju Chat przechowywanej w Firestore, a aplikacja Google Chat wysyła wiadomość do pokoju Chat. Jeśli nie, nie odpowiadaj.
Jeśli Vertex AI z Gemini odpowie na pytanie, aplikacja Chat opublikuje odpowiedź, wywołując metodę
spaces.messages.create
w interfejsie Chat API za pomocą uwierzytelniania aplikacji.Jeśli Vertex AI z Gemini nie może odpowiedzieć na pytanie, aplikacja Chat wyświetli wiadomość informującą, że nie może znaleźć odpowiedzi na to pytanie w historii czatu.
Wiadomości zawsze zawierają przycisk polecenia akcesorium, który użytkownicy mogą kliknąć, co powoduje, że aplikacja Google Chat dodaje w aplikacji Google Chat @wzmiankę o menedżerze pokoju, który prosi o odpowiedź.
Aplikacja Google Chat otrzymuje powiadomienie o cyklu życia z interfejsu Google Workspace Events API, że subskrypcja pokoju Google Chat wkrótce wygaśnie:
- Aplikacja Google Chat wysyła żądanie odnowienia subskrypcji, wywołując metodę
subscriptions.patch
w interfejsie Events API Google Workspace.
- Aplikacja Google Chat wysyła żądanie odnowienia subskrypcji, wywołując metodę
Aplikacja Google Chat zostanie usunięta z pokoju czatu:
Aplikacja Google Chat usuwa subskrypcję, wywołując metodę
subscriptions.delete
w interfejsie Google Workspace Events API.Aplikacja Google Chat usuwa dane pokoju czatu z Firestore.
Sprawdzanie produktów używanych przez aplikację Chat, która jest asystentem AI
Aplikacja Chat z asystentem wykorzystuje te usługi Google Workspace i Google Cloud:
- Vertex AI API z Gemini: generatywna platforma AI oparta na Gemini. Asystent wiedzy o AI Aplikacja Google Chat używa interfejsu Vertex AI API z Gemini do rozpoznawania, rozumienia i odpowiadania na pytania pracowników.
-
Chat API: interfejs API do tworzenia aplikacji Google Chat, które odbierają i odpowiadają na zdarzenia interakcji z Google Chat, takie jak wiadomości. Aplikacja Google Chat Asystent wiedzy o AI używa interfejsu Chat API do:
- otrzymywać i odpowiadać na zdarzenia interakcji wysyłane przez Google Chat;
- lista wiadomości wysłanych w pokoju;
- publikować odpowiedzi na pytania użytkowników w pokoju;
- Skonfiguruj atrybuty, które określają wygląd czatu, takie jak nazwa i obraz awatara.
- Google Workspace Events API: ten interfejs API umożliwia subskrybowanie zdarzeń i zarządzanie powiadomieniami o zmianach w aplikacjach Google Workspace. Aplikacja Google Chat z asystentem opartym na AI korzysta z interfejsu Google Workspace Events API, aby nasłuchiwać wiadomości publikowanych w pokoju Google Chat. Dzięki temu może wykrywać pytania i odpowiadać na nie, nawet jeśli nie zostały bezpośrednio wymienione.
- Firestore: bezserwerowa baza danych dokumentów. Asystent wiedzy oparty na AI Aplikacja Google Chat używa Firestore do przechowywania danych o wiadomościach wysłanych w pokoju czatu.
- Pub/Sub: Pub/Sub to asynchroniczna i skalowalna usługa do przesyłania wiadomości, która oddziela usługi tworzące wiadomości od usług je przetwarzających. Aplikacja Google Chat Asystent wiedzy o AI używa Pub/Sub do odbierania zdarzeń subskrypcji z pokoi czatu.
- Eventarc: Eventarc umożliwia tworzenie architektur opartych na zdarzeniach bez konieczności implementowania, dostosowywania ani utrzymywania infrastruktury. Aplikacja Google Chat asystenta wiedzy AI używa Eventarc, aby kierować zdarzenia z Pub/Sub do pokoju czatu i funkcji w Cloud Functions, która odbiera i przetwarza zdarzenia subskrypcji.
-
Cloud Functions: lekka, bezserwerowa usługa obliczeniowa, która umożliwia tworzenie samodzielnych funkcji o jednym przeznaczeniu, które mogą reagować na interakcje z Google Chat i zdarzenia subskrypcji bez konieczności zarządzania serwerem lub środowiskiem wykonawczym. Aplikacja Google Chat Asystent wiedzy o AI korzysta z 2 funkcji w Cloud Functions o nazwach:
-
app
: hostowanie punktu końcowego HTTP, do którego Google Chat wysyła zdarzenia interakcji, oraz platforma obliczeniowa do uruchamiania logiki, która przetwarza te zdarzenia i na nie reaguje. -
eventsApp
: odbiera i przetwarza zdarzenia z pokoju czatu, takie jak wiadomości z subskrypcji Pub/Sub.
- Cloud Build: w pełni zarządzana platforma do ciągłej integracji, dostarczania i wdrażania, na której uruchamiane są automatyczne kompilacje.
- Cloud Run: w pełni zarządzane środowisko do uruchamiania aplikacji w kontenerach.
-
Przygotowywanie środowiska
Z tej sekcji dowiesz się, jak utworzyć i skonfigurować projekt Google Cloud dla aplikacji Google Chat.
Utwórz projekt Google Cloud
Google Cloud Console
- W konsoli Google Cloud kliknij Menu > Administracja > Utwórz projekt.
-
W polu Project Name (Nazwa projektu) wpisz opisową nazwę projektu.
Opcjonalnie: aby edytować identyfikator projektu, kliknij Edytuj. Po utworzeniu projektu nie można zmienić jego identyfikatora. Wybierz więc identyfikator, który będzie odpowiadał Twoim potrzebom przez cały czas trwania projektu.
- W polu Lokalizacja kliknij Przeglądaj, aby wyświetlić potencjalne lokalizacje dla Twojego projektu. Następnie kliknij Wybierz.
- Kliknij Utwórz. Konsola Google Cloud przejdzie do strony Panelu, a Twój projekt zostanie utworzony w ciągu kilku minut.
interfejs wiersza poleceń gcloud
W jednym z tych środowisk programistycznych uzyskaj dostęp do Google Cloud CLI (gcloud
):
-
Cloud Shell: aby używać terminala online ze skonfigurowanym już interfejsem wiersza poleceń gcloud, aktywuj Cloud Shell.
Aktywuj Cloud Shell -
Powłoka lokalna: aby używać lokalnego środowiska programistycznego, zainstaluj i zainicjuj interfejs wiersza poleceń gcloud.
Aby utworzyć projekt Cloud, użyj poleceniagcloud projects create
: Zastąp PROJECT_ID, ustawiając identyfikator projektu, który chcesz utworzyć.gcloud projects create PROJECT_ID
Włączanie płatności w projekcie Cloud
Google Cloud Console
- W konsoli Google Cloud otwórz Płatności. Kliknij Menu > Płatności > Moje projekty.
- W sekcji Wybierz organizację wybierz organizację powiązaną z Twoim projektem Google Cloud.
- W wierszu projektu otwórz menu Działania ( ), kliknij Zmień ustawienia płatności i wybierz konto rozliczeniowe Cloud Billing.
- Kliknij Skonfiguruj konto.
interfejs wiersza poleceń gcloud
- Aby wyświetlić listę dostępnych kont rozliczeniowych, uruchom polecenie:
gcloud billing accounts list
- Aby połączyć 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 projektu Cloud, w którym chcesz włączyć płatności.BILLING_ACCOUNT_ID
to identyfikator konta rozliczeniowego, które chcesz połączyć z projektem Google Cloud.
Włącz interfejsy API
Google Cloud Console
W konsoli Google Cloud włącz interfejsy Google Chat API, Vertex AI API, Cloud Functions API, Firestore API, Cloud Build API, Pub/Sub API, Google Workspace Events API, Eventarc API i Cloud Run Admin API.
Sprawdź, czy włączasz interfejsy API w odpowiednim projekcie Cloud, a potem kliknij Dalej.
Sprawdź, czy włączasz odpowiednie interfejsy API, a potem kliknij Włącz.
interfejs wiersza poleceń gcloud
W razie potrzeby ustaw bieżący projekt Cloud na utworzony przez siebie:
gcloud config set project PROJECT_ID
Zastąp PROJECT_ID identyfikatorem utworzonego projektu Cloud.
Włącz interfejsy Google Chat API, Vertex AI API, Cloud Functions API, Firestore API, Cloud Build API, Pub/Sub API, Google Workspace Events API, Eventarc API i Cloud Run Admin 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 aplikacji Google Chat dostęp do zasobów w Google Workspace i Google Cloud.
W tym samouczku publikujesz aplikację Google Chat wewnętrznie, więc możesz użyć informacji zastępczych. Zanim opublikujesz aplikację Google Chat na zewnątrz, zastąp informacje zastępcze prawdziwymi informacjami na ekranie akceptacji.
Skonfiguruj ekran zgody OAuth, określ zakresy i zarejestruj aplikację
W konsoli Google Cloud kliknij Menu > Interfejsy API i usługi > Ekran zgody OAuth.
W sekcji Typ użytkownika wybierz Wewnętrzny, a potem kliknij Utwórz.
W polu Nazwa aplikacji wpisz
AI knowledge assistant
.W polu Adres e-mail użytkownika wybierz swój adres e-mail lub odpowiednią grupę Google.
W sekcji Dane kontaktowe dewelopera wpisz swój adres e-mail.
Kliknij Zapisz i kontynuuj.
Kliknij Dodaj lub usuń zakresy. Pojawi się panel z listą zakresów dla każdego interfejsu API, który został włączony w projekcie Cloud.
W sekcji Dodaj zakresy ręcznie wklej ten zakres:
https://www.googleapis.com/auth/chat.messages
Kliknij Dodaj do tabeli.
Kliknij Aktualizuj.
Kliknij Zapisz i kontynuuj.
Przejrzyj podsumowanie rejestracji aplikacji i kliknij Powrót do panelu.
Tworzenie danych logowania do identyfikatora klienta OAuth
W konsoli Google Cloud kliknij Menu > Interfejsy API i usługi > Dane logowania.
Kliknij Utwórz dane logowania > Identyfikator klienta OAuth.
Kliknij Typ aplikacji > Aplikacja internetowa.
W polu Nazwa wpisz nazwę danych logowania. Ta nazwa jest wyświetlana tylko w konsoli Google Cloud.
W sekcji Autoryzowane identyfikatory URI przekierowania kliknij Dodaj URI.
W polu Identyfikatory URI 1 wpisz:
https://REGION-PROJECT_ID.cloudfunctions.net/app/oauth2
Zastąp następujące elementy:
- REGION: region funkcji Cloud Functions, np.
us-central1
. Później, podczas tworzenia tych 2 funkcji w Cloud Functions, musisz ustawić ich region na tę wartość. - PROJECT_ID: identyfikator projektu utworzonego przez Ciebie projektu Cloud.
- REGION: region funkcji Cloud Functions, np.
Kliknij Utwórz.
W oknie Utworzono klienta OAuth kliknij Pobierz plik JSON.
Zapisz pobrany plik jako
client_secrets.json
. Później, gdy utworzysz 2 funkcje Cloud Functions, dodasz plikclient_secrets.json
do każdej implementacji.Kliknij OK.
Tworzenie tematu Pub/Sub
Temat Pub/Sub współpracuje z interfejsem Google Workspace Events API, aby subskrybować zdarzenia w pokoju Google Chat, takie jak wiadomości, i powiadamiać aplikację Google Chat w czasie rzeczywistym.
Aby utworzyć temat Pub/Sub:
Google Cloud Console
W konsoli Google Cloud kliknij Menu > Pub/Sub.
Kliknij Utwórz temat.
W polu Identyfikator tematu wpisz
events-api
.Odznacz opcję Dodaj subskrypcję domyślną.
W sekcji Szyfrowanie wybierz Klucz szyfrowania zarządzany przez Google.
Kliknij Utwórz. Pojawi się temat Pub/Sub.
Aby ten temat Pub/Sub i interfejs Google Workspace Events API mogły ze sobą współpracować, przyznaj użytkownikowi z uprawnieniami IAM w Google Chat uprawnienia do publikowania w temacie Pub/Sub:
W panelu events-api w sekcji UPRAWNIENIA kliknij Dodaj podmiot zabezpieczeń.
W sekcji Dodaj podmioty zabezpieczeń w polu Nowe podmioty zabezpieczeń wpisz
chat-api-push@system.gserviceaccount.com
.W sekcji Przypisywanie ról w sekcji Wybierz rolę kliknij Pub/Sub > Pub/Sub Publisher.
Kliknij Zapisz.
interfejs wiersza poleceń gcloud
Utwórz temat Pub/Sub o identyfikatorze tematu
events-api
:gcloud pubsub topics create events-api
Przyznaj użytkownikowi z uprawnieniami IAM czatu uprawnienia do publikowania w temacie 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 przechowuje i pobiera dane z pokoi czatu, takie jak wiadomości. Nie definiujesz modelu danych, który jest ustawiany domyślnie w przykładowym kodzie za pomocą plików model/message.js
i services/firestore-service.js
.
Baza danych aplikacji do czatu z asystentem AI korzysta z modelu danych NoSQL opartego na Model danych Firestore.
dokumentach uporządkowanych w kolekcjach. Więcej informacji znajdziesz w artykulePoniższy diagram przedstawia przegląd modelu danych aplikacji Google Chat Asystenta wiedzy o AI:
Element ROOT zawiera 2 zbiory:
spaces
, gdzie każdy dokument reprezentuje pokój Google Chat, do którego dodana jest aplikacja Google Chat. Każda wiadomość jest reprezentowana przez dokument w podzbiorzemessages
.users
, gdzie każdy dokument reprezentuje użytkownika, który dodał aplikację Google Chat do pokoju czatu.
Wyświetlanie definicji kolekcji, dokumentów i polów
spaces
Pokój czatu z aplikacją Google Chat z asystentem AI
Pola | |
---|---|
Document ID | String Unikalny identyfikator konkretnej przestrzeni. Część nazwy zasobu pokoju w interfejsie Chat API. |
messages | Subcollection of Documents ( Wiadomości wysłane w pokoju czatu. Odpowiada Document ID w message w Firebase. |
spaceName | String Unikalna nazwa pokoju w interfejsie API Google Chat. Odpowiada nazwie zasobu pokoju w interfejsie Chat API. |
messages
wiadomości wysłanych w pokoju czatu;
Pola | |
---|---|
Document ID | String Unikalny identyfikator konkretnej wiadomości. |
name | String Niepowtarzalna nazwa wiadomości w Chat API. Odpowiada nazwie zasobu wiadomości w Chat API. |
text | String Treść wiadomości. |
time | String (Timestamp format) Czas utworzenia wiadomości. |
users
Użytkownicy, którzy dodali do pokoju czatu aplikację Google Chat z asystentem opartym na AI.
Pola | |
---|---|
Document ID | String Unikalny identyfikator konkretnego użytkownika. |
accessToken | String Token dostępu przyznany podczas autoryzacji użytkownika OAuth 2.0, używany do wywoływania interfejsów API Google Workspace. |
refreshToken | String Token odświeżania przyznany podczas autoryzacji użytkownika OAuth 2.0. |
Aby utworzyć bazę danych Firestore:
Google Cloud Console
W konsoli Google Cloud wybierz Menu > Firestore.
Kliknij Utwórz bazę danych.
W sekcji Wybierz tryb Firestore kliknij Tryb natywny.
Kliknij Dalej.
Skonfiguruj bazę danych:
W polu Nazwa bazy danych pozostaw pole Identyfikator bazy danych puste.
(default)
W sekcji Typ lokalizacji wybierz Region.
W polu Region określ region bazy danych, np.
us-central1
. Aby uzyskać najlepszą wydajność, wybierz tę samą lokalizację lub lokalizację znajdującą się w pobliżu funkcji Cloud Functions aplikacji Chat.
Kliknij Utwórz bazę danych.
interfejs wiersza poleceń gcloud
Tworzenie bazy danych Firestore w trybie natywnym:
gcloud firestore databases create \ --location=LOCATION \ --type=firestore-native
Zastąp LOCATION nazwą regionu Firestore, np.
us-central1
. Aby uzyskać najlepszą wydajność, wybierz tę samą lokalizację lub lokalizację zbliżoną do lokalizacji funkcji Cloud Functions aplikacji Google Chat.
Tworzenie i wdrażanie aplikacji Google Chat
Po utworzeniu i skonfigurowaniu projektu Google Cloud możesz skompilować i wdrożyć aplikację Google Chat. W tej sekcji:
- Utwórz i wdróż 2 funkcje w Cloud Functions. Jeden do odpowiadania na zdarzenia interakcji z czatem, a drugi do odpowiadania na zdarzenia Pub/Sub.
- Utwórz i wdróż aplikację do obsługi czatu na stronie konfiguracji interfejsu Google Chat API.
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 aplikacji Google Chat, który odpowiada na zdarzenia otrzymywane z Google Chat jako żądania HTTP.eventsApp
: odbiera i przetwarza wydarzenia z pokoju czatu, takie jak wiadomości z Pub/Sub.
Razem te funkcje Cloud Functions tworzą logikę aplikacji asystenta wiedzy AI w aplikacji Chat.
Opcjonalnie, przed utworzeniem funkcji Cloud Functions zapoznaj się z przykładowym kodem hostowanym na GitHubie.
Tworzenie i wdrażanie app
Google Cloud Console
Pobierz kod z GitHuba jako plik ZIP.
Wyodrębnij pobrany plik ZIP.
Wyodrębniony folder zawiera całą repozytorium przykładowych danych Google Workspace.
W wyodrębnionym folderze przejdź do katalogu
google-chat-samples-main/node/ai-knowledge-assistant
.W katalogu
google-chat-samples/node/ai-knowledge-assistant
dodaj plikclient_secrets.json
pobrany podczas tworzenia danych logowania klienta OAuth na potrzeby uwierzytelniania i autoryzacji.Skompresuj zawartość folderu
ai-knowledge-assistant
do pliku ZIP.Katalog główny pliku zip musi zawierać te 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/
W konsoli Google Cloud otwórz Menu > Cloud Functions.
Upewnij się, że wybrany jest projekt Google Cloud dla aplikacji Google Chat.
Kliknij
Utwórz funkcję.Na stronie Utwórz funkcję skonfiguruj funkcję:
- W sekcji Środowisko wybierz Funkcja Cloud Run.
- W polu Nazwa funkcji wpisz
app
. - W polu Region wybierz region, np.
us-central1
. Ten region musi być zgodny z regionem ustawionym w autoryzowanym identyfikatorze URI przekierowania podczas tworzenia danych logowania identyfikatora klienta OAuth na potrzeby uwierzytelniania i autoryzacji. - Jako Typ aktywatora wybierz HTTPS.
- W sekcji Uwierzytelnianie wybierz Zezwalaj na nieuwierzytelnione wywołania.
- Kliknij Dalej.
W sekcji Środowisko wykonawcze wybierz Node.js 20.
W polu Punkt wejścia usuń tekst domyślny i wpisz
app
.W sekcji Kod źródłowy wybierz Prześlij plik ZIP.
W sekcji Zasobnik docelowy utwórz lub wybierz zasobnik:
- Kliknij Przeglądaj.
- Wybierz zasobnik.
- Kliknij Wybierz.
Google Cloud przesyła plik ZIP i wyodrębnia pliki komponentów w tym zasobie. Następnie Cloud Functions kopiuje pliki komponentów do funkcji w Cloud Functions.
W sekcji Plik ZIP prześlij plik ZIP pobrany z GitHuba, wyodrębniony i ponownie skompresowany:
- Kliknij Przeglądaj.
- Znajdź i wybierz plik ZIP.
- Kliknij Otwórz.
Kliknij Wdróż.
Otworzy się strona Szczegóły funkcji w Cloud Functions, na której zobaczysz swoją funkcję z 2 wskaźnikami postępu: jeden dla wersji, a drugi dla usługi. Gdy oba wskaźniki postępu znikną i zostanie zastąpione przez znacznik wyboru, funkcja zostanie wdrożona i będzie gotowa do użycia.
Zmień przykładowy kod, by ustawić stałe:
- Na stronie Szczegóły funkcji w Cloud Functions kliknij Edytuj.
- Kliknij Dalej.
- W sekcji Kod źródłowy wybierz Edytor wbudowany.
- W edytorze wstawiania otwórz i edytuj plik
env.js
:- Ustaw wartość parametru project na identyfikator projektu Cloud.
- Ustaw wartość location na region funkcji Cloud Functions, np.
us-central1
.
Kliknij Wdróż.
interfejs wiersza poleceń gcloud
Sklonuj kod z GitHuba:
git clone https://github.com/googleworkspace/google-chat-samples.git
Przejdź do katalogu zawierającego kod tej aplikacji do pomocy AI w Google Chat:
cd google-chat-samples/node/ai-knowledge-assistant
W katalogu
google-chat-samples/node/ai-knowledge-assistant
dodaj plikclient_secrets.json
pobrany podczas tworzenia danych logowania klienta OAuth na potrzeby uwierzytelniania i autoryzacji.Aby ustawić zmienne środowiskowe, otwórz plik
env.js
:- Jako wartość parametru project ustaw identyfikator projektu Cloud.
- Ustaw wartość location na region funkcji Cloud Functions, np.
us-central1
.
Wdróż funkcję Cloud Functions w Google Cloud:
gcloud functions deploy app \ --gen2 \ --region=REGION \ --runtime=nodejs20 \ --source=. \ --entry-point=app \ --trigger-http \ --allow-unauthenticated
Zastąp wartość REGION wartością regionu funkcji Cloud Functions, aby odpowiadała wartości ustawionej w pliku
env.js
, np.us-central1
.
Tworzenie i wdrażanie eventsApp
Google Cloud Console
W konsoli Google Cloud otwórz Menu > Cloud Functions.
Upewnij się, że wybrany jest projekt Google Cloud dla aplikacji Google Chat.
Kliknij
Utwórz funkcję.Na stronie Utwórz funkcję skonfiguruj funkcję:
- W sekcji Środowisko wybierz Funkcja Cloud Run.
- W polu Nazwa funkcji wpisz
eventsApp
. - W polu Region wybierz region, np.
us-central1
. Ten region musi być zgodny z regionem ustawionym w autoryzowanym identyfikatorze URI przekierowania podczas tworzenia danych uwierzytelniających identyfikatora klienta OAuth na potrzeby uwierzytelniania i autoryzacji. - W polu Typ reguły wybierz Cloud Pub/Sub.
- W sekcji Temat Cloud Pub/Sub wybierz nazwę utworzonego tematu Pub/Sub w formacie
projects/PROJECT/topics/events-api
, gdzie PROJECT to identyfikator Twojego projektu Cloud. - Jeśli zobaczysz komunikat zaczynający się od
Service account(s) might not have enough permissions to deploy the function with the selected trigger.
, kliknij Przyznaj wszystkie. - Kliknij Dalej.
W sekcji Środowisko wykonawcze wybierz Node.js 20.
W polu Punkt wejścia usuń tekst domyślny i wpisz
eventsApp
.W sekcji Kod źródłowy wybierz Zip z Cloud Storage.
W sekcji Lokalizacja w Cloud Storage kliknij Przeglądaj.
Wybierz zasobnik, do którego został przesłany plik ZIP podczas tworzenia funkcji Cloud Functions
app
.Kliknij przesłany plik ZIP.
Kliknij Wybierz.
Kliknij Wdróż.
Otworzy się strona Szczegóły funkcji w Cloud Functions, na której zobaczysz swoją funkcję z 3 wskaźnikami postępu: jeden dla pakietu, jeden dla usługi i jeden dla aktywatora. Gdy wszystkie 3 wskaźniki postępu znikną i zostanie zastąpione przez ikonę potwierdzenia, funkcja zostanie wdrożona i będzie gotowa do użycia.
Zmień przykładowy kod, by ustawić stałe:
- Na stronie Szczegóły funkcji w Cloud Functions kliknij Edytuj.
- Kliknij Dalej.
- W sekcji Kod źródłowy wybierz Edytor wbudowany.
- W edytorze wstawiania otwórz i edytuj plik
env.js
:- Ustaw wartość project na identyfikator projektu Cloud.
- Ustaw wartość location na region funkcji Cloud Functions, np.
us-central1
.
Kliknij Wdróż.
interfejs wiersza poleceń gcloud
W interfejsie wiersza poleceń gcloud przejdź do katalogu zawierającego kod aplikacji asystenta AI do obsługi czatu, którą wcześniej sklonowałeś/sklonowałaś z GitHuba:
cd google-chat-samples/node/ai-knowledge-assistant
W katalogu
google-chat-samples/node/ai-knowledge-assistant
dodaj plikclient_secrets.json
pobrany podczas tworzenia danych logowania klienta OAuth na potrzeby uwierzytelniania i autoryzacji.Aby ustawić zmienne środowiskowe, otwórz plik
env.js
:- Jako wartość parametru project ustaw identyfikator projektu Cloud.
- Ustaw wartość location na region funkcji Cloud Functions, np.
us-central1
.
Wdróż funkcję Cloud Functions w Google Cloud:
gcloud functions deploy eventsApp \ --gen2 \ --region=REGION \ --runtime=nodejs20 \ --source=. \ --entry-point=eventsApp \ --trigger-topic=events-api
Zastąp wartość REGION wartością regionu Cloud Functions, aby odpowiadała wartości ustawionej w pliku
env.js
, np.us-central1
.
Skopiuj adres URL app
Cloud Functions, który aktywuje funkcję
W następnej sekcji wklej adres URL wyzwalacza funkcji app
Cloud Functions, gdy skonfigurujesz aplikację Google Chat w konsoli Google Cloud.
Google Cloud Console
W konsoli Google Cloud otwórz Menu > Cloud Functions.
W kolumnie Nazwa na liście funkcji w Cloud Functions kliknij
app
.Kliknij Reguła.
Skopiuj adres URL.
interfejs wiersza poleceń gcloud
Opisz funkcję
app
w Cloud Functions:gcloud functions describe app
Skopiuj właściwość
url
.
Konfigurowanie aplikacji Google Chat w konsoli Google Cloud
W tej sekcji dowiesz się, jak skonfigurować interfejs Chat API w konsoli Google Cloud, podając informacje o aplikacji do obsługi czatu, w tym jej nazwę i adres URL wywołania funkcji w chmurze, do której wysyła ona zdarzenia interakcji z czatem.
W konsoli Google Cloud kliknij Menu > Więcej usług > Google Workspace > Biblioteka usług > Google Chat API > Zarządzaj > Konfiguracja.
W polu Nazwa aplikacji wpisz
AI knowledge assistant
.W polu URL awatara wpisz
https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/live_help/default/24px.svg
.W polu Opis wpisz
Answers questions with AI
.Kliknij przełącznik Włącz funkcje interaktywne, aby go włączyć.
W sekcji Funkcjonalność wybierz Dołączanie do pokoi i rozmów grupowych.
W sekcji Ustawienia połączenia wybierz URL punktu końcowego HTTP.
W polu URL punktu końcowego HTTP wklej adres URL aktywatora z funkcji Cloud
app
sformatowany w postacihttps://
REGION-
PROJECT_ID.cloudfunctions.net/app
, gdzie REGION to region funkcji Cloud, np.us-central1
, a PROJECT_ID to identyfikator projektu utworzonego projektu Cloud.W sekcji Widoczność wybierz Udostępnij tę aplikację do obsługi czatu konkretnym osobom i grupom w domenie Google Workspace i wpisz swój adres e-mail.
Opcjonalnie w sekcji Logi wybierz Loguj błędy w usłudze Logging.
Kliknij Zapisz. Pojawi się komunikat o zapisanej konfiguracji, co oznacza, że aplikacja Google Chat jest gotowa do testowania.
Testowanie aplikacji Google Chat
Przetestuj aplikację Google Chat z asystentem na bazie AI w pokoju Google Chat, zadając pytania, na które może ona udzielić odpowiedzi.
Oto kilka sposobów przetestowania aplikacji Asystent wiedzy o AI Google Chat:
- Dodaj do istniejącego pokoju czatu aplikację Google Chat z asystentem AI i zadawaj pytania dotyczące tego pokoju.
- Utwórz pokój czatu i opublikuj kilka wiadomości, aby wykorzystać je jako źródło danych. Wiadomości mogą pochodzić z Gemini z promptem takim jak:
Answer 20 common onboarding questions employees ask their teams.
Możesz też wkleić kilka akapitów z poradnika Tworzenie aplikacji z Chatem, a potem zadać pytania na ich temat.
W tym samouczku utworzymy pokój czatu i wkleimy kilka akapitów z przewodnika Omówienie tworzenia aplikacji w Google Chat.
Otwórz Google Chat.
Tworzenie pokoju czatu:
Kliknij > Utwórz pokój.
Nowy czatW polu Nazwa pokoju wpisz
Testing AI knowledge assistant app
.W sekcji Do czego służy ten pokój? wybierz Współpraca.
W sekcji Ustawienia dostępu wybierz, kto może uzyskiwać dostęp do pokoju.
Kliknij Utwórz.
Dodaj wiadomości, które będą używane jako źródło danych:
W przeglądarce otwórz przewodnik Omówienie tworzenia aplikacji w Google Chat.
Skopiuj i wklej zawartość przewodnika do utworzonego pokoju czatu.
Dodaj aplikację Google Chat Asystent wiedzy o AI:
Na pasku tworzenia wiadomości wpisz
@AI knowledge assistant
. W wyświetlonym menu sugestii wybierz aplikację Asystent wiedzy o AI i naciśnijenter
.Pojawi się komunikat z pytaniem, czy chcesz dodać do pokoju aplikację Chat z asystentem AI. Kliknij Dodaj do pokoju.
Jeśli po raz pierwszy dodajesz aplikację Google Chat do pokoju, musisz skonfigurować uwierzytelnianie i autoryzację dla tej aplikacji:
- Kliknij Skonfiguruj.
- Otworzy się nowe okno lub nowa karta przeglądarki z prośbą o wybranie konta Google. Wybierz konto, na którym chcesz przeprowadzić test.
- Sprawdź uprawnienia, o które prosi aplikacja do rozmów z asystentem AI Chat. Aby je przyznać, kliknij Zezwól.
- Pojawi się komunikat
You may close this page now.
. Zamknij okno lub kartę przeglądarki i wróć do czatu.
Zadaj pytanie:
W pasku tworzenia wiadomości wpisz pytanie, np.
What are Google Chat apps?
Asystent na czacie oparty na AI udziela odpowiedzi.
Jeśli odpowiedź nie jest dokładna lub wystarczająca, możesz pomóc w ulepszaniu historii konwersacji z AI, klikając
Uzyskaj pomoc. Asystent AI w usłudze Google Chat zwraca się do menedżera pokoju i prosi o odpowiedź na pytanie. Następnym razem aplikacja Asystent wiedzy o AI z Google Chat zna odpowiedź.
Uwagi, alternatywne rozwiązania architektoniczne i dalsze kroki
W tej sekcji omawiamy inne sposoby tworzenia aplikacji Asystent wiedzy AI z Google Chat.
Firestore, Cloud Storage lub wywołanie List Messages w interfejsie Chat API
W tym samouczku zalecamy przechowywanie danych pokoju Google Chat, takich jak wiadomości, w bazie danych Firestore, ponieważ poprawia to wydajność w porównaniu z wywoływaniem metody list
zasobu Message
za pomocą interfejsu API Google Chat za każdym razem, gdy aplikacja Google Chat odpowiada na pytanie. Powtarzające się wywoływanie funkcji list messages
może też spowodować osiągnięcie przez aplikację Google Chat limitów związanych z interfejsem API.
Jeśli jednak historia rozmów w pokoju czatu stanie się zbyt długa, korzystanie z Firestore może być kosztowne.
Cloud Storage to alternatywa dla Firestore. Każdy pokój, w którym działa aplikacja Google Chat asystenta wiedzy o AI, otrzymuje własny obiekt, a każdy obiekt to plik tekstowy zawierający wszystkie wiadomości w danym pokoju. Zaletą tego podejścia jest to, że pełna zawartość pliku tekstowego może zostać przekazana do Vertex AI z Gemini od razu, ale wadą jest to, że aktualizacja historii konwersacji wymaga więcej pracy, ponieważ nie można dodawać do obiektu w Cloud Storage, tylko go zastępować. Takie podejście nie ma sensu, jeśli regularnie aktualizujesz historię wiadomości, ale jest dobrym wyborem, jeśli okresowo, np. raz w tygodniu, aktualizujesz ją zbiorczo.
Rozwiązywanie problemów
Gdy aplikacja Google Chat lub karta zwraca błąd, interfejs Google Chat wyświetla komunikat „Coś poszło nie tak”. lub „Nie można przetworzyć żądania”. Czasami w UI Google Chat nie wyświetla się żaden komunikat o błędzie, ale aplikacja lub karta Google Chat zwraca nieoczekiwany wynik, na przykład wiadomość na karcie.
Komunikat o błędzie może się nie wyświetlać w interfejsie czatu, ale gdy włączone jest rejestrowanie błędów w przypadku aplikacji czatu, dostępne są opisowe komunikaty o błędach i dane dziennika, które pomogą Ci je naprawić. Aby dowiedzieć się, jak wyświetlać, debugować i naprawiać błędy, przeczytaj artykuł Rozwiązywanie problemów z błędami Google Chat.
Czyszczenie danych
Aby uniknąć obciążenia konta Google Cloud opłatami za zasoby zużyte w tym samouczku, zalecamy usunięcie projektu Cloud.
- W konsoli Google Cloud otwórz stronę Zarządzanie zasobami. Kliknij Menu > Administracja > Zarządzaj zasobami.
- Na liście projektów wybierz projekt, który chcesz usunąć, a potem kliknij Usuń .
- W oknie wpisz identyfikator projektu i kliknij Wyłącz, aby usunąć projekt.
Powiązane artykuły
- Zarządzanie projektami za pomocą Google Chat, Vertex AI i Firestore
- Reagowanie na incydenty za pomocą Google Chat, Vertex AI i Apps Script