Agent generatywnej AI do udzielania odpowiedzi na pytania dotyczące dokumentów i działań za pomocą wywołań interfejsu API

Agent generatywnej AI do udzielania odpowiedzi na pytania dotyczące dokumentów i działań za pomocą wywołań interfejsu API

Informacje o tym ćwiczeniu (w Codelabs)

subjectOstatnia aktualizacja: mar 18, 2025
account_circleAutorzy: Andrey Shakirov

1. Omówienie

W tym laboratorium utworzysz agenta GenAI, połączysz go z aplikacją Cloud Run i zintegrujesz go z workspace’em Slack.

8541c95a7fbc9be7.png

Laboratorium składa się z kilku głównych części:

  • Wdrażanie aplikacji Cloud Run w celu integracji z interfejsami Gemini API
  • Tworzenie i wdrażanie agenta konwersacyjnego
  • Integracja agenta z Slackiem
  • Konfigurowanie magazynu danych na potrzeby pytań i odpowiedzi dotyczących dokumentów PDF
  • Ten moduł zakłada, że znasz środowiska Cloud Console i Cloud Shell.

2. Konfiguracja i wymagania

Konfiguracja projektu Cloud

  1. Zaloguj się w konsoli Google Cloud i utwórz nowy projekt lub użyj istniejącego. Jeśli nie masz jeszcze konta Gmail ani Google Workspace, musisz je utworzyć.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • Nazwa projektu to wyświetlana nazwa uczestników tego projektu. Jest to ciąg znaków, którego nie używają interfejsy API Google. Zawsze możesz ją zaktualizować.
  • Identyfikator projektu jest niepowtarzalny we wszystkich projektach Google Cloud i nie można go zmienić (po ustawieniu). Konsola Cloud automatycznie generuje unikalny ciąg znaków. Zwykle nie ma znaczenia, jaki to ciąg. W większości laboratoriów z kodem musisz podać identyfikator projektu (zwykle oznaczony jako PROJECT_ID). Jeśli nie podoba Ci się wygenerowany identyfikator, możesz wygenerować inny losowy. Możesz też spróbować użyć własnego adresu e-mail, aby sprawdzić, czy jest on dostępny. Po wykonaniu tego kroku nie można go zmienić. Pozostanie on na stałe w ramach projektu.
  • Informacyjnie: istnieje jeszcze 3 wartość, numer projektu, której używają niektóre interfejsy API. Więcej informacji o wszystkich 3 wartościach znajdziesz w dokumentacji.
  1. Następnie musisz włączyć rozliczenia w konsoli Cloud, aby korzystać z zasobów i interfejsów API Cloud. Przejście przez ten samouczek nie będzie kosztowne. Aby wyłączyć zasoby i uniknąć obciążenia opłatami po zakończeniu samouczka, możesz usunąć utworzone zasoby lub usunąć projekt. Nowi użytkownicy Google Cloud mogą skorzystać z bezpłatnego okresu próbnego, w którym mają do dyspozycji środki w wysokości 300 USD.

Konfiguracja środowiska

Otwórz czat Gemini.

e1e9ad314691368a.png

Włączanie Gemini for Google Cloud API:

990a0ceea7d05531.png

Kliknij „Start chatting” i wybierz jedno z przykładowych pytań lub wpisz własne prompty, aby je wypróbować.

ed120d672468b412.png

Prompty do wypróbowania:

  • Opisz Cloud Run w 5 kluczowych punktach.
  • Jesteś menedżerem produktu Google Cloud Run. Wyjaśnij studentowi, na czym polega Cloud Run, w 5 krótkich punktach.
  • Jesteś menedżerem produktu Cloud Run w Google. Wyjaśnij certyfikowanemu deweloperowi Kubernetes, na czym polega Cloud Run, w 5 kluczowych punktach.
  • Jesteś menedżerem produktu Cloud Run w Google i chcesz wyjaśnić starszemu deweloperowi, kiedy należy używać Cloud Run, a kiedy GKE. W tym celu przedstawiasz 5 krótkich kluczowych punktów.

Aby dowiedzieć się więcej o pisaniu lepszych promptów, zapoznaj się z przewodnikiem po promptach.

