Tworzenie uniwersalnej aplikacji do obsługi zgłoszeń pracowników bez użycia kodu za pomocą Vertex AI Search

1. Wprowadzenie

W tym ćwiczeniu utworzysz uniwersalną aplikację pomocy dla pracowników bez użycia kodu za pomocą Vertex AI Search.

Wyobraź sobie, że pracujesz w globalnej firmie detalicznej Cymbal. Pracownicy często zadają pytania takie jak „Jakie są zasady rezerwowania podróży służbowych?” lub „Ile par butów sportowych mamy w magazynie?”.

Zwykle, aby znaleźć te odpowiedzi, musisz zalogować się w zupełnie innych systemach. Oprócz pracy z różnymi systemami musisz też przeglądać dużą liczbę nieustrukturyzowanych danych HR lub uruchamiać złożone zapytania SQL dotyczące ustrukturyzowanych danych finansowych, aby uzyskać odpowiedzi na swoje pytania.

W tym ćwiczeniu utworzysz jedną, ujednoliconą aplikację, która łączy się z tymi zbiorami danych, umożliwiając pracownikom uzyskiwanie konwersacyjnych, opartych na faktach odpowiedzi na pytania za pomocą funkcji generowania wspomaganego wyszukiwaniem (RAG) w Vertex AI.

Jakie zadania wykonasz

W tym ćwiczeniu wykonasz te czynności:

  • Skonfiguruj źródła danych. Utwórz zasobnik Cloud Storage na nieuporządkowane dokumenty HR i zbiór danych BigQuery na uporządkowane dane finansowe.
  • Skonfiguruj magazyny danych. Twórz magazyny danych Vertex AI Search połączone ze źródłami danych Cloud Storage i BigQuery.
  • Połącz aplikację. Utwórz aplikację Vertex AI Search i połącz z nią oba magazyny danych.
  • Przetestuj aplikację. Korzystaj z ujednoliconego interfejsu wyszukiwania, aby sprawdzić odpowiedzi oparte na wiedzy, które syntetyzują informacje z obu magazynów danych.
  • Poznaj kolejne kroki Poznaj opcje dostrajania modelu generatywnej AI i wdrażania aplikacji do wyszukiwania.

Schemat architektury aplikacji pokazujący Vertex AI Search

Czego potrzebujesz

  • przeglądarka, np. Chrome;
  • projekt Google Cloud z włączonymi płatnościami;
  • Git zainstalowany na komputerze lokalnym.

Te warsztaty są przeznaczone dla deweloperów na wszystkich poziomach zaawansowania.

2. Zanim zaczniesz

Utwórz projekt Google Cloud i włącz wymagane interfejsy API.

  1. W konsoli Google Cloud na stronie selektora projektów wybierz lub utwórz projekt w chmurze Google Cloud .
  2. Sprawdź, czy w projekcie Cloud włączone są płatności. Dowiedz się, jak sprawdzić, czy w projekcie są włączone płatności.

Wymagane role uprawnień

W tym samouczku zakłada się, że masz rolę właściciela projektu w projekcie Google Cloud.

Włącz interfejsy API

  1. W konsoli Google Cloud kliknij Aktywuj Cloud Shell. Jeśli używasz Cloud Shell po raz pierwszy, pojawi się panel z opcjami uruchomienia Cloud Shell w zaufanym środowisku z wzmocnieniem lub bez niego. Jeśli pojawi się prośba o autoryzację Cloud Shell, kliknij Autoryzuj.
  2. W Cloud Shell włącz wszystkie wymagane interfejsy API:
    gcloud services enable \
      discoveryengine.googleapis.com \
      aiplatform.googleapis.com \
      bigquery.googleapis.com \
      storage.googleapis.com
    

3. Klonowanie repozytorium GitHub

