CSV AI Agent | Análise de dados de planilhas CSV

Por Ingrid Andrade

Neste tutorial, vamos mostrar como desenvolver um CSV AI Agent no Langflow. Esse agente permite interagir e extrair dados de arquivos CSV de forma automatizada, ideal para quem trabalha com dados estruturados.

Para baixar o boilerplate utilizado neste tutorial. Faça o download abaixo:

Baixar o arquivo JSON

Antes de começarmos, vamos entender o básico. Arquivos CSV são exemplos de dados estruturados — eles seguem um formato organizado e pré-definido com linhas e colunas, onde cada coluna representa um tipo específico de informação (como “nome”, “data”, “valor”) e cada linha corresponde a um registro completo. Outros exemplos de dados estruturados incluem tabelas SQL e formulários.

Por outro lado, dados não estruturados são informações que não têm uma organização fixa, como textos livres, imagens, vídeos e conversas. Curiosamente, os modelos de IA foram treinados em grande parte com dados não estruturados, como textos livres, conversas e documentos variados. Isso os torna extremamente bons em reproduzir a linguagem humana de forma natural, pois a fala e a escrita livre não seguem uma estrutura rígida.

No entanto, quando queremos delegar à IA o trabalho de lidar com dados estruturados, como planilhas CSV, esses modelos precisam de uma ajuda para acessar e interpretar essas informações corretamente.

O Langflow oferece justamente essa ajuda com um componente específico que cria uma ponte entre a IA e os dados organizados, transformando o CSV em um formato manipulável para consultas, chamado DataFrame. Mas não precisamos nos aprofundar nisso agora. Abra o seu LangFlow, crie um novo projeto, e vamos configurar o CSV Agent na prática!

Mão na massa

Neste tutorial, vamos criar um CSV Agent para analisar dados fictícios de vendas de um e-commerce no Brasil.

Para configurar o agente, usaremos os seguintes componentes:

Chat Input: Recebe as perguntas do usuário, como “Qual é o ticket médio por cliente?”.

Prompt: Define o contexto do agente, configurando-o como um “analista de dados de vendas” para aprimorar a precisão das respostas.

CSV Agent: Lê e processa o arquivo CSV com os dados de vendas fictícios, extraindo as informações relevantes.

OpenAI: Utiliza o modelo de linguagem (como GPT-4) para interpretar e responder às perguntas do usuário.

Chat Output: Exibe a resposta gerada para o usuário.

Agora, vamos começar a construir o fluxo e configurar cada um desses componentes!

1. Começando pelo Chat Input

Primeiro, adicione o Chat Input ao fluxo. Ele é o ponto de entrada onde o usuário insere perguntas para o agente responder, como “Qual é o ticket médio de vendas?” ou “Quantos pedidos foram feitos no último mês?”.

Para adicionar:

A. No menu lateral do Langflow, vá até Inputs.

B. Arraste o Chat Input para a área de trabalho.

Esse componente captará as perguntas e as enviará para os próximos passos do fluxo.

2. Adicionando o componente Prompt para instruções

Agora, vamos configurar o Prompt. Esse componente é essencial para definir o contexto e passar instruções detalhadas, ajudando o agente a entender e interpretar corretamente as perguntas feitas pelo usuário.

Com o Prompt, podemos instruir o agente sobre seu “papel” (neste caso, como um “analista de dados de vendas”) e orientar como ele deve responder, garantindo que as respostas sejam relevantes e consistentes com a função que desejamos.

Para configurar o Prompt:

A. Arraste o componente: No menu lateral do Langflow, localize o Prompt e arraste-o para a tela.

B. Defina o papel do agente: Clique no campo “Template” para adicionar o texto de instruções. Escreva um texto que oriente o agente como atuar e interpretar as informações do CSV.

No nosso caso, o Template do Prompt ficará assim:

Você é uma analista de dados de vendas experiente, focada em entender métricas e tendências de um e-commerce. Sua tarefa é analisar uma base de dados de vendas no Brasil, com informações detalhadas de pedidos, incluindo valores, clientes, produtos e regiões de entrega. Use a estrutura dos dados para responder à pergunta do usuário de forma precisa e objetiva. Sempre informe o dado e o raciocínio usados para gerar a resposta.

Exemplo:
Pergunta: Qual foi o preço médio de vendas do meu e-commerce?
Resposta: O preço médio de vendas foi R$ 3244,91. Calculei essa média usando a coluna ‘Preço Final’, que reflete o valor pago pelos clientes após descontos.

Pergunta do usuário: {Input}

Resposta:

A variável {Input} é uma referência especial usada no Prompt para capturar a pergunta do usuário. Quando incluímos {Input} no texto do Prompt, estamos dizendo ao agente que essa parte do texto será automaticamente substituída pela pergunta que o usuário digitou no momento da execução. Assim, o agente de IA saberá exatamente a qual pergunta está respondendo.

Após isso, ligue a saída “Message” do componente ChatInput na entrada Input do Prompt. Assim, a variável passa receber as mensagens recebidas no playground.

3. Adicionando o componente central do fluxo, o CSV Agent

Agora, vamos adicionar o componente central do fluxo, o CSV Agent, responsável por acessar e processar o arquivo CSV com os dados de vendas. Esse componente permite que o agente realize buscas e consultas diretamente nos dados estruturados do arquivo CSV.