Jak Gemini dla Google Cloud korzysta z Twoich danych

Zobowiązanie Google do ochrony prywatności

Google jako jedna z pierwszych firm w branży opublikowała zobowiązanie do ochrony prywatności w systemach AI/ML, w którym wyraziliśmy przekonanie, że klienci powinni mieć najwyższy poziom bezpieczeństwa i kontroli nad swoimi danymi przechowywanymi w chmurze.

Dane, które przesyłasz i odbierasz

Pytania, które zadajesz Gemini, w tym wszelkie informacje wejściowe lub kod, które przesyłasz do Gemini w celu analizy lub uzupełnienia, nazywamy promptami. Odpowiedzi lub dokończenia kodu, które otrzymujesz od Gemini, nazywane są odpowiedziami. Gemini nie używa Twoich promptów ani swoich odpowiedzi jako danych do trenowania swoich modeli.

Szyfrowanie promptów

Gdy przesyłasz prompty do Gemini, Twoje dane są szyfrowane podczas przesyłania i przekazywane do modelu podstawowego w Gemini.

Dane programu wygenerowane przez Gemini

Gemini jest trenowany na podstawie kodu własnego Google Cloud oraz wybranego kodu innych firm. Ponosisz odpowiedzialność za bezpieczeństwo, testowanie i skuteczność kodu, w tym za uzupełnianie, generowanie i analizowanie kodu przez Gemini.

Dowiedz się więcej o tym, jak Google radzi sobie z Twoimi prośbami.

3. Opcje testowania promptów

Możesz przetestować prompty na kilka sposobów.

Vertex AI Studio jest częścią platformy Vertex AI w Google Cloud, która została zaprojektowana z myślą o uproszczeniu i przyspieszeniu tworzenia oraz stosowania modeli generatywnej AI.

Google AI Studio to internetowe narzędzie do tworzenia prototypów i eksperymentowania z inżynierią promptów oraz interfejsem Gemini API.

Aplikacja internetowa Google Gemini (gemini.google.com) to narzędzie internetowe, które ułatwia poznawanie i wykorzystywanie potencjału modeli sztucznej inteligencji Gemini od Google.

4. Kopiowanie repozytorium

Wróć do Google Cloud Console i aktywuj Cloud Shell, klikając ikonę po prawej stronie paska wyszukiwania.

3e0c761ca41f315e.png

W otwartym terminalu uruchom te polecenia:

git clone https://github.com/GoogleCloudPlatform/genai-for-developers.git

cd genai
-for-developers

git checkout slack
-agent-jira-lab

Kliknij „Otwórz edytor”.

63e838aebfdd2423.png

Użyj elementu menu „File / Open Folder”, aby otworzyć „genai-for-developers”.

e3b9bd9682acf539.png

Otwórz nowy terminal

4d9c41ab01ff4e97.png

5. Utwórz konto usługi

Utwórz nowe konto usługi. Z tego konta usługi będziesz korzystać do wywoływania interfejsu Vertex AI Gemini API z aplikacji Cloud Run.

Skonfiguruj szczegóły projektu, korzystając z szczegółów projektu qwiklabs.

Przykład: qwiklabs-gcp-00-2c10937585bb

gcloud config set project YOUR_QWIKLABS_PROJECT_ID

Utwórz konto usługi i przyznaj mu role.

export LOCATION=us-central1
export PROJECT_ID=$(gcloud config get-value project)
export SERVICE_ACCOUNT_NAME='vertex-client'
export DISPLAY_NAME='Vertex Client'
export KEY_FILE_NAME='vertex-client-key'

gcloud iam service-accounts create $SERVICE_ACCOUNT_NAME --project $PROJECT_ID --display-name "$DISPLAY_NAME"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/aiplatform.admin"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/aiplatform.user"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/cloudbuild.builds.editor"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/artifactregistry.admin"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/storage.admin"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/run.admin"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/secretmanager.secretAccessor"

Jeśli pojawi się pytanie o autoryzację, kliknij „Autoryzuj”, aby kontynuować.

6356559df3eccdda.png

