EvaGPT
  • Introdução
    • Modelos
    • Consumo
    • Agentes
      • Criar Agente
        • Comportamento
      • Lista de Agentes
    • Conhecimento
      • Criar Conhecimento
      • Lista de Conhecimento - Datasets
    • Competências
      • Criar Competência
      • Listas de Competências - Skillsets
      • Exemplos
        • JSONPlaceholder
    • Curadoria
      • Lista de Conversas
      • Lista de Feedback
  • Privacidade
  • Integrações
    • Integração por Sitemap
    • Integração com o Microsoft Teams
    • Whatsapp
      • Integração com WhatsApp utilizando a Twillio
        • Requisitos para criação de conta no Twilio
        • Criando conta no Twilio
        • Comprando Número
        • Regulatory Compliance
        • Redirecionamento de chamada
        • Code Exchange - Códigos
        • Configurando o Twilio
        • Configurando o EVAGPT
      • Integração com WhatsApp utilizando a Vonage
  • Tutoriais
    • Como criar um Agente
    • Como criar um usuário
    • Como criar uma Lista de Conhecimentos
    • Como criar uma Lista de Competências
    • Como criar um agente que faz chamadas a APIs
    • Como conversar com seus documentos
    • Como conversar com os dados do seu site
    • Filtragem de retorno de API com JSONPath e JMESPath
    • Receitas
      • Criando um agente de SAC
      • Criando um agente que renderiza imagens
      • Criando um agente para o seu site
      • Criando um agente que recomenda produtos
      • Criando um agente de assistência técnica
  • Suporte - Abertura de Chamados
  • Documentação da API
  • Política de Privacidade
Powered by GitBook
On this page
  • O que são JSONPath e JMESPath?
  • Utilizando JSONPath
  • Utilizando JMESPath
  • Por que utilizar JSONPath e JMESPath?
  • Conclusão
  1. Tutoriais

Filtragem de retorno de API com JSONPath e JMESPath

PreviousComo conversar com os dados do seu siteNextReceitas

Last updated 4 months ago

O que são JSONPath e JMESPath?

JSONPath e JMESPath são linguagens de consulta usadas para extrair dados de estruturas JSON. JSONPath é inspirada em XPath (para XML) e permite navegar e selecionar elementos JSON com uma sintaxe similar, usando expressões para acessar e filtrar dados. JMESPath, por outro lado, oferece uma sintaxe própria, mais funcional, que permite a transformação e filtragem de dados JSON de forma declarativa, facilitando a manipulação de dados complexos com expressões compactas e eficientes.

Utilizando JSONPath

Para utilizar o JSONPath dentro da habilidade no EvaGPT, é preciso passar a flag “jsonpath” junto com a instrução fetch, como demonstrado abaixo:

O que é passado é, de fato, o termo de consulta que filtrará ou extrairá os itens desejados. Nesse caso, ele seleciona todas as cidades listadas na propriedade “endereço” de cada objeto desse JSON.

Utilizando JMESPath

O uso da flag “jmespath” ocorre da mesma maneira que a de “jsonpath”, porém a grande diferença é o universo expandido de possibilidades que o JMESPath torna palpável em relação ao JSONPath, que é uma linguagem de consulta mais simples. Seu uso é como demonstrado abaixo:

No caso acima, JMESPath vai filtrar os objetos verificando qual tem surfe como hobby e trará apenas as informações nome, idade e endereço completo dos usuários que passarem pela filtragem.

Por que utilizar JSONPath e JMESPath?

Dependendo do modelo de linguagem que você utiliza, ele pode ter uma janela de contexto menor. Por exemplo, o INTELLI-3.5-Turbo tem uma janela de contexto de 4000 tokens. É uma janela muito pequena de contexto se levarmos em consideração que a maioria das APIs procura trazer resultados muito detalhados e com riqueza de informações. Filtrando os resultados, podemos prevenir que haja um estouro da janela de contexto do modelo de linguagem.

As duas funcionalidades também beneficiam chamadas a modelos de linguagem com grande capacidade de tokens, já que são menos dados que influenciarão a geração da resposta final. De forma complementar, ressalta-se que quanto menos tokens gastos por chamada, menos créditos são gastos no plano mensal, permitindo, assim, que mais interações mensais ocorram.

Conclusão

As funcionalidades de JSONPath e JMESPath são extremamente úteis para filtragem e encurtamento de respostas extensas de APIs, o que garante melhores respostas e com custos mais baixos ao fazer suas requisições.

Ambas as linguagens estão extensamente documentadas online. Recomendamos os seguintes sites para avaliar seus termos de pesquisa:

- JSONPath:

- JMESPath:

JSONPath Online Evaluator
JMESPath Playground