1. Descripción general
La investigación de patentes es vasta y compleja. Revisar innumerables resúmenes técnicos para encontrar innovaciones pertinentes es una tarea abrumadora. Las búsquedas tradicionales basadas en palabras clave suelen ser imprecisas y requieren mucho tiempo. Los resúmenes son largos y técnicos, lo que dificulta comprender la idea principal rápidamente. Esto puede hacer que los investigadores no encuentren patentes clave o pierdan tiempo con resultados irrelevantes.
El ingrediente secreto detrás de esta revolución es Vector Search. En lugar de depender de la coincidencia simple de palabras clave, Vector Search transforma el texto en representaciones numéricas (embeddings). Esto nos permite buscar en función del significado de la consulta, no solo de las palabras específicas que se usan. En el mundo de las búsquedas de literatura, esto cambia totalmente las reglas del juego. Imagina encontrar una patente para un "monitor de frecuencia cardíaca wearable" incluso si la frase exacta no se usa en el documento.
El desafío: Se espera que las búsquedas de literatura modernas proporcionen respuestas instantáneas y recomendaciones inteligentes que se alineen con sus preferencias únicas. Los métodos de búsqueda tradicionales a menudo no logran proporcionar este nivel de personalización.
La solución: Nuestra aplicación de chat basada en conocimiento aborda este desafío de frente. Aprovecha una base de conocimiento enriquecida derivada de tu conjunto de datos de patentes para comprender la intención del cliente, responder de forma inteligente y ofrecer resultados muy pertinentes.
Qué compilarás
Como parte de este lab (Parte 2), harás lo siguiente:
- Compilar un agente de Vertex AI Agent Builder
- Integrar la herramienta de AlloyDB con el agente
Requisitos
2. Arquitectura
Flujo de datos: Analicemos con más detalle cómo se mueven los datos a través de nuestro sistema:
Transferencia:
Los datos de patentes se cargan en AlloyDB.
Motor de analíticas:
Usaremos AlloyDB como motor de analíticas para realizar lo siguiente:
- Extracción de contexto: El motor analiza los datos almacenados en AlloyDB para comprender el conjunto de datos de patentes.
- Creación de embeddings: Se generan embeddings (representaciones matemáticas de texto) para la consulta del usuario y la información almacenada en AlloyDB.
- Vector Search: El motor realiza una búsqueda de similitudes y compara el embedding de la consulta con los embeddings de los resúmenes de patentes. Esto identifica el "vecino más cercano" más pertinente al contexto que busca el usuario.
Generación de respuestas:
Las respuestas validadas se estructuran en un array JSON, y todo el motor se empaqueta en una función de Cloud Run sin servidores que se invoca desde Agent Builder.
Los pasos anteriores ya se abordaron en la parte 1 del lab.
Analizamos los detalles técnicos de la creación de un motor de analíticas basado en conocimiento que impulsa nuestro asistente inteligente de búsqueda de patentes. Ahora, exploremos cómo aprovechamos la magia de Agent Builder para darle vida a este motor en una interfaz conversacional. Asegúrate de tener lista la URL del extremo antes de comenzar la parte 2. Este es el siguiente paso que abordamos en este lab:
Interacción conversacional:
Agent Builder presenta las respuestas al usuario en un formato de lenguaje natural, lo que facilita un diálogo de ida y vuelta.
3. Antes de comenzar
Crea un proyecto
- En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.
- Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Obtén información para verificar si la facturación está habilitada en un proyecto .
- Usarás Cloud Shell, un entorno de línea de comandos que se ejecuta en Google Cloud y que viene precargado con bq. Haz clic en Activar Cloud Shell en la parte superior de la consola de Google Cloud.