Włącz wymagane usługi, aby korzystać z interfejsów API Vertex AI i czatu Gemini.

gcloud services enable \
    generativelanguage
.googleapis.com \
    aiplatform
.googleapis.com \
    cloudaicompanion
.googleapis.com \
    run
.googleapis.com \
    cloudresourcemanager
.googleapis.com

Włącz wymagane usługi, aby korzystać z interfejsów API Vertex AI i czatu Gemini.

gcloud services enable \
    artifactregistry.googleapis.com \
    cloudbuild.googleapis.com \
    runapps.googleapis.com \
    workstations.googleapis.com \
    servicemanagement.googleapis.com \
    secretmanager.googleapis.com \
    containerscanning.googleapis.com

Korzystanie z Gemini Code Assist do wyjaśnień kodu

Otwórz plik „devai-api/app/routes.py”, a potem kliknij prawym przyciskiem myszy dowolne miejsce w pliku i w menu kontekstowym wybierz „Gemini Code Assist > Explain this"”.

427ed40dd44cab8a.png

Przeczytaj wyjaśnienie Gemini dotyczące wybranego pliku.

a286d1e85bc42960.png

6. Wdrażanie interfejsu Devai-API w Cloud Run

Sprawdź, czy jesteś we właściwym folderze.

cd ~/genai-for-developers/devai-api

W tym laboratorium postępujemy zgodnie ze sprawdzonymi metodami i używamy usługi Secret Manager do przechowywania wartości klucza dostępu i klucza interfejsu LangChain API w Cloud Run oraz do odwoływania się do nich.

Ustaw zmienne środowiskowe. Uruchom to polecenie bez żadnych zmian.

export JIRA_API_TOKEN=your-jira-token
export JIRA_USERNAME="YOUR-EMAIL"
export JIRA_INSTANCE_URL="https://YOUR-JIRA-PROJECT.atlassian.net"
export JIRA_PROJECT_KEY="YOUR-JIRA-PROJECT-KEY"
export JIRA_CLOUD=true

export GITLAB_PERSONAL_ACCESS_TOKEN=your-gitlab-token
export GITLAB_URL="https://gitlab.com"
export GITLAB_BRANCH="devai"
export GITLAB_BASE_BRANCH="main"
export GITLAB_REPOSITORY="GITLAB-USERID/GITLAB-REPO"

export LANGCHAIN_API_KEY=your-langchain-key
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_ENDPOINT="https://api.smith.langchain.com"

Utwórz i przechowuj kilka obiektów tajnych w usłudze Secret Manager.

echo -n $JIRA_API_TOKEN | \
 gcloud secrets create JIRA_API_TOKEN
\
 
--data-file=-

echo
-n $GITLAB_PERSONAL_ACCESS_TOKEN | \
 gcloud secrets create GITLAB_PERSONAL_ACCESS_TOKEN
\
 
--data-file=-

echo
-n $LANGCHAIN_API_KEY | \
 gcloud secrets create LANGCHAIN_API_KEY
\
 
--data-file=-

Wdróż aplikację w Cloud Run.

gcloud run deploy devai-api \
  --source=. \
  --region="$LOCATION" \
  --allow-unauthenticated \
  --service-account vertex-client \
  --set-env-vars PROJECT_ID="$PROJECT_ID" \
  --set-env-vars LOCATION="$LOCATION" \
  --set-env-vars GITLAB_URL="$GITLAB_URL" \
  --set-env-vars GITLAB_REPOSITORY="$GITLAB_REPOSITORY" \
  --set-env-vars GITLAB_BRANCH="$GITLAB_BRANCH" \
  --set-env-vars GITLAB_BASE_BRANCH="$GITLAB_BASE_BRANCH" \
  --set-env-vars JIRA_USERNAME="$JIRA_USERNAME" \
  --set-env-vars JIRA_INSTANCE_URL="$JIRA_INSTANCE_URL" \
  --set-env-vars JIRA_PROJECT_KEY="$JIRA_PROJECT_KEY" \
  --set-env-vars JIRA_CLOUD="$JIRA_CLOUD" \
  --set-env-vars LANGCHAIN_TRACING_V2="$LANGCHAIN_TRACING_V2" \
  --update-secrets="LANGCHAIN_API_KEY=LANGCHAIN_API_KEY:latest" \
  --update-secrets="GITLAB_PERSONAL_ACCESS_TOKEN=GITLAB_PERSONAL_ACCESS_TOKEN:latest" \
  --update-secrets="JIRA_API_TOKEN=JIRA_API_TOKEN:latest" \
  --min-instances=1 \
  --max-instances=3