Aby pokazać, jak działa wyszukiwanie w aplikacji pomocy dla pracowników Cymbal, potrzebujesz kilku plików testowych. W tej sekcji sklonujesz repozytorium GitHub na komputer lokalny, aby pobrać te pliki. W kolejnych krokach prześlesz te pliki do Google Cloud za pomocą interfejsu konsoli Cloud.

  1. W terminalu na komputerze lokalnym sklonuj repozytorium next-26-sessions:
    git clone https://github.com/GoogleCloudPlatform/next-26-sessions.git
    
  2. Przejdź do pobranego katalogu repozytorium:
    cd next-26-sessions/BRK1-063-the-knowledge-source/cymbal-employee-helpdesk
    
  3. Przejrzyj pobrane pliki w tym katalogu. Zobaczysz 2 foldery: HR i Finance.
    • HR Ten folder zawiera wiele nieustrukturyzowanych plików, takich jak pliki .doc, .txt i .html. Prześlesz pliki HR do zasobnika Cloud Storage.
    • Finanse Ten folder zawiera 2 pliki .jsonl. Prześlesz te pliki do zbioru danych BigQuery.

4. Tworzenie zasobnika Cloud Storage na nieustrukturyzowane pliki

W tej sekcji utworzysz zasobnik Cloud Storage i prześlesz do niego dokumenty z folderu HR pobranego w sekcji Klonowanie repozytorium GitHub. Dane nieuporządkowane, takie jak dokumenty HR w tym przykładzie, nie mają zdefiniowanego formatu i mogą obejmować pliki tekstowe, dokumenty lub treści multimedialne.

  1. W konsoli Cloud otwórz stronę Zasobniki.
  2. Kliknij Utwórz.
  3. Na stronie Tworzenie zasobnika wpisz nazwę zasobnika. Nazwa musi być globalnie unikalna. Na przykład: cymbal-app-hr-12.
  4. Zachowaj opcje domyślne.
  5. Kliknij Utwórz.Zasobnik zostanie utworzony i wyświetli się strona Szczegóły zasobnika. Jeśli nie widzisz strony Szczegóły zasobnika, kliknij utworzony przed chwilą zasobnik.
  6. Na stronie Szczegóły zasobnika kliknij Prześlij > Prześlij folder, a następnie wybierz folder HR pobrany w sekcji Klonowanie repozytorium GitHub.
  7. Potwierdź przesłanie.Tworzenie zasobnika
  8. Na stronie Szczegóły zasobnika kliknij folder HR, aby wyświetlić listę plików.Pliki w zasobniku

5. Tworzenie zbioru danych BigQuery na potrzeby plików strukturalnych

W tej sekcji utworzysz zbiór danych BigQuery i wczytasz dokumenty z folderu Finance pobranego w sekcji Klonowanie repozytorium GitHub do nowej tabeli. Uporządkowane dane, takie jak dokumenty finansowe w tym przykładzie, mają zdefiniowany format, np. rekordy w bazie danych.

  1. W konsoli Cloud otwórz stronę BigQuery.
  2. W panelu Eksplorator kliknij nazwę projektu, a następnie Wyświetl działania (3 pionowe kropki) > Utwórz zbiór danych.Tworzenie zbioru danych
  3. W panelu Utwórz zbiór danych wpisz cymbal_finance w polu Identyfikator zbioru danych.
  4. W polu Data location (Lokalizacja danych) wybierz US (multiple regions in United States).
  5. Zachowaj opcje domyślne i kliknij Utwórz zbiór danych.
  6. W panelu Eksplorator rozwiń projekt i kliknij zbiór danych cymbal_finance.
  7. W panelu szczegółów zbioru danych kliknij Utwórz tabelę.
  8. Na stronie Utwórz tabelę w sekcji Źródło wykonaj te czynności:
    1. W menu Utwórz tabelę z wybierz Prześlij.
    2. W sekcji Wybierz plik kliknij Przeglądaj, przejdź do pobranego folderu Finance i wybierz plik cymbal_employee_finance.jsonl.
    3. W polu Format pliku wybierz JSONL (JSON rozdzielany znakiem nowej linii).
  9. W sekcji Miejsce docelowe wpisz nazwę Tabela jako employee_finance.
  10. W sekcji Schemat zaznacz pole wyboru Automatyczne wykrywanie.
  11. Zachowaj pozostałe ustawienia domyślne i kliknij Utwórz tabelę.
  12. Powtórz kroki od 7 do 11, aby wczytać dane do nowej tabeli. W kroku 8b kliknij product_inventory.jsonl, a w kroku 9 wpisz product_inventory jako nazwę tabeli.Jeśli nie widzisz tabel w panelu szczegółów zbioru danych, kliknij Odśwież.
  13. Jeśli udało Ci się utworzyć zbiór danych i 2 tabele, powinny one wyglądać jak na tym obrazie:Zbiór danych finansowych Cymbal