No menu lateral, localize o CSV Agent na seção “Agents” e arraste-o para a tela.

Esse componente precisa de três entradas:

Text: Recebe a consulta formatada no Prompt, que define a pergunta do usuário.

Language Model: O modelo de linguagem que processará a consulta e fornecerá a resposta.

File Path: O caminho para o arquivo CSV. Faça o upload do arquivo “Dados de vendas fictícios – Pedidos.csv”, que contém os dados a serem analisados.

4. Definindo o modelo de linguagem:

Para que o CSV Agent funcione, ele precisa de um modelo de linguagem que interprete as consultas do usuário e gere respostas com base nos dados. Neste tutorial, utilizaremos o componente OpenAI.

Arraste o componente OpenAI Model (ou outro modelo de sua preferência) para a tela. Esse modelo processará as perguntas e interpretará o contexto para dar uma resposta.

Conecte a saída Language Model do OpenAI ao campo Language Model do CSV Agent.

Após essas conexões, o CSV Agent estará configurado para interpretar perguntas e buscar respostas no arquivo CSV.

4. Enviando as mensagens e prompt para o CSV Agent

Agora vamos conectar a saída do Prompt ao campo Text do CSV Agent. Essa conexão permite que a pergunta do usuário, formatada e contextualizada pelo Prompt, seja encaminhada ao CSV Agent, que então usará essa instrução para consultar os dados no CSV.

5. Exibindo a Resposta com Chat Output

Para exibir a resposta gerada pelo agente ao usuário, conectaremos a saída Text do CSV Agent ao Chat Output. Esse componente finaliza o fluxo ao mostrar a resposta no playground.

Arraste o componente Chat Output para a tela e conecte a saída do CSV Agent a ele.

O Chat Output captura a resposta do agente e a exibe ao usuário, fechando o ciclo de consulta.

Agora, o fluxo está completo. É hora de testar!

6. Quase pronto, agora adicione o CSV a ser analisado.

Na área de filepatch do componente CSV Agent, adicione o arquivo csv que você quer usar para analisar. No nosso caso, utilizaremos uma plnailha ficticia de dados de um ecommerce. Caso você queira utilizar os mesmos dados de exemplo, baixe aqui:

6. Vamos testar?

Para verificar a capacidade do agente de realizar consultas no arquivo CSV, executei algumas perguntas típicas de análise de vendas, e aqui estão os resultados obtidos.

Pergunta 1: “Quais foram os 5 produtos mais vendidos no meu e-commerce?”

Pergunta 2: “Resuma o desempenho de vendas por trimestre”

Resposta da IA:

Conclusões:

O agente demonstrou a capacidade de:

Interpretar a estrutura do arquivo CSV, entendendo a relação entre colunas e linhas para gerar consultas adequadas.

Filtrar e agrupar dados conforme as perguntas do usuário, como no caso do agrupamento por trimestre.

Realizar cálculos matemáticos automaticamente, identificando quando a pergunta exige operações, como somas ou médias, e fornecendo resumos claros.

Além disso, o agente foi capaz de explicar o raciocínio utilizado para gerar as respostas. Em todas as perguntas, foram feitas checagens manuais na planilha para confirmar a precisão das respostas, e em todos os testes as respostas estavam corretas.

Parabéns por ter chegado até aqui! Agora que o agente está funcionando, há várias possibilidades para expandir suas capacidades e torná-lo ainda mais útil.

Dá uma olhada em algumas opções:

A. O prompt pode ser ajustado para solicitar que o agente forneça não apenas respostas diretas, mas também insights e sugestões sobre como melhorar as vendas.

B. Outra possibilidade é expandir o agente para gerar gráficos a partir dos dados analisados, como gráficos de vendas por trimestre ou de produtos mais vendidos, facilitando a visualização das informações.

C. Além de responder às perguntas no chat, o agente pode ser configurado para enviar relatórios detalhados por e-mail, incluindo resumos e visualizações, mantendo a equipe atualizada com relatórios automáticos.

As possibilidades são muitas.

Essas são apenas algumas ideias para expandir as funcionalidades do agente. Teste, explore novas configurações e não hesite em adaptar o agente às necessidades específicas do seu projeto.

Para conhecer outros agentes de IA desenvolvidos pela OFF GRID martech, acesse o nosso site.

Um abraço,
Ingrid Andrade.

Tags:

Compartilhe :

Ingrid Andrade

Ingrid Andrade

Fundadora da OFF GRID martech
Ingrid Andrade

Ingrid Andrade

Fundadora da OFF GRID martech

Blog & News

Veja outras publicações e insights

CSV AI Agent | Análise de dados de planilhas CSV

CSV AI Agent | Análise de dados de planilhas CSV

Por Ingrid Andrade Neste tutorial, vamos mostrar como desenvolver um…

Tá bom, mas isso funciona no B2B?

Tá bom, mas isso funciona no B2B?

Se você atua no marketing B2B e nunca ouviu essa…

Como explorar aspectos emocionais no marketing B2B

Como explorar aspectos emocionais no marketing B2B

No mercado B2B, ser puramente racional nem sempre garante o…

plugins premium WordPress
Falar com especialista
💡Precisa de ajuda?
Olá 👋
Podemos ajudá-lo?