Odpowiedź Y: utwórz repozytorium Dockera w Artifact Registry.

Deploying from source requires an Artifact Registry Docker repository to store built containers. A repository named [cloud-run-source-deploy] in 
region [us-central1] will be created.

Do you want to continue (Y/n)?  y

Poproś Gemini o wyjaśnienie polecenia:

What does this command do?

gcloud run deploy devai-api \
  --source=. \
  --region="$LOCATION" \
  --allow-unauthenticated \
  --service-account vertex-client \
  --set-env-vars PROJECT_ID="$PROJECT_ID" \
  --set-env-vars LOCATION="$LOCATION" \
  --set-env-vars GITLAB_URL="$GITLAB_URL" \
  --set-env-vars GITLAB_REPOSITORY="$GITLAB_REPOSITORY" \
  --set-env-vars GITLAB_BRANCH="$GITLAB_BRANCH" \
  --set-env-vars GITLAB_BASE_BRANCH="$GITLAB_BASE_BRANCH" \
  --set-env-vars JIRA_USERNAME="$JIRA_USERNAME" \
  --set-env-vars JIRA_INSTANCE_URL="$JIRA_INSTANCE_URL" \
  --set-env-vars JIRA_PROJECT_KEY="$JIRA_PROJECT_KEY" \
  --set-env-vars JIRA_CLOUD="$JIRA_CLOUD" \
  --set-env-vars LANGCHAIN_TRACING_V2="$LANGCHAIN_TRACING_V2" \
  --update-secrets="LANGCHAIN_API_KEY=LANGCHAIN_API_KEY:latest" \
  --update-secrets="GITLAB_PERSONAL_ACCESS_TOKEN=GITLAB_PERSONAL_ACCESS_TOKEN:latest" \
  --update-secrets="JIRA_API_TOKEN=JIRA_API_TOKEN:latest" \
  --min-instances=1 \
  --max-instances=3

34ed504e0bcf697b.png

Zapoznaj się z procesem gcloud run deploy SERVICE_NAME --source=. poniżej. Więcej informacji

5c122a89dd11822e.png

W tle to polecenie używa usług buildpacksCloud Build Google Cloud do automatycznego kompilowania obrazów kontenera z Twojego kodu źródłowego bez konieczności instalowania Dockera na komputerze ani konfigurowania pakietów kompilacji ani Cloud Build. Oznacza to, że jedno polecenie opisane powyżej wykonuje to samo, co wymagałoby użycia poleceń gcloud builds submitgcloud run deploy.

Jeśli podano plik Dockerfile(jak w tym repozytorium), usługa Cloud Build użyje go do kompilowania obrazów kontenera zamiast polegać na pakietach kompilacji, które automatycznie wykrywają i kompilują obrazy kontenera. Więcej informacji o pakietach kompilacji znajdziesz w dokumentacji.

Sprawdź logi Cloud Build w konsoli.

Sprawdź utworzony obraz Dockera w Artifact Registry.

Sprawdź szczegóły instancji Cloud Run w Cloud Console.

Przetestuj punkt końcowy, wykonując polecenie curl.

curl -X POST \
   
-H "Content-Type: application/json" \
   
-d '{"prompt": "PROJECT-100"}' \
   $
(gcloud  run services list --filter="(devai-api)" --format="value(URL)")/generate

Odpowiedź będzie mieć format Markdown. Wyświetlanie w trybie podglądu w celu poprawy czytelności.

bda86deaa1c449a8.png

7. Kreator agentów Vertex AI

Wyszukaj i otwórz „Agent Builder”.

d189f2069d7bc7f6.png

Aktywowanie interfejsów API:

4bf2b240bd51db8.png