6. Tworzenie aplikacji Vertex AI Search

  1. W konsoli Cloud otwórz stronę Vertex AI Search.
  2. Na kafelku Wyszukiwanie niestandardowe (ogólne) kliknij Utwórz.
  3. Na stronie Konfiguracja aplikacji do wyszukiwania sprawdź, czy zaznaczone są opcje Funkcje wersji Enterprise i Odpowiedzi generatywne.
  4. Nazwij aplikację cymbal-employee-portal.
  5. Wpisz nazwę firmy, np. Cymbal Corp.
  6. W polu Lokalizacja aplikacji pozostaw wartość global.
  7. Kliknij Dalej.

7. Tworzenie i łączenie magazynów danych

Na stronie Magazyny danych tworzysz magazyny danych, które połączysz z aplikacją. Musisz utworzyć 3 magazyny danych: 1 na nieustrukturyzowane dane HR i 2 na ustrukturyzowane dane finansowe.

Tworzenie magazynu danych dla nieuporządkowanych danych

  1. Na stronie Magazyny danych kliknij Utwórz magazyn danych.
  2. W sekcji Wybierz źródło danych kliknij Cloud Storage.
  3. W panelu Importuj dane z Cloud Storage kliknij Import nieuporządkowanych danych (wyszukiwanie dokumentów i RAG) i wybierz Dokumenty.
  4. Pozostaw opcję Częstotliwość synchronizacji ustawioną na Jednorazowo.
  5. W sekcji Wybierz folder lub plik, który chcesz zaimportować kliknij Folder.
  6. W polu gs://... wpisz nazwę zasobnika utworzonego w sekcji Tworzenie zasobnika Cloud Storage na potrzeby plików nieustrukturyzowanych. Jeśli np. nazwa zasobnika to cymbal-app-hr-12, wpisz ją jako cymbal-app-hr-12/HR. Przetwarzanie danych z folderu HR gwarantuje, że w tym magazynie danych będą uwzględniane tylko dokumenty działu HR.
  7. Kliknij Dalej.
  8. Wpisz nazwę magazynu danych, np. cymbal-hr.
  9. Kliknij Dalej.
  10. Pozostaw opcję Ceny ogólne.
  11. Kliknij Utwórz.

Po kliknięciu Utwórz wrócisz na stronę Magazyny danych.

Tworzenie magazynów danych dla danych strukturalnych

Utworzysz 2 magazyny danych do przechowywania danych strukturalnych z BigQuery: jeden na potrzeby informacji finansowych o pracownikach, a drugi na potrzeby informacji o asortymencie produktów.

