Агент GenAI в Slack для вопросов и ответов по документам и действиям с вызовами API

1. Обзор

In this lab, you will create a GenAI Agent, connect it to the Cloud Run application and integrate the agent into the Slack workspace.

3301e2bb69be325.png

Что вы узнаете

Лаборатория состоит из нескольких основных частей:

  • Deploy Cloud Run application to integrate with Gemini APIs
  • Create and deploy Conversational Agent in AI Applications
  • Интеграция агента в Slack
  • Настройка хранилища данных для вопросов и ответов в PDF-документах.

Предварительные требования

  • Для выполнения этой лабораторной работы предполагается знакомство со средами Cloud Console и Cloud Shell.

2. Настройка и требования

Настройка облачного проекта

  1. Войдите в консоль Google Cloud и создайте новый проект или используйте существующий. Если у вас еще нет учетной записи Gmail или Google Workspace, вам необходимо ее создать .

fbef9caa1602edd0.pnga99b7ace416376c4.png5e3ff691252acf41.png

  • Название проекта — это отображаемое имя участников данного проекта. Это строка символов, не используемая API Google. Вы всегда можете его изменить.
  • Идентификатор проекта уникален для всех проектов Google Cloud и является неизменяемым (его нельзя изменить после установки). Консоль Cloud автоматически генерирует уникальную строку; обычно вам неважно, какая она. В большинстве практических заданий вам потребуется указать идентификатор вашего проекта (обычно обозначается как PROJECT_ID ). Если сгенерированный идентификатор вас не устраивает, вы можете сгенерировать другой случайный идентификатор. В качестве альтернативы вы можете попробовать свой собственный и посмотреть, доступен ли он. После этого шага его нельзя изменить, и он сохраняется на протяжении всего проекта.
  • К вашему сведению, существует третье значение — номер проекта , которое используется некоторыми API. Подробнее обо всех трех значениях можно узнать в документации .
  1. Далее вам потребуется включить оплату в консоли Cloud для использования ресурсов/API Cloud. Выполнение этого практического задания не потребует больших затрат, если вообще потребует. Чтобы отключить ресурсы и избежать дополнительных расходов после завершения этого урока, вы можете удалить созданные ресурсы или удалить проект. Новые пользователи Google Cloud имеют право на бесплатную пробную версию стоимостью 300 долларов США .

Настройка среды

Откройте чат Близнецов.

e1e9ad314691368a.png

Включите Gemini для Google Cloud API:

933612a23648361c.pngb366894eb450f862.png

Нажмите « Start chatting » и ответьте на один из примеров вопросов или введите свой собственный вопрос, чтобы попробовать.

ed120d672468b412.png

Рекомендуем попробовать:

  • Опишите Cloud Run в 5 ключевых пунктах.
  • Вы — менеджер по продукту Google Cloud Run. Объясните студенту принцип работы Cloud Run в 5 кратких ключевых моментах.
  • Вы — менеджер по продукту Google Cloud Run. Объясните Cloud Run сертифицированному разработчику Kubernetes в 5 кратких ключевых моментах.
  • Вы — менеджер по продукту Google Cloud Run. Объясните старшему разработчику в 5 кратких ключевых моментах, когда следует использовать Cloud Run, а когда GKE.

Check out the Prompt Guide to learn more about writing better prompts.

Как Gemini для Google Cloud использует ваши данные

Обязательства Google в отношении конфиденциальности

Google одной из первых в отрасли опубликовала обязательство по обеспечению конфиденциальности в сфере ИИ/машинного обучения , в котором изложена наша убежденность в том, что клиенты должны иметь высочайший уровень безопасности и контроля над своими данными , хранящимися в облаке.

Данные, которые вы предоставляете и получаете

Вопросы, которые вы задаете Gemini, включая любую входную информацию или код, который вы отправляете Gemini для анализа или завершения, называются подсказками. Ответы или завершение кода, которые вы получаете от Gemini, называются ответами. Gemini не использует ваши подсказки или свои ответы в качестве данных для обучения своих моделей .