Tworzenie aplikacji z agentem konwersacyjnym:

9ee179dbcca38234.png

Włącz interfejs Dialogflow API:

75f2fd509c16ab88.png

Wybierz projekt:

bf6d60bebab949fe.png

Kliknij „Utwórz agenta”:

42332fe32af5a74e.png

Wybierz „Utwórz własną”.

583c747540ce3217.png

W polu Nazwa wyświetlana wpisz „Agent” i kliknij „Utwórz”.

e0056adc2f8af87.png

Ustaw nazwę scenariusza:

Agent

Ustaw cel:

Help user with questions about JIRA project

Instrukcje dotyczące zestawu:

- Greet the users, then ask how you can help them today.
- Summarize the user's request and ask them to confirm that you understood correctly.
  - If necessary, seek clarifying details.
- Thank the user for their business and say goodbye.

Kliknij „Zapisz”:

bb2569de77cd1f06.png

Przetestuj agenta, korzystając z czatu symulatora po prawej stronie:

7477cf320aaec22.png

66a7569835ebc7e7.png

Najedź kursorem na ikonę klucza po lewej stronie. Otwórz menu Narzędzia i utwórz nowe narzędzie:

ff635e2d135ea6d8.png

W menu Typ wybierz OpenAPI.

Ustaw nazwę narzędzia:

jira-project-status

Opis zestawu:

Provides JIRA project status

Ustaw schemat (YAML) – zastąp adres URL TWOJEGO CLOUD RUN. Przełącz karty i sprawdź adres URL usługi Cloud Run w konsoli.

openapi: 3.0.0
info:
 title: CR API
 version: 1.0.0
 description: >-
   This is the OpenAPI specification of a service.
servers:
 - url: 'https://YOUR CLOUD RUN URL'
paths:

 /generate:
   post:
     summary: Request impl
     operationId: generate
     requestBody:
       description: Request impl
       required: true
       content:
         application/json:
           schema:
             $ref: '#/components/schemas/Prompt'
     responses:
       '200':
         description: Generated
         content:
           application/json:
             schema:
               $ref: '#/components/schemas/ProjectStatus'
                 
components:
 schemas:
   Prompt:
     type: object
     required:
       - prompt
     properties:
       prompt:
         type: string
   ProjectStatus:
     type: object
     required:
       - message
     properties:
       message:
         type: string

Zapisz konfigurację narzędzia:

ae78c21f48754d7a.png

Wróć do konfiguracji agenta, wybierając „Playbooki” w menu po lewej stronie, i zaktualizuj instrukcje korzystania z narzędzia:

Dodaj instrukcje korzystania z nowego narzędzia i kliknij „Zapisz”:

- Use ${TOOL: jira-project-status} to help the user with JIRA project status.

4dabf135b37b044b.png

Przejdź na kartę „Przykłady” i dodaj nowy przykład:

a74004679865ab6e.png

Ustaw wyświetlaną nazwę:

jira-project-flow

Za pomocą menu na dole odtwórz rozmowę między użytkownikiem a obsługą klienta:

Przykładowy proces:

Odpowiedź pracownika obsługi klienta: Jaki jest identyfikator projektu?

Dane wejściowe użytkownika: TEST-PROJECT-100

Użycie narzędzia: jira-project-status

Odpowiedź pracownika obsługi klienta: szczegóły stanu projektu.

6d54f90f1dc630fc.png

Aby utworzyć przykład, skorzystaj z poniżej zamieszczonych informacji.

c80eef4210256e5a.png

5affaee4cd54616e.png

Kliknij Zapisz. Wróć do symulatora czatu i przetestuj przepływ danych. zresetować wszystkie istniejące rozmowy;

f96e7f711561e559.png

85d0e12acf682357.png

Gratulacje! Dzięki zintegrowaniu narzędzi połączonych z interfejsem API wdrożonym w Cloud Run udało Ci się umożliwić wykonywanie działań przez agenta.

695f18b4e5f81de8.png

Zapoznaj się ze sprawdzonymi metodami dotyczącymi agentów Vertex AI.