Tworzenie magazynu danych z informacjami finansowymi pracowników

  1. Na stronie Magazyny danych ponownie kliknij Utwórz magazyn danych.
  2. W sekcji Wybierz źródło danych kliknij BigQuery.
  3. W sekcji Importowanie danych strukturalnych wybierz Tabela BigQuery z własnym schematem.
  4. Pozostaw opcję Częstotliwość synchronizacji ustawioną na Jednorazowo.
  5. W polu Wybierz tabelę, którą chcesz zaimportować kliknij Przeglądaj. W wyświetlonym oknie Wybierz ścieżkę wybierz tabelę employee_finance ze zbioru danych cymbal_finance w projekcie. Możesz zobaczyć tabele o podobnych nazwach z innych projektów, więc upewnij się, że wybierasz tabelę z Twojego projektu.
  6. Kliknij Dalej.
  7. Zapoznaj się ze stroną Przejrzyj schemat i przypisz właściwości klucza.
  8. Kliknij Dalej.
  9. Wpisz nazwę magazynu danych, np. cymbal-finance.
  10. Kliknij Dalej.
  11. Pozostaw opcję Ceny ogólne.
  12. Kliknij Utwórz.

Po kliknięciu Utwórz wrócisz na stronę Magazyny danych.

Tworzenie magazynu danych o asortymencie produktów

  1. Na stronie Magazyny danych ponownie kliknij Utwórz magazyn danych.
  2. W sekcji Wybierz źródło danych kliknij BigQuery.
  3. W sekcji Importowanie danych strukturalnych wybierz Tabela BigQuery z własnym schematem.
  4. Pozostaw opcję Częstotliwość synchronizacji ustawioną na Jednorazowo.
  5. W polu Wybierz tabelę, którą chcesz zaimportować kliknij Przeglądaj. W wyświetlonym oknie Wybierz ścieżkę wybierz tabelę product_inventory ze zbioru danych cymbal_finance w projekcie.
  6. Kliknij Dalej.
  7. Zapoznaj się ze stroną Przejrzyj schemat i przypisz właściwości klucza.
  8. Kliknij Dalej.
  9. Wpisz nazwę magazynu danych, np. cymbal-inventory.
  10. Kliknij Dalej.
  11. Pozostaw opcję Ceny ogólne.
  12. Kliknij Utwórz.

Po kliknięciu Utwórz wrócisz na stronę Magazyny danych.

8. Łączenie magazynów danych z aplikacją

Na liście na stronie Magazyny danych powinny być teraz widoczne 3 magazyny danych: cymbal-hr (dane nieuporządkowane), cymbal-finance (dane uporządkowane) i cymbal-inventory (dane uporządkowane). Aby połączyć te magazyny danych z aplikacją, wykonaj te czynności:

  1. Na stronie Magazyny danych wybierz wszystkie 3 utworzone magazyny danych: cymbal-hr, cymbal-finance i cymbal-inventory. Zanim przejdziesz dalej, wybierz wszystkie 3 magazyny danych.
  2. Kliknij Dalej.
  3. Pozostaw opcję Ceny ogólne.
  4. Kliknij Utwórz.

9. Testowanie aplikacji portalu pracowniczego Cymbal

  1. W aplikacji cymbal-employee-portal kliknij Podgląd.
  2. W polu Wyszukaj tutaj wpisz to pytanie:
    What are the stipends that I get as an employee of Cymbal located in London?
    
  3. Wpisz pytanie dotyczące asortymentu produktów:
    How many units of sneakers do we have in stock?
    
  4. Wpisz kolejne pytanie:
    What is the stipend for an executive in Cymbal?
    

Zwróć uwagę, jak aplikacja wyszukiwarki pobrała informacje z wielu źródeł, aby sformułować odpowiedź. Aby odpowiedzieć na te pytania, aplikacja przeszukała zarówno uporządkowane dane finansowe przechowywane w BigQuery, jak i nieuporządkowane dokumenty HR w Cloud Storage.

Pokazuje to możliwości Vertex AI Search w zakresie syntezy odpowiedzi w różnych formatach danych i rozproszonych magazynach danych w jedną, spójną całość.

Możesz też dostroić model AI, aby uzyskiwać jeszcze dokładniejsze odpowiedzi dotyczące konkretnych dziedzin. Więcej informacji o dostosowywaniu generatywnej AI znajdziesz w dokumentacji Uzyskiwanie odpowiedzi i dalszych informacji.