Шифрование подсказок

При отправке запросов в Gemini ваши данные шифруются во время передачи и используются в качестве входных данных для базовой модели в Gemini.

Программные данные сгенерированы из Gemini

Gemini обучается на собственном коде Google Cloud, а также на выбранном коде сторонних разработчиков. Вы несете ответственность за безопасность, тестирование и эффективность своего кода , включая любое автозавершение, генерацию или анализ кода, которые предлагает вам Gemini.

Узнайте больше о том, как Google обрабатывает ваши запросы.

3. Варианты для проверки подсказок.

У вас есть несколько вариантов для проверки подсказок.

Vertex AI Studio — это часть платформы Vertex AI от Google Cloud, специально разработанная для упрощения и ускорения разработки и использования моделей генеративного искусственного интеллекта.

Google AI Studio — это веб-инструмент для прототипирования и экспериментирования с оперативной разработкой и API Gemini.

Веб-приложение Google Gemini (gemini.google.com) — это веб-инструмент, разработанный для того, чтобы помочь вам изучить и использовать возможности моделей искусственного интеллекта Google Gemini.

4. Клонируйте репозиторий.

Return to Google Cloud Console and activate Cloud Shell by clicking on the icon to the right of the search bar.

3e0c761ca41f315e.png

Если появится запрос на авторизацию, нажмите «Авторизовать», чтобы продолжить.

6356559df3eccdda.png

В открытом терминале выполните следующие команды.

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

cd genai-for-developers

git checkout slack-agent-jira-lab

Нажмите «Открыть редактор».

63e838aebfdd2423.png

Using the " File / Open Folder " menu item, open " genai-for-developers ".

e3b9bd9682acf539.png

Откройте новый терминал

4d9c41ab01ff4e97.png

5. Создайте учетную запись службы.

Create a new service account. You will use this service account to make API calls to Vertex AI Gemini API from Cloud Run application.

Configure project details using your qwiklabs project details.

Пример: qwiklabs-gcp-00-2c10937585bb

gcloud config set project YOUR_QWIKLABS_PROJECT_ID

Создайте учетную запись службы.

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"

Роли, связанные с грантами.

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"

Enable required services to use Vertex AI APIs and Gemini chat.

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

Enable required services to use Vertex AI APIs and Gemini chat.

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

Воспользуйтесь Gemini Code Assist для пояснения кода.

Open file " devai-api/app/routes.py " and then right click anywhere in the file and select " Gemini Code Assist > Explain this" from the context menu.

427ed40dd44cab8a.png

Review Gemini's explanation for the selected file.

a286d1e85bc42960.png

6. Разверните Devai-API в облаке.

Убедитесь, что вы находитесь в правильной папке.

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

For this lab, we follow best practices and use Secret Manager to store and reference the Access Token and LangChain API Key values in Cloud Run.

Set environment variables. Run this command as is without any changes.

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"

Create and store several secrets in the 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=-

Разверните приложение в 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

Answer Y to create Artifact Registry Docker repository.

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

Попросите Близнецов объяснить команду:

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

Review gcloud run deploy SERVICE_NAME --source=. flow below. Learn more .

5c122a89dd11822e.png

В фоновом режиме эта команда использует buildpacks и Cloud Build от Google Cloud для автоматической сборки образов контейнеров из вашего исходного кода без необходимости установки Docker на ваш компьютер или настройки buildpacks или Cloud Build. То есть, описанная выше единственная команда делает то, что в противном случае потребовало бы команд gcloud builds submit и gcloud run deploy .

Если вы предоставили Dockerfile (что мы и сделали в этом репозитории), то Cloud Build будет использовать его для сборки образов контейнеров, а не полагаться на buildpacks для автоматического обнаружения и сборки образов контейнеров. Чтобы узнать больше о buildpacks, ознакомьтесь с документацией .

Просмотрите журналы Cloud Build в консоли .

Review created Docker image in Artifact Registry .

Review Cloud Run instance details in the Cloud Console .