Sprawdzanie dostępnych ustawień agenta

  • Ustawienia logowania – włączanie Cloud Logging
  • Integracja z Git – integracja z Git umożliwia wypychanie i pobieranie agenta z repozytorium Git.
  • Wybór modelu generatywnego
  • Limity tokenów(wejścia i wyjścia)

f914db1d8a5d5447.png

Sprawdź ustawienia symulatora agenta:

d1c4712603d4a8a2.png

8. Integracja z Slackiem

Otwórz menu Integracje i kliknij „Połącz” na karcie Slack.

6fc0ad95c28cb6c8.png

e7ee0826668bfa2b.png

b29574fd2a0f9725.png

Otwórz link i utwórz nową aplikację Slack na stronie https://api.slack.com/apps.

cbf13edc1b284899.png

W sekcji „Plik manifestu” wybierz:

7721feb295693ea2.png

Wybieranie obszaru roboczego do tworzenia aplikacji

99a3d5b37cdf8f76.png

Przełącz się na format YAML i wklej ten plik manifestu:

display_information:
  name: Agent
  description: Agent
  background_color: "#1148b8"
features:
  app_home:
    home_tab_enabled: false
    messages_tab_enabled: true
    messages_tab_read_only_enabled: false
  bot_user:
    display_name: Agent
    always_online: true
oauth_config:
  scopes:
    bot:
      - app_mentions:read
      - chat:write
      - im:history
      - im:read
      - im:write
      - incoming-webhook
settings:
  event_subscriptions:
    request_url: https://dialogflow-slack-4vnhuutqka-uc.a.run.app
    bot_events:
      - app_mention
      - message.im
  org_deploy_enabled: false
  socket_mode_enabled: false
  token_rotation_enabled: false

Kliknij „Utwórz”:

5f0b3d2c44022eb9.png

Instalowanie w Workspace:

aa1c2ea1b700c838.png

Wybierz kanał „#general” i kliknij „Zezwól”.

18eba659946fc65f.png

W sekcji „Podstawowe informacje / Dane logowania aplikacji” skopiuj „Podpis tajny” i ustaw go w integracji Agenta z Slackiem jako wartość pola „Token podpisywania”.

31d62babb57e523d.png

bd9f7e3be3b9ea4e.png

Otwórz „OAuth i uprawnienia”, skopiuj „Token OAuth użytkownika bota” i ustaw go w integracji Agenta z Slackiem jako wartość pola „Token dostępu”.

e74c7e003c31258.png

Wypełnij wymagane pola i kliknij „Rozpocznij”.

Wartość „Access Token” (Token dostępu) agenta to „Bot User OAUth Token” (Token autoryzacji użytkownika bota) z Slacka.

Wartość „tokenu podpisywania” agenta to „Signing Secret” (sekret podpisywania) z Slacka.

8ea9f6856efa62cf.png

7e71e37750fd063a.png

Skopiuj „URL webhooka” i wróć do konfiguracji aplikacji Slack.

Otwórz sekcję „Subskrypcje zdarzeń” i wklej adres URL.

a1e7271934c714d9.png

Zapisz zmiany.

e6d9b43b3787b6e7.png

Otwórz „Slack” i dodaj pracownika obsługi klienta, wpisując „@Pracownik obsługi klienta”.

Możesz na przykład dodać aplikację o nazwie „@CX”.

72313066707f947b.png

63becbd80824f8d8.png

c98e193062b096f0.png

Poproś pracownika obsługi klienta o podsumowanie projektu JIRA.

6edfdb74760548ad.png

Gratulacje! Agent został zintegrowany z workspace’iem Slack.

e1a792e199d697c7.png

9. Pytania i odpowiedzi dotyczące dokumentów PDF

W tej sekcji opisujemy, jak utworzyć magazyn danych za pomocą dokumentu PDF i połączyć go z agentem, aby umożliwić korzystanie z funkcji pytań i odpowiedzi na podstawie zawartości dokumentu.

Tworzenie zasobnika Cloud Storage

Otwórz Cloud Shell: https://shell.cloud.google.com/

Ustaw nazwę zasobnika, używając ostatnich 5 cyfr projektu GCP. Przykład: pdf-docs-3dw21

