Agent generatywnej AI w Slacku do zadawania pytań dotyczących dokumentów i działań z wykorzystaniem wywołań interfejsu API

1. Przegląd

W tym module utworzysz agenta GenAI, połączysz go z aplikacją Cloud Run i zintegrujesz go z obszarem roboczym Slacka.

3301e2bb69be325.png

Czego się nauczysz

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 w aplikacjach AI
  • Integrowanie agenta z usługą Slack
  • Konfigurowanie magazynu danych na potrzeby pytań i odpowiedzi dotyczących dokumentów PDF

Wymagania wstępne

  • Zakładamy, że użytkownik zna środowiska konsoli Cloud i Cloud Shell.

2. Konfiguracja i wymagania

Konfigurowanie 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 lub Google Workspace, musisz je utworzyć.

fbef9caa1602edd0.pnga99b7ace416376c4.png5e3ff691252acf41.png

  • Nazwa projektu to wyświetlana nazwa dla uczestników tego projektu. Jest to ciąg znaków, który nie jest używany przez interfejsy API Google. Zawsze możesz ją zaktualizować.
  • Identyfikator projektu jest unikalny we wszystkich projektach Google Cloud i nie można go zmienić po ustawieniu. Konsola Cloud automatycznie generuje unikalny ciąg znaków. Zwykle nie musisz się nim przejmować. W większości ćwiczeń z programowania musisz odwoływać się do identyfikatora projektu (zwykle oznaczanego jako PROJECT_ID). Jeśli wygenerowany identyfikator Ci się nie podoba, możesz wygenerować inny losowy identyfikator. Możesz też spróbować własnej nazwy i sprawdzić, czy jest dostępna. Po tym kroku nie można go zmienić i pozostaje on taki przez cały czas trwania projektu.
  • Warto wiedzieć, że istnieje jeszcze trzecia wartość, numer projektu, której używają niektóre interfejsy API. Więcej informacji o tych 3 wartościach znajdziesz w dokumentacji.
  1. Następnie musisz włączyć płatności w konsoli Cloud, aby korzystać z zasobów i interfejsów API Google Cloud. Wykonanie tego laboratorium nie będzie kosztować dużo, a może nawet nic. Aby wyłączyć zasoby i uniknąć naliczania opłat po zakończeniu tego samouczka, możesz usunąć utworzone zasoby lub 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 z Gemini.

e1e9ad314691368a.png

Włącz Gemini for Google Cloud API:

933612a23648361c.pngb366894eb450f862.png

Kliknij „Start chatting” i wybierz jedno z przykładowych pytań lub wpisz własny prompt, aby wypróbować tę funkcję.

ed120d672468b412.png

Prompty do wypróbowania:

  • Wyjaśnij, czym jest Cloud Run, w 5 punktach.
  • Jesteś menedżerem produktu Google Cloud Run. Wyjaśnij studentowi, czym jest Cloud Run, w 5 krótkich punktach.
  • Jesteś menedżerem produktu Google Cloud Run. Wyjaśnij certyfikowanemu programiście Kubernetes, czym jest Cloud Run, w 5 krótkich punktach.
  • Jesteś menedżerem produktu Google Cloud Run. Wyjaśnij starszemu programiście w 5 krótkich punktach, kiedy warto używać Cloud Run, a kiedy GKE.

Więcej informacji o tworzeniu lepszych promptów znajdziesz w przewodniku po tworzeniu promptów.

Jak Gemini w Google Cloud korzysta z danych użytkowników

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 podkreśla, że klienci powinni mieć najwyższy poziom bezpieczeństwa i kontroli nad 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 uzupełnienia kodu, które otrzymujesz od Gemini, nazywamy 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 jako dane wejściowe do modelu bazowego w Gemini.

Dane programu wygenerowane przez Gemini

Gemini jest trenowany na kodzie Google Cloud oraz na wybranym kodzie firm zewnętrznych. Odpowiadasz za bezpieczeństwo, testowanie i skuteczność swojego kodu, w tym za uzupełnianie, generowanie i analizowanie kodu oferowane przez Gemini.

Dowiedz się więcej o tym, jak Google przetwarza Twoje prompty.

3. Opcje testowania promptów

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

Vertex AI Studio to część platformy Vertex AI w Google Cloud, która została zaprojektowana specjalnie z myślą o upraszczaniu i przyspieszaniu tworzenia i używania 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 pomaga odkrywać i wykorzystywać potencjał modeli AI Gemini od Google.

4. Kopiowanie repozytorium

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

3e0c761ca41f315e.png

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

6356559df3eccdda.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

W menu „File / Open Folder” otwórz „genai-for-developers”.

e3b9bd9682acf539.png

Otwórz nowy terminal.

4d9c41ab01ff4e97.png

5. Utwórz konto usługi

Utwórz nowe konto usługi. Będziesz używać tego konta usługi do wywoływania interfejsu Vertex AI Gemini API z aplikacji Cloud Run.

