Criar um app universal de suporte ao funcionário sem código com a Vertex AI para Pesquisa

1. Introdução

Neste codelab, você vai criar um app universal de help desk para funcionários sem código usando a Vertex AI para Pesquisa.

Imagine que você trabalha na Cymbal, uma empresa global de varejo. Os funcionários costumam ter dúvidas como "Qual é a política para reservar viagens de negócios?" ou "Quantas unidades de tênis temos em estoque?".

Normalmente, é necessário fazer login em sistemas completamente diferentes para encontrar essas respostas. Além de lidar com sistemas diferentes, você também precisa ler um grande número de dados de RH não estruturados ou executar comandos SQL complexos em dados financeiros estruturados para obter respostas às suas perguntas.

Neste codelab, você vai criar um app único e unificado que se conecta a esses conjuntos de dados, permitindo que os funcionários recebam respostas conversacionais e fundamentadas às perguntas usando os recursos de geração aumentada por recuperação (RAG, na sigla em inglês) da Vertex AI.

Atividades deste laboratório

Neste codelab, você vai concluir as seguintes etapas:

  • Configurar fontes de dados. Crie um bucket do Cloud Storage para documentos de RH não estruturados e um conjunto de dados do BigQuery para dados financeiros estruturados.
  • Configurar repositórios de dados. Crie repositórios de dados da Vertex AI para Pesquisa conectados às fontes de dados do Cloud Storage e do BigQuery.
  • Conectar o app : crie um app da Vertex AI para Pesquisa e vincule os dois repositórios de dados a ele.
  • Testar o app : interaja com a interface de pesquisa unificada para verificar respostas fundamentadas que sintetizam informações de ambos os repositórios de dados.
  • Confira as próximas etapas. Analise as opções para ajustar o modelo de IA generativa e implantar o app de pesquisa.

Diagrama da arquitetura do app mostrando a Vertex AI para Pesquisa

O que é necessário

  • Um navegador da Web, como o Chrome.
  • Ter um projeto do Google Cloud com o faturamento ativado.
  • Git instalado na sua máquina local.

Este codelab é destinado a desenvolvedores de todos os níveis.

2. Antes de começar

Crie um projeto na nuvem do Google Cloud e ative as APIs necessárias.

  1. No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto na nuvem .
  2. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como verificar se o faturamento está ativado em um projeto.

Papéis do IAM obrigatórios

Este codelab pressupõe que você tenha o papel de Proprietário do projeto no seu projeto na nuvem do Google Cloud.

Ativar APIs

  1. No console do Google Cloud, clique em Ativar o Cloud Shell: se você nunca usou o Cloud Shell antes, um painel vai aparecer oferecendo a opção de iniciar o Cloud Shell em um ambiente confiável com ou sem um aumento. Se for preciso autorizar o Cloud Shell, clique em Autorizar.
  2. No Cloud Shell, ative todas as APIs necessárias:
    gcloud services enable \
      discoveryengine.googleapis.com \
      aiplatform.googleapis.com \
      bigquery.googleapis.com \
      storage.googleapis.com
    

3. Clonar um repositório do GitHub

Para mostrar como a pesquisa funciona no app de help desk para funcionários da Cymbal, você precisa de alguns arquivos de simulação. Nesta seção, você vai clonar um repositório do GitHub na sua máquina local para receber esses arquivos. Você vai fazer upload desses arquivos para o Google Cloud nas etapas posteriores usando a interface do console do Cloud.

  1. Em um terminal na sua máquina local, clone o repositório next-26-sessions:
    git clone https://github.com/GoogleCloudPlatform/next-26-sessions.git
    
  2. Navegue até o diretório do repositório transferido por download:
    cd next-26-sessions/BRK1-063-the-knowledge-source/cymbal-employee-helpdesk
    
  3. Explore os arquivos transferidos por download nesse diretório. Você vai notar que há duas pastas: HR e Finance.
    • HR. Essa pasta contém vários arquivos não estruturados, como arquivos .doc, .txt e .html. Você vai fazer upload dos arquivos de RH para um bucket do Cloud Storage.
    • Finance. Essa pasta contém dois arquivos .jsonl. Você vai fazer upload desses arquivos para um conjunto de dados do BigQuery.