- Una vez que te conectes a Cloud Shell, verifica que ya te autenticaste y que el proyecto esté configurado con el ID de tu proyecto con el siguiente comando:
gcloud auth list
- En Cloud Shell, ejecuta el siguiente comando para confirmar que el comando gcloud conoce tu proyecto.
gcloud config list project
- Si tu proyecto no está configurado, usa el siguiente comando para hacerlo:
gcloud config set project <YOUR_PROJECT_ID>
- Habilita las APIs necesarias. La alternativa al comando gcloud es a través de la consola buscando cada producto o usando este vínculo.
Si se omite alguna API, siempre puedes habilitarla durante el curso de la implementación.
Consulta la documentación para ver los comandos y el uso de gcloud.
Nota importante: Además, asegúrate de haber completado la PARTE 1 del lab para completar este.
4. Creación del agente
Presentación de Agent Builder
Agent Builder es una herramienta potente con poco código que nos permite crear agentes conversacionales de forma rápida y eficiente. Optimiza el proceso de diseño de flujos de diálogo, la integración de bases de conocimiento y la conexión a APIs externas. En nuestro caso, usaremos Agent Builder para conectarnos sin problemas con el extremo de Cloud Function que compilamos en la Parte 1, lo que permitirá que nuestro asistente de búsqueda de patentes acceda a nuestra base de conocimiento de patentes y responda a las consultas de los usuarios de forma inteligente.
Asegúrate de que la función de Java Cloud Run creada en la Parte 1 muestre un ARRAY JSON en lugar de texto sin formato.
Compila el agente
Comencemos a crear este nuevo agente para responder las preguntas de los usuarios sobre los productos de indumentaria.
- Para comenzar, accede a la plataforma de Agent Builder. Si te solicita que actives la API, haz clic en CONTINUAR Y ACTIVAR LA API.
- Haz clic en "CREAR APP" y asigna a tu agente un nombre descriptivo (p.ej., "Asistente de búsqueda de patentes").
- Haz clic en Tipo de app "Agente".

- . Asigna a tu agente un nombre descriptivo como "Asistente de búsqueda de patentes" y establece la región como us-central1
- Ingresa los detalles del agente:
- Cambia el nombre del agente a "Agente de búsqueda de patentes".
- Agrega el siguiente "Objetivo":
You are a professional intelligent patent search agent! Your job is to help the customer find patents matching the context of their search text.

- Guárdalo en este punto y deja las instrucciones en blanco por ahora.
- Luego, haz clic en Herramientas en el menú de navegación y, luego, en CREAR.

Ingresa el nombre de la herramienta: Herramienta de búsqueda de patentes
Tipo: OpenAPI
Ingresa la descripción de la herramienta:
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.
Ingresa el esquema: OpenAPI en formato YAML:
Esta es la parte en la que usamos el extremo de backend para potenciar el agente. Copia la siguiente especificación de OpenAPI y reemplaza el marcador de posición de la URL (entre corchetes angulares) por el extremo de Cloud Function:
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.
Deja las otras configuraciones con sus valores predeterminados y haz clic en "Guardar".
- Vuelve al agente en este punto porque queremos agregar la configuración de "Herramienta" a las "Instrucciones" del agente. Agrega lo siguiente al marcador de posición de las instrucciones (recuerda que las sangrías son importantes para definir el flujo):
- 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.
Asegúrate de que la herramienta "Herramienta de búsqueda de patentes" esté seleccionada en la sección "Herramientas disponibles" y, luego, vuelve a guardar el agente.
5. Prueba el agente
En el panel de la derecha, deberías ver la sección Vista previa del agente que te permite probar tu agente.
Como puedes ver en la siguiente captura de pantalla, saludé como usuario y comencé mi chat con una solicitud de "patente coincidente para cualquier idea de fitness tracker":

Esta es la respuesta JSON:

Este es el resultado JSON sin procesar de Cloud Function que procesa la búsqueda de similitudes de AlloyDB. Eso es todo. Ahora tenemos todo listo con el agente.
6. Implementación e integración
Una vez que estés satisfecho con tu agente, puedes implementarlo fácilmente en varios canales con las integraciones de Agent Builder. Puedes incorporarlo en tu sitio web, integrarlo con plataformas de mensajería populares o incluso crear una app para dispositivos móviles dedicada. También podemos usar la API de Agent Builder directamente en nuestras aplicaciones cliente web, que abordamos en esta entrada de blog.
7. Limpia
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta publicación:
- En la consola de Google Cloud, ve a Administrar
- recursos.
- En la lista de proyectos, elige el proyecto que deseas borrar y haz clic en Borrar.
- En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrarlo.
8. Felicitaciones
¡Felicitaciones! Al integrar la potencia de nuestro motor de analíticas personalizado con la interfaz intuitiva de Agent Builder, creamos un asistente inteligente de búsqueda de literatura que permite que las búsquedas de literatura sean accesibles, eficientes y realmente basadas en el significado. Al combinar las capacidades de AlloyDB, Vertex AI y Vector Search, dimos un gran paso para que las búsquedas contextuales y vectoriales sean accesibles, eficientes, realmente basadas en el significado y en el agente.