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. Analisar inúmeros resumos técnicos para encontrar inovações relevantes é uma tarefa difícil. As pesquisas tradicionais baseadas em palavras-chave costumam ser imprecisas e demoradas. Os resumos são longos e técnicos, o que dificulta a compreensão rápida da ideia principal. Isso pode fazer com que os pesquisadores percam patentes importantes ou percam tempo com resultados irrelevantes.

O tempero secreto por trás dessa revolução é a pesquisa vetorial. Em vez de usar a correspondência de palavra-chave simples, a pesquisa vetorial transforma o texto em representações numéricas (embeddings). Isso permite pesquisar com base no significado da consulta, não apenas nas palavras específicas usadas. No mundo das pesquisas bibliográficas, isso é revolucionário. Imagine encontrar uma patente para um "monitor de frequência cardíaca vestível" 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 que se alinhem às preferências exclusivas dos usuários. Os métodos tradicionais de pesquisa geralmente não oferecem esse nível de personalização.

A solução:nosso aplicativo de chat baseado em conhecimento enfrenta esse desafio de frente. Ele usa uma base de conhecimento avançada derivada do seu conjunto de dados de patentes para entender a intenção do cliente, responder de forma inteligente e oferecer resultados hiper-relevantes.

O que você vai criar

Neste laboratório (Parte 2), você vai:

  1. Criar um agente de criação do Vertex AI Agent Builder
  2. Integrar a ferramenta do 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 mais de perto como os dados se movem pelo nosso sistema:

Ingestão:

Os dados de patentes são carregados no AlloyDB.

Analytics Engine:

Vamos usar 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 embeddings: embeddings (representações matemáticas de texto) são gerados para a consulta do usuário e para as informações armazenadas no AlloyDB.
  3. Pesquisa vetorial: o mecanismo realiza uma pesquisa de similaridade, comparando o embedding da consulta com os embeddings dos resumos de patentes. Isso identifica o "vizinho mais próximo" mais relevante para o contexto que o usuário está pesquisando.

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 invocada pelo Agent Builder.

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 de pesquisa de patentes inteligente. Agora, vamos entender como aproveitar a magia do Agent Builder para dar vida a esse mecanismo em uma interface de conversa. Tenha o URL do endpoint pronto antes de começar a parte 2. Esta é a próxima etapa que abordaremos neste laboratório:

Interação por conversa:

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

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 sua conta já está autenticada e se o projeto está configurado com o ID do seu projeto usando o seguinte comando:
gcloud auth list
  1. Execute o comando a seguir no Cloud Shell para confirmar se o comando gcloud sabe sobre 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. Ativar as APIs necessárias A alternativa ao comando gcloud é usar o console. Para isso, pesquise cada produto ou use este link.

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

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

Observação importante:além disso, confira se você concluiu a PARTE 1 do laboratório para concluir esta etapa.

4. Criação de agente

Conheça o Agent Builder

O Agent Builder é uma ferramenta eficiente com pouco código que permite criar agentes de conversação com rapidez e eficiência. Ele simplifica o processo de design 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 nos conectar facilmente ao endpoint da função do Cloud que criamos na Parte 1. Assim, nosso assistente de pesquisa de patentes poderá acessar nossa base de conhecimento de patentes e responder às consultas dos usuários de maneira inteligente.

Verifique se a função do Cloud Run em Java criada na Parte 1 retorna uma ARRAY 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 os produtos de vestuário.

  1. Comece fazendo login na plataforma do Agent Builder. Se for necessário ativar a API, clique em CONTINUAR E ATIVAR A API.
  2. Clique em "CRIAR APP" e dê um nome descritivo ao agente (por exemplo, "Assistente de pesquisa de patentes").
  3. Clique em "Tipo de app" "Agente".

462bb48664e9a14e.png

  1. . Dê um nome descritivo ao agente, como "Assistente de pesquisa de patentes", e defina a região como us-central1.
  2. Insira os detalhes do agente:
  3. Mude o nome do agente para Agente de pesquisa de patentes.
  4. Adicione o "Objetivo" 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 em "CRIAR".

38f7d77d5ed0cb2a.png

Insira o nome da ferramenta:ferramenta de pesquisa de patentes

Tipo:OpenAPI

Enter Tool Description:

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:

É aqui que usamos o endpoint de back-end para alimentar o agente. Copie a especificação OpenAPI abaixo e substitua o marcador de posição do URL (entre colchetes angulares) 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 nos valores padrão e clique em "Salvar".

  1. Volte ao agente neste momento porque queremos adicionar a configuração "Ferramenta" às "Instruções" dele. 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 "Pesquisa de patentes" está selecionada na seção "Ferramentas disponíveis" e salve o agente novamente.

5. Testar o agente

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

Como você pode ver na captura de tela abaixo, eu me apresentei como usuário e iniciei minha conversa com um pedido de "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! Agora está tudo pronto com o agente.

6. Implantação e integração

Quando estiver satisfeito com o agente, você poderá implantá-lo facilmente em vários canais usando as integrações do Agent Builder. É possível incorporar o widget no seu site, integrar com plataformas de mensagens conhecidas ou até mesmo criar um app para dispositivos móveis dedicado. Também podemos usar a API Agent Builder diretamente nos aplicativos cliente da Web, conforme abordado 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 recursos.
  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 a potência do nosso mecanismo de análise personalizado com a interface intuitiva do Agent Builder, criamos um assistente de pesquisa inteligente de literatura que torna essa tarefa acessível, eficiente e realmente orientada por significado. Ao combinar os recursos do AlloyDB, da Vertex AI e da Pesquisa Vetorial, demos um grande passo para tornar as pesquisas contextuais e vetoriais acessíveis, eficientes, realmente orientadas por significado e com capacidade de ação.