1. Обзор
Поиск патентов – обширная и сложная задача. Просматривать бесчисленные технические аннотации в поисках релевантных инноваций – непростая задача. Традиционные поиски по ключевым словам часто неточны и отнимают много времени. Аннотации длинные и технические, что затрудняет быстрое понимание основной идеи. Это может привести к тому, что исследователи пропускают ключевые патенты или тратят время на нерелевантные результаты.
Секрет этой революции кроется в векторном поиске. Вместо простого сопоставления ключевых слов, векторный поиск преобразует текст в числовые представления (встраивания). Это позволяет нам искать на основе смысла запроса, а не только конкретных использованных слов. В мире поиска литературы это кардинально меняет ситуацию. Представьте, что вы нашли патент на «носимый пульсометр», даже если точная фраза не используется в документе.
Задача: От современных методов поиска литературы ожидается мгновенный ответ и интеллектуальные рекомендации, соответствующие уникальным предпочтениям пользователей. Традиционные методы поиска часто не обеспечивают такого уровня персонализации.
Решение: Наше приложение для чата, основанное на знаниях, решает эту задачу. Оно использует обширную базу знаний, полученную из вашего патентного набора данных, чтобы понимать намерения клиентов, интеллектуально реагировать и предоставлять максимально релевантные результаты.
Что вы построите
В рамках этой лабораторной работы (Часть 2) вы:
- Создайте агента Vertex AI Agent Builder.
- Интегрируйте инструмент AlloyDB с агентом.
Требования
2. Архитектура
Поток данных: Давайте подробнее рассмотрим, как данные перемещаются в нашей системе:
Приём внутрь :
Данные о патентах загружаются в AlloyDB.
Аналитический механизм:
Для выполнения следующих действий мы будем использовать AlloyDB в качестве аналитического механизма:
- Извлечение контекста: Система анализирует данные, хранящиеся в AlloyDB, чтобы понять структуру набора данных о патентах.
- Создание векторных представлений: Векторные представления (математические представления текста) генерируются как для запроса пользователя, так и для информации, хранящейся в AlloyDB.
- Векторный поиск: поисковая система выполняет поиск по сходству, сравнивая векторное представление запроса с векторными представлениями аннотаций патентов. Это позволяет определить наиболее релевантного «ближайшего соседа» к контексту, который ищет пользователь.
Генерация ответа:
Проверенные ответы структурируются в массив JSON, а весь механизм упаковывается в бессерверную облачную функцию запуска, которая вызывается из Agent Builder.
Вышеописанные шаги уже были рассмотрены в первой части лабораторной работы.
Мы обсудили технические детали создания аналитического механизма, основанного на знаниях, который лежит в основе нашего интеллектуального помощника по поиску патентов. Теперь давайте рассмотрим, как мы используем возможности Agent Builder, чтобы воплотить этот механизм в жизнь в разговорном интерфейсе. Убедитесь, что у вас готов URL-адрес конечной точки, прежде чем начинать часть 2. Следующий шаг мы рассмотрим в этой лабораторной работе:
Разговорное взаимодействие:
Agent Builder предоставляет пользователю ответы в формате естественного языка, способствуя диалогу.
3. Прежде чем начать
Создать проект
- В консоли Google Cloud на странице выбора проекта выберите или создайте проект Google Cloud.
- Убедитесь, что для вашего облачного проекта включена функция выставления счетов. Узнайте, как проверить, включена ли функция выставления счетов для проекта .
- Вы будете использовать Cloud Shell — среду командной строки, работающую в Google Cloud и поставляемую с предустановленным bq. Нажмите «Активировать Cloud Shell» в верхней части консоли Google Cloud.

- После подключения к Cloud Shell необходимо проверить, прошли ли вы аутентификацию и установлен ли идентификатор вашего проекта, используя следующую команду:
gcloud auth list
- Выполните следующую команду в Cloud Shell, чтобы убедиться, что команда gcloud знает о вашем проекте.
gcloud config list project
- Если ваш проект не задан, используйте следующую команду для его настройки:
gcloud config set project <YOUR_PROJECT_ID>
- Включите необходимые API. Альтернативой команде gcloud является использование консоли для поиска каждого продукта или переход по этой ссылке .
Если какой-либо API отсутствует, вы всегда можете включить его в процессе реализации.
Для получения информации о командах gcloud и их использовании обратитесь к документации .
Важное примечание: Также убедитесь, что вы выполнили ЧАСТЬ 1 лабораторной работы, чтобы завершить эту.
4. Создание агентов
Представляем Agent Builder
Agent Builder — это мощный инструмент с низким уровнем кодирования, который позволяет быстро и эффективно создавать диалоговых агентов. Он упрощает процесс проектирования диалоговых потоков, интеграции баз знаний и подключения к внешним API. В нашем случае мы будем использовать Agent Builder для беспрепятственного подключения к конечной точке Cloud Function, которую мы создали в Части 1 , что позволит нашему помощнику по поиску патентов получить доступ к нашей базе знаний о патентах и интеллектуально отвечать на запросы пользователей.
Убедитесь, что функция Java Cloud Run, созданная в Части 1, возвращает массив JSON, а не обычный текст.
Создание агента
Давайте начнём с создания нового агента для ответа на вопросы пользователей о товарах из категории одежды.
- Для начала войдите в платформу Agent Builder . Если система запросит активацию API, нажмите «ПРОДОЛЖИТЬ И АКТИВИРОВАТЬ API».
- Нажмите кнопку «СОЗДАТЬ ПРИЛОЖЕНИЕ» и дайте своему агенту описательное имя (например, «Помощник по поиску патентов»).
- Нажмите «Тип приложения» — «Агент».

