Criar um assistente de pesquisa de patentes com o AlloyDB e a Vertex AI Agent Builder – Parte 2

1. Visão geral

A pesquisa de patentes é vasta e complexa. Examinar inúmeros resumos técnicos para encontrar inovações relevantes é uma tarefa assustadora. As pesquisas tradicionais baseadas em palavras-chave geralmente são imprecisas e demoradas. Resumos são longos e técnicos, o que dificulta a compreensão rápida da ideia central. Isso pode fazer com que os pesquisadores percam patentes importantes ou percam tempo em resultados irrelevantes.

O tempero secreto por trás dessa revolução está na pesquisa de vetor. Em vez de depender de uma simples correspondência de palavra-chave, a pesquisa vetorial transforma texto em representações numéricas (embeddings). Isso nos permite pesquisar com base no significado da consulta, não apenas nas palavras específicas usadas. No mundo das pesquisas de literatura, isso é uma mudança de jogo. Imagine encontrar a patente de um "monitor de frequência cardíaca wearable" mesmo que a frase exata não seja usada no documento.

O desafio:espera-se que as pesquisas de literatura moderna forneçam respostas instantâneas e recomendações inteligentes alinhadas às próprias preferências. Os métodos de pesquisa tradicionais geralmente não oferecem esse nível de personalização.

A solução: nosso aplicativo de chat orientado por conhecimento enfrenta esse desafio de frente. Ele usa uma base de conhecimento rica derivada do seu conjunto de dados de patentes para entender a intenção do cliente, responder de forma inteligente e fornecer resultados hiperrelevantes.

O que você vai criar

Como parte deste laboratório (Parte 2), você vai:

  1. Criar um agente do Vertex AI Agent Builder
  2. Integrar a ferramenta AlloyDB ao agente

Requisitos

  • Use um navegador, como o Chrome ou o Firefox.
  • Ter um projeto do Google Cloud com o faturamento ativado.

2. Arquitetura

Fluxo de dados: vamos analisar como os dados são processados no sistema:

Ingestão:

Os dados de patentes são carregados no AlloyDB.

Mecanismo do Google Analytics:

Usaremos o AlloyDB como mecanismo de análise para realizar o seguinte:

  1. Extração de contexto: o mecanismo analisa os dados armazenados no AlloyDB para entender o conjunto de dados de patentes.
  2. Criação de embedding: embeddings (representações matemáticas de texto) são gerados para a consulta do usuário e as informações armazenadas no AlloyDB.
  3. Pesquisa de vetor: o mecanismo realiza uma pesquisa de similaridade, comparando o embedding de consultas aos embeddings de resumos de patentes. Isso identifica o "vizinho mais próximo" mais relevante para o contexto que o usuário está procurando.

Geração de respostas:

As respostas validadas são estruturadas em uma matriz JSON, e todo o mecanismo é empacotado em uma função do Cloud Run sem servidor que é invocada pelo Criador de agentes.

As etapas acima já foram abordadas na parte 1 do laboratório.

Discutimos os detalhes técnicos da criação de um mecanismo de análise orientado por conhecimento que alimenta nosso assistente inteligente de pesquisa de patentes. Agora vamos explorar como aproveitamos a magia do Agente Builder para dar vida a esse mecanismo em uma interface de conversa. Tenha o URL do endpoint pronto antes de iniciar a Parte 2. Esta é a próxima etapa que abordamos neste laboratório:

Interação por conversa:

O Agent Builder apresenta as respostas ao usuário em um formato de linguagem natural, facilitando o diálogo.

3. Antes de começar

Criar um projeto

  1. No console do Google Cloud, na página de seletor de projetos, selecione ou crie um projeto do Google Cloud.
  2. Verifique se o faturamento está ativado para seu projeto do Cloud. Saiba como verificar se o faturamento está ativado em um projeto.
  3. Você vai usar o Cloud Shell, um ambiente de linha de comando executado no Google Cloud que vem pré-carregado com bq. Clique em "Ativar o Cloud Shell" na parte de cima do console do Google Cloud.

Imagem do botão "Ativar o Cloud Shell"

  1. Depois de se conectar ao Cloud Shell, verifique se você já está autenticado e se o projeto está definido como seu ID usando o seguinte comando:
gcloud auth list
  1. Execute o comando a seguir no Cloud Shell para confirmar que o comando gcloud conhece seu projeto.
gcloud config list project
  1. Se o projeto não estiver definido, use este comando:
gcloud config set project <YOUR_PROJECT_ID>
  1. Ative as APIs necessárias. A alternativa ao comando gcloud é usar o console, pesquisando cada produto ou usando este link.