4. Criar um bucket do Cloud Storage para arquivos não estruturados

Nesta seção, você vai criar um bucket do Cloud Storage e fazer upload dos documentos na pasta HR que você transferiu por download na seção Clonar um repositório do GitHub. Dados não estruturados, como os documentos de RH neste exemplo, não seguem um formato predefinido e podem incluir arquivos de texto, documentos ou conteúdo multimídia.

  1. No console do Cloud, acesse a página Buckets.
  2. Clique em Criar.
  3. Na página Criar um bucket, insira o nome de um bucket. O nome precisa ser globalmente exclusivo. Por exemplo, cymbal-app-hr-12.
  4. Mantenha as opções padrão.
  5. Clique em Criar.O bucket é criado e a página Detalhes do bucket é exibida. Se a página Detalhes do bucket não aparecer, clique no bucket que você acabou de criar.
  6. Na página Detalhes do bucket , clique em Fazer upload > Fazer upload da pasta e selecione a pasta HR que você transferiu por download na seção Clonar um repositório do GitHub.
  7. Confirme o upload.Criação de buckets
  8. Na página Detalhes do bucket, clique na pasta HR para conferir a lista de arquivos.Arquivos no bucket

5. Criar um conjunto de dados do BigQuery para arquivos estruturados

Nesta seção, você vai criar um conjunto de dados do BigQuery e carregar os documentos na pasta Finance que você transferiu por download na seção Clonar um repositório do GitHub em uma nova tabela. Dados estruturados, como os documentos financeiros neste exemplo, seguem um formato predefinido, como registros em um banco de dados.

  1. No console do Cloud, acesse a página do BigQuery.
  2. No painel Explorer, clique no nome do projeto e em Ver ações (os três pontos verticais) > Criar conjunto de dados.Criação de conjuntos de dados
  3. No painel Criar conjunto de dados, insira o ID do conjunto de dados como cymbal_finance.
  4. Em Local dos dados, selecione US (multiple regions in United States).
  5. Mantenha as opções padrão e clique em Criar conjunto de dados.
  6. No painel Explorer , expanda o projeto e clique no conjunto de dados cymbal_finance.
  7. No painel de detalhes do conjunto de dados, clique em Criar tabela.
  8. Na página Criar tabela, na seção Origem, faça o seguinte:
    1. Em Criar tabela de, selecione Fazer upload.
    2. Para Selecionar arquivo, clique em Procurar, navegue até a pasta Finance que você transferiu por download e selecione cymbal_employee_finance.jsonl.
    3. Em Formato do arquivo, selecione JSONL (JSON delimitado por nova linha).
  9. Na seção Destino, insira o nome da Tabela como employee_finance.
  10. Na seção Esquema, selecione a caixa de seleção Detecção automática.
  11. Mantenha as outras configurações padrão e clique em Criar tabela.
  12. Repita as etapas de 7 a 11 para carregar dados em uma nova tabela. Na etapa 8b, selecione product_inventory.jsonl e, na etapa 9, insira product_inventory como o nome da Tabela.Se as tabelas não aparecerem no painel de detalhes do conjunto de dados, clique em Atualizar.
  13. Se você criou o conjunto de dados e as duas tabelas, ele vai aparecer como na imagem a seguir:Conjunto de dados financeiros da Cymbal

6. Criar um app da Vertex AI para Pesquisa

  1. No console do Cloud, acesse a página da Vertex AI para Pesquisa.
  2. No bloco Pesquisa personalizada (geral), clique em Criar.
  3. Na página Configuração do app de pesquisa, verifique se as opções Recursos da edição Enterprise e Respostas generativas estão selecionadas.
  4. Nomeie o app cymbal-employee-portal.
  5. Insira o Nome da empresa como Cymbal Corp.
  6. Mantenha o Local do app como global.
  7. Clique em Continuar.

7. Criar e conectar repositórios de dados

Na página Repositórios de dados , crie repositórios de dados que serão conectados ao seu app. É necessário criar três repositórios de dados: um para dados de RH não estruturados e dois para dados financeiros estruturados.