- Присвойте своему агенту описательное имя, например, « Помощник по поиску патентов », и укажите регион us-central1 .
- Введите данные агента:
- Измените имя агента на « Агент по патентному поиску ».
- Добавьте следующую "Цель":
You are a professional intelligent patent search agent! Your job is to help the customer find patents matching the context of their search text.

- Сохраните этот раздел и пока оставьте поле "Инструкции" пустым.
- Затем в меню навигации выберите пункт «Инструменты» и нажмите «СОЗДАТЬ».

Введите название инструмента: Инструмент поиска патентов
Тип: OpenAPI
Введите описание инструмента:
This tool refers to the dataset in the backend as the context information for product inventory. It takes as input the user's search text summarized by the agent and matches with the most appropriate list of items and returns as an array of items.
Представляем Schema — OpenAPI в формате YAML:
Здесь мы используем серверную часть для работы агента. Скопируйте приведенную ниже спецификацию OpenAPI и замените URL-адрес-заполнитель (заключенный в угловые скобки) на адрес вашей конечной точки облачной функции:
openapi: 3.0.0
info:
title: Patent Search API
version: v1
servers:
- url: YOUR_CLOUDFUNCTION_ENDPOINT_URL
paths:
/patent-search:
post:
summary: Search for patents using a text query.
requestBody:
content:
application/json:
schema:
type: object
properties:
search:
type: string
description: The text query to search for patents.
example: A new Natural Language Processing related Machine Learning Model
responses:
'200':
description: Successful search response with a JSON array of matching patents.
content:
application/json:
schema:
type: array
items:
type: object
properties:
result:
type: string
description: Patent title.
'400':
description: Invalid request body.
'500':
description: Internal server error.
Оставьте остальные параметры настроек по умолчанию и нажмите «Сохранить».
- Вернитесь к агенту, потому что нам нужно добавить конфигурацию «Инструмент» в раздел «Инструкции» агента. Добавьте в поле «Инструкции» следующий код (помните, отступы важны для определения последовательности действий):
- 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.
- Use ${TOOL:Patent Search Tool} to help the user with their task.
- Return the response from the ${TOOL:Patent Search Tool} to the user in a well formed string.
- Thank the user for their business and say goodbye.
Убедитесь, что в разделе «Доступные инструменты» выбран инструмент «Инструмент поиска патентов», а затем снова сохраните агента.
5. Проверьте работу агента.
В правой панели вы увидите раздел «Предварительный просмотр агента», который позволяет протестировать ваш агент.
Как вы можете видеть на скриншоте ниже, я поприветствовал пользователя и начал чат с запроса на "Подбор патента для любой идеи фитнес-трекера" :

Это JSON-ответ:

Это необработанный JSON-результат от облачной функции, обрабатывающей поиск сходства в AlloyDB. Вот и всё! Теперь у нас всё готово с агентом.
6. Развертывание и интеграция
Как только вы будете удовлетворены своим агентом, вы можете легко развернуть его на различных каналах, используя интеграции Agent Builder. Вы можете встроить его на свой веб-сайт, интегрировать с популярными платформами обмена сообщениями или даже создать специальное мобильное приложение. Мы также можем использовать API Agent Builder непосредственно в наших веб-приложениях, о чем мы рассказывали в этом блоге .
7. Уборка
Чтобы избежать списания средств с вашего аккаунта Google Cloud за ресурсы, использованные в этой статье, выполните следующие действия:
- В консоли Google Cloud перейдите в раздел «Управление» .
- страница ресурсов .
- В списке проектов выберите проект, который хотите удалить, и нажмите кнопку «Удалить» .
- В диалоговом окне введите идентификатор проекта, а затем нажмите «Завершить» , чтобы удалить проект.
8. Поздравляем!
Поздравляем! Благодаря интеграции мощи нашей собственной аналитической системы с интуитивно понятным интерфейсом Agent Builder, мы создали интеллектуального помощника по поиску литературы, который делает поиск литературы доступным, эффективным и по-настоящему осмысленным. Объединив возможности AlloyDB , Vertex AI и Vector Search , мы сделали огромный шаг вперед, сделав контекстный и векторный поиск доступным, эффективным, по-настоящему осмысленным и управляемым агентами!