BUCKET_NAME=pdf-docs-LAST-5-DIGITS-OF-YOUR-PROJECT

Utwórz zasobnik i prześlij dokument PDF.

gcloud storage buckets create gs://$BUCKET_NAME \
   
--location=us \
   
--default-storage-class=STANDARD \
   
--no-public-access-prevention \
   
--uniform-bucket-level-access

wget https
://services.google.com/fh/files/misc/exec_guide_gen_ai.pdf

gsutil cp exec_guide_gen_ai
.pdf gs://$BUCKET_NAME

Konfiguracja magazynu danych

Wróć do konsoli agenta i otwórz „Agent”, przewiń w dół i kliknij „+ Data store”.

9a5e4d6d1e040b86.png

Użyj tych wartości:

Nazwa narzędzia: pdf-docs

Typ: Data store

Opis: pdf-docs

Kliknij „Save”.

60096b1c597347fa.png

Kliknij „Add data stores” u dołu strony. Następnie kliknij „Create new data store”.

abb9e513ac905e75.png

Jako źródło danych wybierz „Cloud Storage”.

Wybierz: Unstructured documents

Wybierz zasobnik lub folder w GCS.

42dec238c1d0ac2f.png

W polu „Lokalizacja magazynu danych” wybierz „us”.

Nazwa typu magazynu danych: „pdf-docs”.

W menu kliknij „Digital parser”.

Włącz zaawansowany podział na fragmenty.

Włącz nagłówki elementów nadrzędnych we fragmentach.

Kliknij „Create”.

1a5222b86ee6c58e.png

3119b5fec43c9294.png

Kliknij magazyn danych i sprawdź dokumenty, aktywność i konfigurację przetwarzania.

872d9142615e90c9.png

Importowanie zajmie około 5–10 minut.

d9739a4af2244e03.png

Opcje analizowania i dzielenia na części

Możesz kontrolować analizowanie treści na te sposoby:

  • Parsowanie cyfrowe. Parser cyfrowy jest domyślnie włączony w przypadku wszystkich typów plików, chyba że zostanie określony inny typ parsera. Parser cyfrowy przetwarza przetworzone dokumenty, jeśli dla magazynu danych nie jest określony inny domyślny parser lub jeśli określony parser nie obsługuje typu pliku przetworzonego dokumentu.
  • Analiza OCR w przypadku plików PDF. publiczna wersja przedpremierowa. Jeśli planujesz przesłać zeskanowane pliki PDF lub pliki PDF z tekstem w obrazach, możesz włączyć parsowanie OCR, aby ulepszyć indeksowanie plików PDF. Zapoznaj się z artykułem Informacje o parsowaniu OCR w przypadku plików PDF.
  • Parser układu. Jeśli planujesz korzystać z Vertex AI Search do wyszukiwania RAG, włącz parsowanie układu w przypadku plików HTML, PDF lub DOCX. Informacje o tym parsowaniu i sposobie jego włączenia znajdziesz w artykule Podział dokumentów na części w ramach RAG.

Więcej informacji o analizowaniu dokumentów i dzieleniu ich na fragmenty

Konfiguracja narzędzia

Wróć do ekranu konfiguracji narzędzia Agenta i odśwież dostępne magazyny danych.

Wybierz nowo utworzony magazyn danych i kliknij „Confirm”.

2922f7d9bdb7b2bc.png

Skonfiguruj uziemienie.

Jako nazwę firmy wpisz „Google Cloud”.

Ustawienia ładunku – zaznacz „Include snippets in Conversational Messenger response payload"”. Ustaw wartość na 5.

Kliknij przycisk „Zapisz”.

484e99caa7d1bc07.png

Konfiguracja instrukcji agenta

Wróć do konfiguracji agenta.

Dodawanie nowej instrukcji:

- Provide detailed answer to users questions about the exec guide to gen ai using information in the ${TOOL:pdf-docs}

f6d27e58b68f9f7.png

Zapisz konfigurację.

Tworzenie przykładu dla narzędzia PDF-Docs

Przejdź na kartę Przykłady. Utwórz nowy przykład: Guide to generative AI

Używanie działań „+”:

ee4f85ba3f47fda0.png