Criar um repositório de dados para dados não estruturados

  1. Na página Repositórios de dados, clique em Criar repositório de dados.
  2. Em Selecionar uma fonte de dados, selecione Cloud Storage.
  3. No painel Importar dados do Cloud Storage , acesse Importação de dados não estruturados (pesquisa de documentos e RAG) e selecione Documentos.
  4. Mantenha a opção Frequência de sincronização como Uma vez.
  5. Em Selecionar uma pasta ou um arquivo para importar, clique em Pasta.
  6. No campo gs://..., insira o nome do bucket que você criou na seção Criar um bucket do Cloud Storage para arquivos não estruturados. Por exemplo, se o nome do bucket for cymbal-app-hr-12, insira o nome como cymbal-app-hr-12/HR.A ingestão da pasta HR garante que apenas os documentos de RH sejam incluídos nesse repositório de dados.
  7. Clique em Continuar.
  8. Insira o nome do repositório de dados como cymbal-hr.
  9. Clique em Continuar.
  10. Mantenha a opção de Preços gerais.
  11. Clique em Criar.

Depois de clicar em Criar, você vai voltar para a página Repositórios de dados.

Criar repositórios de dados para dados estruturados

Você vai criar dois repositórios de dados para dados estruturados do BigQuery: um para informações financeiras dos funcionários e outro para o inventário de produtos.

Criar um repositório de dados para dados financeiros dos funcionários

  1. Na página Repositórios de dados, clique em Criar repositório de dados novamente.
  2. Em Selecionar uma fonte de dados, selecione BigQuery.
  3. Em Importação de dados estruturados, selecione Tabela do BigQuery com seu próprio esquema.
  4. Mantenha a opção Frequência de sincronização como Uma vez.
  5. Em Selecionar uma tabela para importar, clique em Procurar. Na caixa de diálogo Selecionar caminho que é aberta, selecione a tabela employee_finance do conjunto de dados cymbal_finance no seu projeto. É possível que tabelas com nomes semelhantes de outros projetos apareçam. Por isso, selecione a tabela do seu projeto.
  6. Clique em Continuar.
  7. Analise a página Analisar esquema e atribuir propriedades principais.
  8. Clique em Continuar.
  9. Insira o nome do repositório de dados como cymbal-finance.
  10. Clique em Continuar.
  11. Mantenha a opção de Preços gerais.
  12. Clique em Criar.

Depois de clicar em Criar, você vai voltar para a página Repositórios de dados.

Criar um repositório de dados para dados de inventário de produtos

  1. Na página Repositórios de dados, clique em Criar repositório de dados novamente.
  2. Em Selecionar uma fonte de dados, selecione BigQuery.
  3. Em Importação de dados estruturados, selecione Tabela do BigQuery com seu próprio esquema.
  4. Mantenha a opção Frequência de sincronização como Uma vez.
  5. Em Selecionar uma tabela para importar, clique em Procurar. Na caixa de diálogo Selecionar caminho que é aberta, selecione a tabela product_inventory do conjunto de dados cymbal_finance no seu projeto.
  6. Clique em Continuar.
  7. Analise a página Analisar esquema e atribuir propriedades principais.
  8. Clique em Continuar.
  9. Insira o nome do repositório de dados como cymbal-inventory.
  10. Clique em Continuar.
  11. Mantenha a opção de Preços gerais.
  12. Clique em Criar.

Depois de clicar em Criar, você vai voltar para a página Repositórios de dados.

8. Conectar repositórios de dados ao seu app

Agora você vai encontrar três repositórios de dados na lista da página Repositórios de dados: cymbal-hr (não estruturado), cymbal-finance (estruturado) e cymbal-inventory (estruturado). Para conectar esses repositórios de dados ao seu app, siga estas etapas:

  1. Na página Repositórios de dados , selecione os três repositórios de dados que você acabou de criar: cymbal-hr, cymbal-finance e cymbal-inventory. Selecione todos os três repositórios de dados antes de continuar.
  2. Clique em Continuar.
  3. Mantenha a opção de Preços gerais.
  4. Clique em Criar.

