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 używa interfejsu Google Workspace Events API oraz Pub/Sub do rozpoznawania i odpowiadania w czasie rzeczywistym na pytania publikowane w pokojach czatu, nawet jeśli nie są one wymienione.
Aplikacja Google Chat wykorzystuje wszystkie wiadomości wysyłane w pokoju jako źródło danych i bazę wiedzy: gdy ktoś zadaje pytanie, aplikacja Google Chat sprawdza, czy odpowiedzi udzieliły wcześniej odpowiedzi, i je udostępnia. Jeśli nie można znaleźć odpowiedzi, informuje, że nie może udzielić odpowiedzi. 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 obszarze wprowadzania i wsparcia pracowników:
-
Rysunek 2. Daria pyta, czy firma oferuje szkolenia z wymowy. -
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 pozwalający:
- Utwórz projekt Google Cloud.
- Połącz konto rozliczeniowe Google Cloud z projektem Cloud. Aby dowiedzieć się, czy masz dostęp, zapoznaj się z artykułem o uprawnieniach wymaganych do włączenia płatności.
- Używaj nieuwierzytelnionych wywołań funkcji w Google Cloud Functions, które możesz sprawdzić, określając, czy Twoja organizacja w Google Cloud korzysta z udostępniania ograniczonego dostępu 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
- Stwórz aplikację do obsługi czatu, która wykorzystuje generatywną AI do odpowiadania na pytania na podstawie wiedzy przekazanej podczas rozmów w pokoju 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 Asystent wiedzy o AI działa tak:
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 Chat API, a następnie zapisuje 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 powiadomień subskrypcji to temat Pub/Sub, który używa Eventarc, aby przekazać zdarzenie do aplikacji Google Chat.Aplikacja Google Chat publikuje wprowadzenie w pokoju.
Użytkownik w pokoju czatu publikuje wiadomość:
Aplikacja Chat otrzymuje wiadomość w czasie rzeczywistym z tematu Pub/Sub.
Aplikacja Google Chat doda wiadomość do bazy danych Firestore.
Jeśli użytkownik później zmodyfikuje lub usunie wiadomość, aplikacja Google Chat otrzyma zdarzenie zaktualizowanej lub usuniętej wiadomości 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 Google Chat opublikuje odpowiedź, wywołując metodę
spaces.messages.create
w interfejsie Chat API z użyciem 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 dodatkowego działania, który użytkownicy mogą kliknąć. Gdy to zrobią, aplikacja Czat @wymieni menedżera pokoju, prosząc go o odpowiedź.
Aplikacja Google Chat otrzyma z interfejsu Google Workspace Events API powiadomienie dotyczące cyklu życia informujące, że subskrypcja pokoju czatu wkrótce wygaśnie:
- Aplikacja Google Chat wysyła prośbę o odnowienie subskrypcji, wywołując metodę
subscriptions.patch
w interfejsie Google Workspace Events API.
- Aplikacja Google Chat wysyła prośbę o odnowienie 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 Google Chat Asystent wiedzy o AI korzysta z tych usług Google Workspace i Google Cloud:
- Vertex AI API z Gemini: platforma generatywnej AI oparta na technologii Gemini. Asystent wiedzy AI Aplikacja do czatu korzysta z 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:
- Otrzymuj zdarzenia interakcji z Google Chat i odpowiadaj na nie.
- lista wiadomości wysłanych w pokoju;
- publikować odpowiedzi na pytania użytkowników w pokoju;
- Skonfiguruj atrybuty określające sposób wyświetlania informacji w Google Chat, 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. Aplikacja Google Chat asystenta wiedzy AI używa Firestore do przechowywania danych o wiadomościach wysył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:
lżejszy bezserwerowy usługa obliczeniowa, która umożliwia tworzenie samodzielnych funkcji o ściśle zdefiniowanym przeznaczeniu, które mogą reagować na zdarzenia związane z interakcją z czatem i subskrypcją 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 skonteneryzowanych.
-
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 otwórz 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 identyfikatora nie można zmienić, dlatego wybierz taki identyfikator, który spełnia Twoje potrzeby przez cały okres użytkowania 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 otworzy stronę panelu, 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 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 identyfikatorem 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.
- Kliknij Skonfiguruj konto.
interfejs wiersza poleceń gcloud
- Aby wyświetlić listę dostępnych kont rozliczeniowych:
gcloud billing accounts list
- 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 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łączanie interfejsów 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 interfejsy API są włączone we właściwym 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 projektu 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 dane obiektu zastępczego prawdziwymi informacjami wyświetlanymi na ekranie zgody.
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 sekcji Adres e-mail zespołu pomocy dla użytkowników wybierz swój adres e-mail lub odpowiednią grupę dyskusyjną 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 Ręczne dodawanie zakresów 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 otwórz 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 widoczna 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, gdy utworzysz 2 funkcje 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. Wyświetli 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
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 zachowuje i pobiera
dane z pokoi czatu, np. 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 modelu danych Firestore.
dokumentach uporządkowanych w kolekcjach. Więcej informacji znajdziesz w artykule na tematNa poniższym diagramie znajdziesz omówienie modelu danych aplikacji Chat z asystentem AI:
Poziom główny zawiera 2 kolekcje:
spaces
, gdzie każdy dokument reprezentuje pokój czatu, do którego została dodana 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 pól
spaces
Pokój czatu zawierający aplikację Google Chat Asystent wiedzy o AI.
Pola | |
---|---|
Document ID | String Unikalny identyfikator określonej 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 otwórz Menu > Firestore.
Kliknij Utwórz bazę danych.
W sekcji Wybierz tryb Firestore kliknij Tryb natywny.
Kliknij Dalej.
Skonfiguruj bazę danych:
W polu Nazwij bazę danych pozostaw Identyfikator bazy danych jako
(default)
.W sekcji Typ lokalizacji wybierz Region.
W polu Region określ region bazy danych, na przykład
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
Utwórz bazę danych Firestore w trybie natywnym:
gcloud firestore databases create \ --location=LOCATION \ --type=firestore-native
Zastąp LOCATION nazwą regionu Firehose, np.
us-central1
. Aby uzyskać najlepsze wyniki, wybierz tę samą lub pobliskie miejsce co funkcje aplikacji Google Chat w Cloud Functions.
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 wykonaj te czynności:
- Utwórz i wdróż 2 funkcje w Cloud Functions. Jeden do reagowania na zdarzenia interakcji z Google Chat, a drugi do reagowania 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 nazwach:
app
: hostuje i uruchamia kod aplikacji Google Chat, który reaguje 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łą repozytoriusz 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 uwierzytelniających z identyfikatorem 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 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. - W sekcji Typ reguły 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 Przesyłanie 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. a następnie skopiuje pliki komponentu 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 pojawi się Twoja funkcja z 2 wskaźnikami postępu: 1 dla kompilacji i 1 dla usługi. Gdy oba wskaźniki postępu znikają i zastępujesz znacznikiem wyboru, funkcja jest wdrożona i gotowa.
Zmień przykładowy kod, aby 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 w 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 uwierzytelniających z identyfikatorem klienta OAuth na potrzeby uwierzytelniania i autoryzacji.Aby ustawić zmienne środowiskowe, otwórz plik
env.js
:- Ustaw wartość project na identyfikator projektu Cloud.
- Ustaw wartość location na region funkcji Cloud Functions, np.
us-central1
.
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ą regionu funkcji w Cloud Functions, aby pasowała do regionu ustawionego 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 aplikacji Google Chat.
Kliknij
Utwórz funkcję.Na stronie Utwórz funkcję skonfiguruj funkcję:
- W sekcji Środowisko wybierz Funkcja w 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 logowania identyfikatora klienta OAuth na potrzeby uwierzytelniania i autoryzacji. - W polu Typ reguły wybierz Cloud Pub/Sub.
- W sekcji Temat Cloud Pub/Sub wybierz utworzoną nazwę tematu Pub/Sub. Nazwa ma format
projects/PROJECT/topics/events-api
, gdzie PROJECT to identyfikator Twojego projektu Cloud. - 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. - 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 znikają i zastępujesz znacznikiem wyboru, funkcja jest wdrożona i gotowa.
Zmień przykładowy kod, aby 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 w Cloud Functions, np.
us-central1
.
Kliknij Wdróż.
interfejs wiersza poleceń gcloud
W interfejsie wiersza poleceń gcloud przejdź do katalogu zawierającego kod tej aplikacji Google Chat Asystenta wiedzy o AI, która została sklonowana wcześniej 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 uwierzytelniających z identyfikatorem 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ę 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ą regionu funkcji w Cloud Functions, aby pasowała do regionu ustawionego 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 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 określonym osobom i grupom w domenie Workspace, a następnie wpisz swój adres e-mail.
Opcjonalnie w sekcji Logi wybierz Rejestruj 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
Testuj aplikację Google Chat Asystenta wiedzy o AI w pokoju czatu z wiadomościami, zadając pytania, na które może odpowiedzieć aplikacja Google Chat Asystent wiedzy o AI.
Oto kilka sposobów przetestowania aplikacji Asystent wiedzy o AI Google Chat:
- Dodaj aplikację Google Chat Asystent wiedzy o AI do istniejącego pokoju czatu i zadawaj pytania związane z tym pokojem.
- Utwórz pokój czatu i opublikuj kilka wiadomości, które będą służyć jako źródło danych. Wiadomości można pobierać z Gemini za pomocą promptów, takich jak
Answer 20 common onboarding questions employees ask their teams.
. Możesz też wkleić kilka akapitów z przewodnika programowanie z omówieniem Google Chat, a potem zadać pytania na ten temat.
W tym samouczku możemy utworzyć pokój czatu i wkleić kilka akapitów z przewodnika Programowanie z Google Chat z omówieniem.
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.
Dodawanie wiadomości do użycia jako źródła 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ę Asystent wiedzy o AI. Kliknij Dodaj do pokoju.
Jeśli dodajesz aplikację Google Chat do pokoju po raz pierwszy, musisz skonfigurować dla niej uwierzytelnianie i autoryzację:
- 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.
- Przejrzyj uprawnienia, o które prosi asystent wiedzy AI. 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:
Na pasku tworzenia wiadomości wpisz pytanie, na przykład:
What are Google Chat apps?
Asystent wiedzy o AI odpowiada aplikacji Google Chat.
Opcjonalnie, jeśli odpowiedź jest niedokładna lub wystarczająca, aby pomóc w ulepszeniu historii rozmowy AI, kliknij
Uzyskaj pomoc. Aplikacja Google Chat „Asystent wiedzy o AI” wspomina o menedżerze pokoju i prosi go o udzielenie odpowiedzi na pytanie. Następnym razem aplikacja Google Chat z asystentem AI będzie znać odpowiedź.
Uwagi, alternatywne rozwiązania architektoniczne i dalsze kroki
W tej sekcji omawiamy inne sposoby tworzenia aplikacji do czatu z asystentem opartym na AI.
Firestore, Cloud Storage lub wywołanie List Messages 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 wywoływaniem metody list
w zasobie Message
za pomocą interfejsu Chat API za każdym razem, gdy aplikacja Google Chat odpowie na pytanie. Ponadto wielokrotne wywoływanie interfejsulist messages
może spowodować przekroczenie limitu interfejsu API przez aplikację Google Chat.
Jeśli jednak historia rozmowy w pokoju czatu stanie się zbyt długa, korzystanie z Firestore może stać się 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ć. To rozwiązanie nie ma sensu, jeśli regularnie aktualizujesz historię wiadomości, ale warto aktualizować historię wiadomości zbiorczo co jakiś czas, na przykład raz w tygodniu.
Rozwiązywanie problemów
Gdy aplikacja lub karta w Google Chat zwróci błąd, w interfejsie Google Chat pojawi się komunikat „Coś poszło nie tak”. lub „Nie udało się przetworzyć Twojej prośby”. Czasami interfejs czatu nie wyświetla żadnego komunikatu o błędzie, ale aplikacja Google Chat lub karta daje nieoczekiwany wynik. Na przykład może nie wyświetlić się wiadomość na karcie.
Mimo że komunikat o błędzie może nie być wyświetlany w interfejsie Google Chat, są dostępne opisowe komunikaty o błędach i dane logów, które pomogą Ci w naprawianiu błędów, gdy logowanie błędów w aplikacjach Google Chat jest włączone. Informacje o wyświetlaniu, debugowaniu i naprawianiu błędów znajdziesz w artykule Rozwiązywanie problemów z błędami w Google Chat.
Czyszczenie danych
Aby uniknąć obciążenia konta Google Cloud opłatami za zasoby zużyte w tym samouczku, zalecamy usunięcie projektu Google 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