Проверьте работоспособность конечной точки, выполнив команду curl.

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

The response will be in markdown format. Displaying in preview mode for better readability.

bda86deaa1c449a8.png

7. Применение ИИ

In the Google Cloud Console search bar, type and open " AI Applications ".

3f8540f5c946e199.png

Создайте приложение Conversational Agent :

6f372cbe4935c507.png

Выберите « Build your own ».

5305cb9a8320f468.png

Type " Agent " for Display name and click "Create".

e0056adc2f8af87.png

Задать имя сценария:

Agent

Поставьте цель:

Help users with questions about JIRA project

Инструкции по установке:

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

Нажмите « Save »:

bb2569de77cd1f06.png

Test the Agent using simulator chat on the right side:

593dd4b8fc4c20d9.png

Проведите аналогичные беседы, как показано ниже:

66a7569835ebc7e7.png

Настройка инструментов агента

Mouse over the wrench icon on the left. Open Tools menu and create a new Tool:

ff635e2d135ea6d8.png

Выберите OpenAPI из выпадающего списка «Тип».

Задать имя инструмента:

jira-project-status

Описание набора:

Provides JIRA project status

Switch tabs and check console output for Cloud Run service url. Copy the service url value.

Установка схемы (YAML) - замените 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

Сохраните конфигурацию инструмента:

ae78c21f48754d7a.png

Return to Agent configuration by selecting "Playbooks" from the left menu and update instructions to use the tool:

Добавьте инструкции по использованию нового инструмента и нажмите « Save »:

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

16755dd3aaf3888.png

Перейдите на вкладку « Examples » и добавьте новый пример:

a74004679865ab6e.png

Установить отображаемое имя:

jira-project-flow

Используя меню внизу, смоделируйте диалог между пользователем и агентом:

Пример схемы работы:

Ответ агента: Какой идентификатор проекта?

Ввод пользователя: TEST-PROJECT-100

Используемый инструмент: jira-project-status

Ответ агента: Подробная информация о состоянии проекта.

6d54f90f1dc630fc.png

Используйте приведенный ниже пример в качестве образца.

c80eef4210256e5a.png5affaee4cd54616e.png

Click Save . Return to the Agent simulator and reset any existing conversations. Test the flow.

ac9db60831b0f684.pnga9fbafd45139d434.png

Поздравляем! Благодаря интеграции инструментов, связанных с приложением (API), развернутым в Cloud Run, вы успешно расширили возможности Agent, позволив ему выполнять действия и повысить его производительность.

e8b113e0cc1b8ad6.png

Обзор лучших практик для разговорных агентов

Просмотрите доступные настройки агента.

  • Настройки логирования — Включить облачное логирование
  • Интеграция с Git — интеграция с Git позволяет отправлять и получать данные вашего агента из репозитория Git.
  • Генеративный выбор модели
  • Ограничения на количество токенов (входных и выходных)

f914db1d8a5d5447.png

Ознакомьтесь с элементами управления симулятора агента:

d1c4712603d4a8a2.png

8. Интеграция со Slack

Откройте меню «Интеграции» и нажмите « Connect » на плитке Slack.

6fc0ad95c28cb6c8.pnge7ee0826668bfa2b.pngb29574fd2a0f9725.png

Откройте ссылку и создайте новое приложение Slack по адресу https://api.slack.com/apps

cbf13edc1b284899.png

Выберите из раздела "Манифест":

7721feb295693ea2.png

Выберите рабочее пространство для разработки вашего приложения.

99a3d5b37cdf8f76.png

Переключитесь на формат YAML и вставьте следующий манифест:

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

Нажмите «Создать»:

5f0b3d2c44022eb9.png

Установка в рабочую область:

aa1c2ea1b700c838.png

Выберите канал "#общий" и нажмите "Разрешить".

18eba659946fc65f.png

В разделе «Основная информация / Учетные данные приложения» скопируйте «Секретный ключ подписи» и установите его в качестве значения для поля «Токен подписи» в интеграции агента со Slack.