Skonfiguruj szczegóły projektu, korzystając ze szczegółów projektu Qwiklabs.

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

gcloud config set project YOUR_QWIKLABS_PROJECT_ID

Utwórz konto usługi.

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

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

Przyznaj role.

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"

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

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

Włącz wymagane usługi, aby korzystać z interfejsów Vertex AI API 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

Wyjaśnianie kodu za pomocą Gemini Code Assist

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

427ed40dd44cab8a.png

Sprawdź wyjaśnienie Gemini dotyczące wybranego pliku.

a286d1e85bc42960.png

6. Wdrażanie Devai-API w Cloud Run

Sprawdź, czy jesteś w odpowiednim folderze.

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

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

Ustaw zmienne środowiskowe. Uruchom to polecenie bez 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 zapisz 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=-

wdrożyć 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

Odpowiedz Y, aby utworzyć 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

Sprawdź poniższy proces gcloud run deploy SERVICE_NAME --source=.. Więcej informacji

5c122a89dd11822e.png

W tle to polecenie używa buildpacks i Cloud Build Google Cloud do automatycznego tworzenia obrazów kontenerów z kodu źródłowego bez konieczności instalowania Dockera na komputerze ani konfigurowania pakietów kompilacji lub Cloud Build. Oznacza to, że pojedyncze polecenie opisane powyżej wykonuje to, co w innych przypadkach wymagałoby użycia poleceń gcloud builds submit i gcloud run deploy.

Jeśli podasz plik Dockerfile(co zrobiliśmy w tym repozytorium), Cloud Build użyje go do kompilowania obrazów kontenerów, zamiast polegać na pakietach kompilacji, które automatycznie wykrywają i kompilują obrazy kontenerów. 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, uruchamiają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 w formacie Markdown. Wyświetlanie w trybie podglądu dla lepszej czytelności.

bda86deaa1c449a8.png

7. AI Applications

Na pasku wyszukiwania w konsoli Google Cloud wpisz i otwórz „AI Applications”.

3f8540f5c946e199.png

Utwórz aplikację Conversational Agent:

6f372cbe4935c507.png

Wybierz „Build your own”.

5305cb9a8320f468.png

Wpisz „Agent” w polu Nazwa wyświetlana i kliknij „Utwórz”.

e0056adc2f8af87.png

Ustaw nazwę scenariusza:

Agent

Wyznacz cel:

Help users with questions about JIRA project

Instrukcje konfiguracji:

- 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 „Save”:

bb2569de77cd1f06.png

Przetestuj agenta za pomocą czatu symulatora po prawej stronie:

593dd4b8fc4c20d9.png

Prowadź podobne rozmowy jak poniżej:

66a7569835ebc7e7.png

Konfiguracja narzędzi agenta

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

Przełącz karty i sprawdź dane wyjściowe konsoli pod kątem adresu URL usługi Cloud Run. Skopiuj wartość adresu URL usługi.

Ustaw schemat (YAML) – zastąp YOUR CLOUD RUN URL.

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, aby używać narzędzia:

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

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

16755dd3aaf3888.png

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

a74004679865ab6e.png

Ustaw wyświetlaną nazwę:

jira-project-flow

Korzystając z menu u dołu, modeluj rozmowę między użytkownikiem a agentem:

Przykładowy przepływ:

Odpowiedź agenta: Jaki jest identyfikator projektu?

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

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

Odpowiedź agenta: szczegóły stanu projektu.

6d54f90f1dc630fc.png

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

c80eef4210256e5a.png5affaee4cd54616e.png

Kliknij Save. Wróć do symulatora agenta i zresetuj wszystkie dotychczasowe rozmowy. Przetestuj automatyzację.

ac9db60831b0f684.pnga9fbafd45139d434.png

Gratulacje! Dzięki integracji narzędzi połączonych z aplikacją(API) wdrożoną w Cloud Run udało Ci się umożliwić agentowi wykonywanie działań i rozszerzyć jego możliwości.

e8b113e0cc1b8ad6.png

Sprawdź sprawdzone metody dotyczące agentów konwersacyjnych

Sprawdzanie dostępnych ustawień agenta

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

f914db1d8a5d5447.png

Sprawdź elementy sterujące symulatora agenta:

d1c4712603d4a8a2.png

8. Integracja z usługą Slack

Otwórz menu Integracje i kliknij „Connect” na kafelku Slacka.

6fc0ad95c28cb6c8.pnge7ee0826668bfa2b.pngb29574fd2a0f9725.png

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

cbf13edc1b284899.png

Wybierz z sekcji „Manifest”:

7721feb295693ea2.png

Wybierz obszar roboczy, w którym chcesz tworzyć aplikację

99a3d5b37cdf8f76.png

Przełącz na YAML i wklej ten manifest:

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 „Informacje podstawowe / Dane logowania aplikacji” skopiuj „Klucz tajny podpisywania” i ustaw go w integracji Slacka z Agentem jako wartość pola „Token podpisywania”.