Dodaj „Dane wejściowe użytkownika”:

What are the main capabilities for generative AI?

Dodaj „Użycie narzędzia”.

  • Narzędzia i działanie: „pdf-docs

Dane wejściowe (requestBody)

{
 
"query": "Main capabilities for generative AI",
 
"filter": "",
 
"userMetadata": {},
 
"fallback": ""
}

Wyjście narzędzia:

{
 
"answer": "Detailed answer about main capabilities for generative AI",
 
"snippets": [
   
{
     
"uri": "https://storage.cloud.google.com/pdf-docs-49ca4/exec_guide_gen_ai.pdf",
     
"text": "Detailed answer about main capabilities",
     
"title": "exec_guide_gen_ai"
   
}
 
]
}

Dodaj „Odpowiedź agenta”.

Detailed answer about main capabilities. 

https
://storage.cloud.google.com/pdf-docs-49ca4/exec_guide_gen_ai.pdf

Przykład skonfigurowanej usługi:

d1da4c1d18709ea6.png

Konfiguracja wywołania narzędzia:

a0d47a9dc04bb2f1.png

Przełącz się na symulator, aby przetestować konfigurację.

Pytanie:

What are the 10 steps in the exec guide?

e682480a959125bc.png

W menu wywołania kliknij Agent, a potem Save as example.

582759df60b9a342.png

Podaj nazwę „user-question-flow”.

Ustaw podsumowanie: „Agent helped user answer question based on the pdf document” i kliknij Zapisz.

Sformatuj odpowiedź agenta i dodaj link do dokumentu PDF z sekcji wyjściowej narzędzia.

6ba5011ed26793f3.png

Zapisz przykład.

Wróć do symulatora i kliknij „Replay conversation”. Sprawdź zaktualizowany format odpowiedzi. Jeśli po zapisaniu przykładu pojawi się błąd, może być konieczne odświeżenie okna przeglądarki i ponowne rozpoczęcie rozmowy przez ponowne wysłanie prompta:

What are the 10 steps in the exec guide?

51698c5f1fbd2770.png

Zadaj kolejne pytanie:

What are the main capabilities in the exec guide?

7b636f489c05a13.png

Źródłowy dokument PDF.

5b3e6d2ceda99247.png

Pytanie:

What should I consider when evaluating projects?

1155edfbffcd14b2.png

Źródłowy dokument PDF.

57a0d331aa91f04b.png

Pytanie:

What are the priority use cases in Retail and CPG in the exec guide?

92264121fc8f06e.png

Źródłowy dokument PDF.

b4d07e6e7d9adc00.png

Gratulacje! Agent może teraz udzielać odpowiedzi na podstawie dokumentów PDF.

197cf1ae70663fae.png

10. Wstępnie utworzone agenty

Następnie w menu po lewej stronie zapoznasz się z gotowymi agentami.

de49672bbb8112fd.png

Wybierz jednego z agentów i wdróż go. Poznaj instrukcje i narzędzia do konfiguracji agenta.

c2f1808c30d4c17b.png

11. Gratulacje!

Gratulacje! Masz ukończony ten moduł.

Omówione zagadnienia:

  • Tworzenie i wdrażanie agentów konwersacyjnych
  • Jak dodać narzędzie dla agenta obsługiwanego przez aplikację Cloud Run
  • Jak zintegrować agenta z obszarem roboczym Slack
  • Jak skonfigurować magazyn danych dla pytań i odpowiedzi w dokumentach PDF

Co dalej:

Czyszczenie danych

Aby uniknąć obciążenia konta Google Cloud opłatami za zasoby zużyte w tym samouczku, możesz usunąć projekt zawierający te zasoby lub zachować projekt i usunąć poszczególne zasoby.

Usuwanie projektu

Najprostszym sposobem na uniknięcie płatności jest usunięcie projektu utworzonego na potrzeby samouczka.

©2024 Google LLC. Wszelkie prawa zastrzeżone. Google i logo Google są znakami towarowymi Google LLC. Wszelkie inne nazwy firm i produktów mogą być znakami towarowymi odpowiednich podmiotów, z którymi są powiązane.