31d62babb57e523d.pngbd9f7e3be3b9ea4e.png

Откройте раздел «OAuth & Permissions», скопируйте «Bot User OAuth Token» и установите его в качестве значения для поля «Access token» в интеграции Agent со Slack.

e74c7e003c31258.png

Заполните необходимые поля и нажмите «Начать».

Значение " Access Token " агента — это "Bot User OAUth Token" из Slack .

Значение " Токена подписи " агента равно "Секретному ключу подписи" из Slack.

8ea9f6856efa62cf.png7e71e37750fd063a.png

Скопируйте "URL веб-перехватчика" и вернитесь к настройкам приложения Slack.

Откройте раздел «Подписка на мероприятия» и вставьте URL-адрес.

a1e7271934c714d9.png

Сохраните изменения.

e6d9b43b3787b6e7.png

Откройте Slack и добавьте агента, набрав "@Agent".

Например, добавление приложения с именем "@CX".

72313066707f947b.png63becbd80824f8d8.pngc98e193062b096f0.png

Попросите агента предоставить сводку по проекту в JIRA.

6edfdb74760548ad.png

Поздравляем! Агент успешно интегрирован в рабочее пространство Slack.

703a3bf5754680fa.png

9. Вопросы и ответы по PDF-документам

В этом разделе описывается, как создать хранилище данных с использованием PDF-документа и связать его с агентом, что позволит включить функциональность вопросов и ответов на основе содержимого документа.

Создать сегмент облачного хранилища

Open Cloud Shell: https://shell.cloud.google.com/

Укажите имя хранилища, используя последние 5 цифр названия вашего проекта GCP. Пример: pdf-docs-3dw21

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

Создайте хранилище и загрузите в него 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

Конфигурация хранилища данных

Вернитесь в консоль агента, откройте раздел « Agent », прокрутите вниз и нажмите « + Data store ».

9a5e4d6d1e040b86.png

Используйте следующие значения:

Название инструмента: pdf-docs

Тип: Data store

Описание: pdf-docs

Нажмите « Save »

60096b1c597347fa.png

Внизу страницы нажмите кнопку « Add data stores ». Затем нажмите « Create new data store ».

abb9e513ac905e75.png

Выберите « Cloud Storage » в качестве источника данных.

Выберите: Unstructured documents

И выберите свой сегмент/папку GCS.

42dec238c1d0ac2f.png

Выберите « us » в качестве местоположения хранилища данных.

Для указания имени хранилища данных введите: " pdf-docs "

Выберите " Digital parser " из выпадающего списка.

Включите расширенную сегментацию.

Включить отображение заголовков родительских элементов в блоках.

Нажмите « Create ».

1a5222b86ee6c58e.png3119b5fec43c9294.png

Щелкните по хранилищу данных и просмотрите разделы «Документы», «Действия» и «Конфигурация обработки».

872d9142615e90c9.png

Импорт займет примерно 5-10 минут.

d9739a4af2244e03.png

Параметры синтаксического анализа и сегментации

Вы можете управлять анализом контента следующими способами:

  • Цифровой парсер. Цифровой парсер включен по умолчанию для всех типов файлов, если не указан другой тип парсера. Цифровой парсер обрабатывает загруженные документы, если для хранилища данных не указан другой парсер по умолчанию или если указанный парсер не поддерживает тип файла загруженного документа.
  • Расшифровка текста в PDF-файлах с помощью OCR . Публичная предварительная версия. Если вы планируете загружать отсканированные PDF-файлы или PDF-файлы с текстом внутри изображений, вы можете включить расшифровку текста в PDF-файлах для улучшения индексации PDF. См. раздел «О расшифровке текста в PDF-файлах с помощью OCR» .
  • Парсер макета. Включите парсер макета для файлов HTML, PDF или DOCX, если вы планируете использовать Vertex AI Search для RAG. Информацию об этом парсере и способах его включения см. в разделе «Разбивка документов на фрагменты для RAG».

Узнайте больше о разборе и сегментации документов.

Настройка инструмента

