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

1. Обзор

В этой лабораторной работе вы создадите агента GenAI, подключите его к приложению Cloud Run и интегрируете агента в рабочее пространство Slack.

3301e2bb69be325.png

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

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

  • Разверните приложение Cloud Run для интеграции с API Gemini.
  • Создание и развертывание разговорного агента в приложениях искусственного интеллекта.
  • Интеграция агента в Slack
  • Настройка хранилища данных для вопросов и ответов в PDF-документах.

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

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

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

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

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

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

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

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

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

e1e9ad314691368a.png

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

933612a23648361c.png

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

Ознакомьтесь с руководством по составлению тем , чтобы узнать больше о том, как писать более качественные темы.

Как 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. Клонируйте репозиторий.

Вернитесь в консоль Google Cloud и активируйте Cloud Shell, щелкнув значок справа от строки поиска.

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

С помощью пункта меню « File / Open Folder » откройте папку « genai-for-developers ».

e3b9bd9682acf539.png

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

4d9c41ab01ff4e97.png

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

Создайте новую учетную запись службы. Вы будете использовать эту учетную запись службы для выполнения вызовов API к Vertex AI Gemini API из приложения Cloud Run.

Настройте параметры проекта, используя данные вашего проекта Qwiklabs.

Пример: 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"

Включите необходимые сервисы для использования API Vertex AI и чата 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

Включите необходимые сервисы для использования API Vertex AI и чата 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

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

Откройте файл " devai-api/app/routes.py ", затем щелкните правой кнопкой мыши в любом месте файла и выберите в контекстном меню " Gemini Code Assist > Explain this" .

427ed40dd44cab8a.png

Ознакомьтесь с пояснениями Gemini к выбранному файлу.

a286d1e85bc42960.png

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

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

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

В этой лабораторной работе мы следуем передовым практикам и используем Secret Manager для хранения и обращения к значениям Access Token и LangChain API Key в Cloud Run.

Установите переменные среды. Выполните эту команду как есть, без каких-либо изменений.

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"

Создавайте и храните несколько секретов в менеджере секретов.

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

Ответьте Y , чтобы создать репозиторий Docker в реестре артефактов.

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

Ознакомьтесь с приведенным ниже алгоритмом gcloud run deploy SERVICE_NAME --source=. Узнайте больше .

5c122a89dd11822e.png

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

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

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

В реестре артефактов создан образ Docker для проверки.

Просмотрите подробные сведения об экземпляре Cloud Run в консоли Cloud .

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

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

Ответ будет представлен в формате Markdown. Для лучшей читаемости отображается в режиме предварительного просмотра.

bda86deaa1c449a8.png

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

В строке поиска консоли Google Cloud введите и откройте " AI Applications ".

3f8540f5c946e199.png

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

6f372cbe4935c507.png

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

5305cb9a8320f468.png

Введите " Agent " в поле "Отображаемое имя" и нажмите "Создать".

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

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

593dd4b8fc4c20d9.png

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

66a7569835ebc7e7.png

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

Наведите курсор мыши на значок гаечного ключа слева. Откройте меню «Инструменты» и создайте новый инструмент:

ff635e2d135ea6d8.png

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

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

jira-project-status

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

Provides JIRA project status

Переключитесь на другую вкладку и проверьте вывод консоли на наличие URL-адреса службы Cloud Run. Скопируйте значение URL-адреса службы.

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

Вернитесь к настройке агента, выбрав «Сценарии сценариев» в левом меню, и обновите инструкции по использованию инструмента:

Добавьте инструкции по использованию нового инструмента и нажмите « 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.png

5affaee4cd54616e.png

Нажмите Save . Вернитесь в симулятор агента и сбросьте все существующие диалоги. Проверьте работу системы.

ac9db60831b0f684.png

a9fbafd45139d434.png

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

e8b113e0cc1b8ad6.png

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

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

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

f914db1d8a5d5447.png

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

d1c4712603d4a8a2.png

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

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

6fc0ad95c28cb6c8.png

e7ee0826668bfa2b.png

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

bd9f7e3be3b9ea4e.png

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

e74c7e003c31258.png

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

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

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

8ea9f6856efa62cf.png

7e71e37750fd063a.png

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

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

a1e7271934c714d9.png

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

e6d9b43b3787b6e7.png

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

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

72313066707f947b.png

63becbd80824f8d8.png

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

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

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

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

Добавить новую инструкцию:

- 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. Все остальные названия компаний и продуктов могут являться товарными знаками соответствующих компаний, с которыми они связаны.