31d62babb57e523d.pngbd9f7e3be3b9ea4e.png

Otwórz „OAuth & Permissions” (OAuth i uprawnienia) i skopiuj „Bot User OAuth Token” (Token OAuth użytkownika bota). Następnie ustaw go w integracji agenta ze Slackiem jako wartość pola „Access token” (Token dostępu).

e74c7e003c31258.png

Ustaw wymagane pola i kliknij „Start”.

Wartość „Access Token” agenta to „Bot User OAUth Token” z Slacka.

Wartość „tokena podpisywania” agenta to „tajny klucz podpisywania” z Slacka.

8ea9f6856efa62cf.png7e71e37750fd063a.png

Skopiuj „adres 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 „Slacka” i dodaj agenta, wpisując „@Agent”.

Na przykład dodanie aplikacji o nazwie „@CX”.

72313066707f947b.png63becbd80824f8d8.pngc98e193062b096f0.png

Poproś agenta o podsumowanie projektu JIRA.

6edfdb74760548ad.png

Gratulacje! Agent został zintegrowany z obszarem roboczym Slacka.

703a3bf5754680fa.png

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

W tej sekcji opisujemy, jak utworzyć magazyn danych przy użyciu dokumentu PDF i połączyć go z agentem, aby włączyć funkcję pytań i odpowiedzi na podstawie treści dokumentu.

Tworzenie zasobnika Cloud Storage

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

Ustaw nazwę zasobnika, używając 5 ostatnich 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

Wybierz „Cloud Storage” jako źródło danych.

Wybierz: Unstructured documents

Następnie wybierz zasobnik lub folder GCS.

42dec238c1d0ac2f.png

Wybierz „us” w przypadku lokalizacji magazynu danych.

Wpisz nazwę 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.png3119b5fec43c9294.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

Analizowanie treści możesz kontrolować w ten sposób:

  • Parser cyfrowy Parser cyfrowy jest domyślnie włączony dla wszystkich typów plików, chyba że określono inny typ parsera. Cyfrowy analizator przetwarza wczytane dokumenty, jeśli dla magazynu danych nie określono innego domyślnego analizatora lub jeśli określony analizator nie obsługuje typu pliku wczytanego 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ć parser OCR, aby ulepszyć indeksowanie plików PDF. Więcej informacji znajdziesz w artykule Informacje o analizowaniu plików PDF za pomocą OCR.
  • Parser układu Jeśli planujesz używać Vertex AI Search do wyszukiwania RAG, włącz parser układu dla plików HTML, PDF lub DOCX. Więcej informacji o tym analizatorze i sposobie jego włączania znajdziesz w artykule Dzielenie dokumentów na fragmenty na potrzeby 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 utworzony właśnie magazyn danych i kliknij „Confirm”.

2922f7d9bdb7b2bc.png

Skonfiguruj umocowanie.

Wpisz „Google Cloud” jako nazwę firmy.

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

Kliknij przycisk „Zapisz”.

484e99caa7d1bc07.png

Konfigurowanie instrukcji agenta

Wróć do konfiguracji agenta.

Dodaj nową instrukcję:

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

f6d27e58b68f9f7.png

Zapisz konfigurację.

Utwórz przykład dla narzędzia PDF-Docs

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

Korzystanie z działań „+”:

ee4f85ba3f47fda0.png

Dodaj „Dane wejściowe użytkownika”:

What are the main capabilities for generative AI?

Dodaj „Korzystanie z narzędzi”.

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

Dane wejściowe (requestBody)

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

Dane wyjściowe 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"
    }
  ]
}

Dodawanie „Odpowiedzi agenta”

Detailed answer about main capabilities. 

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

Przykład skonfigurowanego urządzenia:

d1da4c1d18709ea6.png

Konfiguracja wywołania narzędzia:

a0d47a9dc04bb2f1.png

Aby przetestować konfigurację, przełącz się na symulator.

Pytanie:

What are the 10 steps in the exec guide?

e682480a959125bc.png

W menu Wywołania wybierz „Agent” i kliknij „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 w sekcji danych wyjściowych narzędzia umieść link do dokumentu PDF.

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.

e11d020a9cfa36d1.png

10. Gotowe agenty

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

de49672bbb8112fd.png

Wybierz jednego z agentów i wdroż go. Zapoznaj się z konfiguracją, instrukcjami i narzędziami agenta.

1e00ed8ef4887efb.png

11. Gratulacje!

Gratulacje, udało Ci się ukończyć laboratorium!

Omówione zagadnienia:

  • Tworzenie i wdrażanie agentów konwersacyjnych
  • Jak dodać narzędzie do agenta opartego na aplikacji Cloud Run
  • Jak zintegrować agenta z obszarem roboczym Slacka
  • Jak skonfigurować magazyn danych na potrzeby pytań i odpowiedzi dotyczących dokumentów 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 w tym samouczku.

©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.