10. Opcje wdrażania aplikacji

Wdrażanie aplikacji dla użytkowników końcowych wykracza poza zakres tego ćwiczenia, ale warto wiedzieć, jak to wygląda w rzeczywistości. Aplikację Vertex AI Search możesz zintegrować z procesami w swojej organizacji na kilka sposobów:

  • Gotowy widżet internetowy Gotowy interfejs wyszukiwania lub czatu możesz umieścić bezpośrednio w istniejącym intranecie lub na stronach internetowych firmy za pomocą tagu HTML script. To najszybszy sposób na udostępnienie aplikacji użytkownikom.
  • Niestandardowa integracja interfejsu API Aby mieć pełną kontrolę nad wygodą użytkowników, możesz użyć interfejsów API REST Vertex AI Search lub bibliotek klienta (takich jak Python, Node.js czy Java) i od podstaw utworzyć niestandardowy interfejs.

11. Czyszczenie danych

Aby uniknąć obciążenia konta Google Cloud bieżącymi opłatami, usuń zasoby utworzone podczas tego ćwiczenia:

  1. W konsoli Cloud otwórz stronę Vertex AI Search.
  2. Kliknij Wyświetl istniejące aplikacje.
  3. W przypadku aplikacji cymbal-employee-portal kliknij 3 kropki w pionie, aby wyświetlić Więcej, a następnie kliknij Usuń.
  4. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby potwierdzić usunięcie.
  5. Aby usunąć magazyny danych, w panelu użytkownika po lewej stronie konsoli kliknij Magazyny danych.
  6. Usuń bazy danych cymbal-hr, cymbal-finance i cymbal-inventory:
    1. W przypadku magazynu danych cymbal-hr kliknij 3 kropki w pionie, aby otworzyć Więcej, a potem kliknij Usuń.
    2. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby potwierdzić usunięcie.
    3. W przypadku magazynu danych cymbal-finance kliknij 3 kropki w pionie, aby otworzyć Więcej, a potem kliknij Usuń.
    4. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby potwierdzić usunięcie.
    5. W przypadku magazynu danych cymbal-inventory kliknij 3 kropki w pionie, aby otworzyć Więcej, a potem kliknij Usuń.
    6. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby potwierdzić usunięcie.
  7. Otwórz stronę Zasobniki i usuń utworzony zasobnik (np. cymbal-app-hr-12).
  8. Otwórz stronę BigQuery i usuń zbiór danych cymbal_finance.

12. Gratulacje

Misja ukończona! Udało Ci się utworzyć ujednolicone środowisko wyszukiwania w firmie za pomocą Vertex AI Search.

Dzięki połączeniu nieustrukturyzowanych danych firmowych w Cloud Storage z ustrukturyzowanymi rekordami z BigQuery udało Ci się stworzyć zaawansowane narzędzie do złożonego wnioskowania biznesowego bez pisania ani jednej linijki kodu uczenia maszynowego.

Czego się nauczysz

  • Pozyskiwanie: jak pozyskiwać nieuporządkowane dokumenty z Cloud Storage i dane uporządkowane z BigQuery do Vertex AI Search.
  • Wykonywanie zapytań w wielu magazynach danych Jak wysyłać zapytania do aplikacji do wyszukiwania w wielu magazynach danych, aby syntetyzować ujednolicone odpowiedzi na podstawie danych uporządkowanych i nieuporządkowanych.
  • Dostrajanie i dostosowywanie Jak dostosowywać modele generatywnej AI, aby udzielały dokładniejszych odpowiedzi dotyczących konkretnych dziedzin.
  • Opcje wdrażania Różne sposoby integrowania tej funkcji rozumowania z aplikacjami w rzeczywistym świecie za pomocą gotowych widżetów lub niestandardowych interfejsów API.

Dokumentacja