Вернитесь к экрану настройки инструмента агента и обновите доступные хранилища данных.

Выберите только что созданное хранилище данных и нажмите « Confirm ».

2922f7d9bdb7b2bc.png

Настройте заземление.

Введите " Google Cloud " в качестве названия компании.

Настройки полезной нагрузки — установите флажок « Include snippets in Conversational Messenger response payload" . Установите значение 5.

Нажмите «Сохранить».

484e99caa7d1bc07.png

Настройка инструкций агента

Вернуться к настройке агента.

Add new instruction:

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

f6d27e58b68f9f7.png

Сохраните конфигурацию.

Создайте пример для инструмента PDF-Docs.

Перейдите на вкладку «Примеры». Создайте новый пример: Guide to generative AI

Использование действий " + ":

ee4f85ba3f47fda0.png

Добавить "Ввод пользователя":

What are the main capabilities for generative AI?

Добавить "Использование инструмента".

  • Инструмент и действие: " pdf-docs "

Входные данные (тело запроса)

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

Результат работы инструмента:

{
  "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"
    }
  ]
}

Добавить "Ответ агента"

Detailed answer about main capabilities. 

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

Пример конфигурации:

d1da4c1d18709ea6.png

Конфигурация вызова инструмента:

a0d47a9dc04bb2f1.png

Переключитесь на симулятор, чтобы проверить конфигурацию.

Вопрос:

What are the 10 steps in the exec guide?

e682480a959125bc.png

Выберите " Agent " из раскрывающегося списка "Вызовы" и нажмите " Save as example ".

582759df60b9a342.png

Укажите название " user-question-flow ".

Укажите сводку: " Agent helped user answer question based on the pdf document " и нажмите "Сохранить".

Отформатируйте ответ агента и добавьте ссылку на PDF-документ из раздела выходных данных инструмента.

6ba5011ed26793f3.png

Сохраните пример.

Вернитесь в симулятор и нажмите « Replay conversation ». Проверьте обновленный формат ответа. Если после сохранения примера вы видите ошибку, возможно, вам потребуется обновить окно браузера и перезапустить разговор, отправив запрос еще раз:

What are the 10 steps in the exec guide?

51698c5f1fbd2770.png

Задайте ещё один вопрос:

What are the main capabilities in the exec guide?

7b636f489c05a13.png

Исходный PDF-документ.

5b3e6d2ceda99247.png

Вопрос:

What should I consider when evaluating projects?

1155edfbffcd14b2.png

Исходный PDF-документ.

57a0d331aa91f04b.png

Вопрос:

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

92264121fc8f06e.png

Исходный PDF-документ.

b4d07e6e7d9adc00.png

Поздравляем! Теперь агент может давать обоснованные ответы на основе PDF-документов.

e11d020a9cfa36d1.png

10. Готовые агенты

Далее вы сможете ознакомиться с готовыми агентами в меню слева.

de49672bbb8112fd.png

Выберите один из агентов и разверните его. Ознакомьтесь с настройками, инструкциями и инструментами агента.

1e00ed8ef4887efb.png

11. Поздравляем!

Поздравляем, вы завершили лабораторную работу!

Что мы рассмотрели:

  • Как создавать и развертывать диалоговых агентов
  • Как добавить инструмент для агента, работающего на базе приложения Cloud Run.
  • Как интегрировать агента в рабочее пространство Slack
  • Как настроить хранилище данных для вопросов и ответов в PDF-документах

Что дальше:

Уборка

Чтобы избежать списания средств с вашего аккаунта Google Cloud за ресурсы, используемые в этом руководстве, либо удалите проект, содержащий эти ресурсы, либо сохраните проект и удалите отдельные ресурсы.

Удаление проекта

Самый простой способ избежать выставления счетов — удалить проект, созданный для этого урока.

©2024 Google LLC. Все права защищены. Google и логотип Google являются товарными знаками Google LLC. Все остальные названия компаний и продуктов могут являться товарными знаками соответствующих компаний, с которыми они связаны.