Se alguma API for perdida, você poderá ativá-la durante a implementação.

Consulte a documentação para ver o uso e os comandos gcloud.

Observação importante: você precisa ter concluído a PARTE 1 do laboratório para concluir esta etapa.

4. Criação de agente

Introdução ao Agent Builder

O Agent Builder é uma ferramenta potente e com pouco código que nos permite criar agentes de conversação de maneira rápida e eficiente. Ele simplifica o processo de criação de fluxos de diálogo, integração de bases de conhecimento e conexão com APIs externas. No nosso caso, vamos usar o Agent Builder para uma conexão perfeita com o endpoint da função do Cloud que criamos na Parte 1, permitindo que nosso assistente de pesquisa de patentes acesse nossa base de conhecimento de patentes e responda às consultas dos usuários de maneira inteligente.

Verifique se a função Java do Cloud Run criada na Parte 1 retorna uma MATRIX JSON em vez de texto simples.

Como criar o agente

Vamos começar criando esse novo agente para responder às perguntas dos usuários sobre produtos de vestuário.

  1. Comece fazendo login na plataforma do Agente Builder. Se aparecer a mensagem para ativar a API, clique em "CONTINUAR E ATIVAR A API".
  2. Clique em "CREATE APP" e dê um nome descritivo ao seu agente (por exemplo, "Patent Search Assistant").
  3. Clique em "Agente" no campo "Tipo de app".

462bb48664e9a14e.png

  1. Dê um nome descritivo ao seu agente, como Assistente de pesquisa de patentes, e defina a região como us-central1.
  2. Digite os detalhes do agente:
  3. Altere o nome do agente para Agente de pesquisa de patentes.
  4. Adicione a "Meta" abaixo:
You are a professional intelligent patent search agent! Your job is to help the customer find patents matching the context of their search text.

38f7d77d5ed0cb2a.png

  1. Salve e deixe as instruções em branco por enquanto.
  2. Em seguida, clique em Ferramentas no menu de navegação e clique em CRIAR.

38f7d77d5ed0cb2a.png

Enter Tool Name: ferramenta de pesquisa de patentes

Tipo: OpenAPI

Inserir a descrição da ferramenta:

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.

Inserir esquema: OpenAPI no formato YAML

Essa é a parte em que usamos o endpoint de back-end para capacitar o agente. Copie a especificação OpenAPI abaixo e substitua o marcador de posição do URL (entre colchetes) pelo endpoint da Função do Cloud:

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.

Deixe as outras configurações com os valores padrão e clique em "Salvar".

  1. Volte ao agente neste ponto porque queremos adicionar a configuração "Ferramenta" às "Instruções" do agente. Adicione o texto abaixo ao marcador de posição de instruções. Lembre-se de que os recuos são importantes para definir o fluxo:
- 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.

Verifique se a ferramenta "Ferramenta de pesquisa de patentes" está selecionada em "Ferramentas disponíveis" e salve o agente novamente.

5. Testar o agente

No painel à direita, você vai encontrar a seção "Agente de visualização", que permite testar o agente.

Como pode ver na captura de tela abaixo, saudei um usuário e iniciei meu bate-papo com uma solicitação para "Patente correspondente para qualquer ideia de rastreador de condicionamento físico":

e4ffaa48b5c1f012.png

Esta é a resposta JSON:

b0ee0af57ba63943.png

Este é o resultado JSON bruto da função do Cloud que processa a pesquisa de similaridade do AlloyDB. Pronto! Tudo está pronto com o agente agora.

6. Implantação e integração

Quando estiver satisfeito com o agente, implante-o facilmente em vários canais usando as integrações do Criador de agentes. É possível incorporá-lo ao seu site, integrá-lo a plataformas de mensagens conhecidas ou até criar um app para dispositivos móveis dedicado. Também é possível usar a API Agent Builder diretamente nos nossos aplicativos cliente da Web, como explicamos neste blog.

7. Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta postagem, siga estas etapas:

  1. No console do Google Cloud, acesse Gerenciar.
  2. página resources.
  3. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir.
  4. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.

8. Parabéns

Parabéns! Ao integrar o poder de nosso mecanismo analítico personalizado com a interface intuitiva do Agent Builder, criamos um assistente de pesquisa de literatura inteligente para frente, tornando as pesquisas de literatura acessíveis, eficientes e realmente orientadas por significado. Ao combinar os recursos do AlloyDB, da Vertex AI e da Pesquisa de vetor, demos um grande salto em direção a pesquisas contextuais e vetoriais acessíveis, eficientes, realmente orientadas a significados e agentes.