9. Testar o app do portal de funcionários da Cymbal

  1. No app cymbal-employee-portal, clique em Visualizar.
  2. Na caixa Pesquisar aqui, insira a seguinte pergunta:
    What are the stipends that I get as an employee of Cymbal located in London?
    
  3. Insira uma pergunta relacionada ao inventário de produtos:
    How many units of sneakers do we have in stock?
    
  4. Insira outra pergunta:
    What is the stipend for an executive in Cymbal?
    

Observe como o app de pesquisa recuperou informações de várias fontes para formular a resposta. Para responder a essas perguntas, o app pesquisou os dados financeiros estruturados armazenados no BigQuery e os documentos de RH não estruturados no Cloud Storage.

Isso demonstra o poder da Vertex AI para Pesquisa de sintetizar respostas em vários formatos de dados e repositórios de dados diferentes em uma única experiência coesa.

Você também pode ajustar o modelo de IA para fornecer respostas ainda mais precisas e específicas do domínio. Para mais informações sobre como personalizar a experiência generativa, consulte a documentação Receber respostas e acompanhamentos.

10. Opções para implantar seu app

Embora a implantação do aplicativo para usuários finais esteja fora do escopo deste codelab, é útil saber como isso se traduz em um cenário real. Você tem várias opções para integrar o app da Vertex AI para Pesquisa aos fluxos de trabalho da sua organização:

  • Widget da Web pré-criado. É possível incorporar uma interface de pesquisa ou chat pronta para uso diretamente na intranet ou nas páginas da Web da sua empresa usando uma tag script HTML. Essa é a maneira mais rápida de disponibilizar seu app para os usuários.
  • Integração de API personalizada. Para ter controle total sobre a experiência do usuário, use as APIs REST da Vertex AI para Pesquisa ou bibliotecas de cliente (como Python, Node.js ou Java) para criar um front-end personalizado do zero.

11. Limpar

Para evitar cobranças contínuas na sua conta do Google Cloud, exclua os recursos criados durante este codelab:

  1. No console do Cloud, acesse a página da Vertex AI para Pesquisa.
  2. Clique em Acessar apps atuais.
  3. No app cymbal-employee-portal, clique nos três pontos verticais em Mais e em Excluir.
  4. Siga as instruções na tela para confirmar a exclusão.
  5. Para excluir os repositórios de dados, clique em Repositórios de dados no painel de navegação à esquerda do console.
  6. Exclua os repositórios de dados cymbal-hr, cymbal-finance e cymbal-inventory:
    1. No repositório de dados cymbal-hr, clique nos três pontos verticais em Mais e em Excluir.
    2. Siga as instruções na tela para confirmar a exclusão.
    3. No repositório de dados cymbal-finance, clique nos três pontos verticais em Mais e em Excluir.
    4. Siga as instruções na tela para confirmar a exclusão.
    5. No repositório de dados cymbal-inventory, clique nos três pontos verticais em Mais e em Excluir.
    6. Siga as instruções na tela para confirmar a exclusão.
  7. Acesse a página Buckets e exclua o bucket que você criou (por exemplo, cymbal-app-hr-12).
  8. Acesse a página do BigQuery e exclua o conjunto de dados cymbal_finance.

12. Parabéns

Missão concluída! Você criou uma experiência de pesquisa empresarial unificada usando a Vertex AI para Pesquisa.

Ao preencher a lacuna entre os dados empresariais não estruturados no Cloud Storage e os registros estruturados do BigQuery, você criou uma ferramenta poderosa capaz de raciocínio empresarial complexo, tudo sem escrever uma única linha de código de aprendizado de máquina.

O que você aprendeu

  • Ingestão:como ingerir documentos não estruturados do Cloud Storage e dados estruturados do BigQuery na Vertex AI para Pesquisa.
  • Consulta de vários repositórios de dados. Como consultar um app de pesquisa de vários repositórios de dados para sintetizar respostas unificadas de dados estruturados e não estruturados.
  • Ajuste e personalização. Como ajustar os modelos de IA generativa para fornecer respostas mais precisas e específicas do domínio.
  • Opções de implantação. As várias maneiras de integrar esse recurso de raciocínio em aplicativos do mundo real usando widgets pré-criados ou APIs personalizadas.

Documentos de referência