Pular para o conteúdo principal

Introdução ao LangChain para engenharia de dados e aplicações de dados

LangChain é um framework para incluir IA de grandes modelos de linguagem dentro de pipelines e aplicações de dados. Este tutorial apresenta uma visão geral do que você pode fazer com o LangChain, incluindo os problemas que ele resolve e exemplos de casos de uso em dados.
Atualizado 17 de set. de 2026  · 11 min lido

Explorar com IA

ChatGPTClaudePerplexity

Grandes modelos de linguagem (LLMs) como OpenAI GPT, Google BERT e Meta LLaMA estão revolucionando todos os setores com a capacidade de gerar praticamente qualquer texto que você imaginar — de copy de marketing a código para ciência de dados e até poesia. Enquanto o ChatGPT ficou com a maior parte dos holofotes graças à sua interface de chat intuitiva, existem muitas outras oportunidades de usar LLMs ao incorporá-los em outros softwares.

Por exemplo, o DataLab inclui um assistente de IA que ajuda você a escrever ou aprimorar o código e o texto da sua análise, e os cursos interativos da DataCamp contam com o recurso "explique meu erro" para ajudar a entender onde você errou. Esses recursos são alimentados por GPT e acessados via a API da OpenAI.

O LangChain oferece um framework sobre várias APIs para LLMs. Ele foi projetado para tornar desenvolvedores de software e engenheiros de dados mais produtivos ao incorporar IA baseada em LLM em seus aplicativos e pipelines de dados.

Este tutorial detalha os problemas que o LangChain resolve e seus principais casos de uso, para que você entenda por que e onde utilizá-lo. Antes de seguir, é útil compreender a ideia básica de um LLM. O tutorial Como o NLP está mudando o futuro da ciência de dados é um bom ponto para revisar seus conhecimentos.

Quais problemas o LangChain resolve?

Basicamente, existem dois fluxos de trabalho para interagir com LLMs.

  1. O "chat" envolve escrever um prompt, enviá-lo para a IA e receber uma resposta em texto.
  2. A "incorporação" (embedding) envolve escrever um prompt, enviá-lo para a IA e receber uma resposta em forma de vetor numérico.

Tanto o fluxo de chat quanto o de embeddings têm alguns desafios que o LangChain busca endereçar.

Prompts cheios de texto padronizado

Um dos problemas em ambos os casos é que criar um bom prompt vai muito além de apenas definir a tarefa. Você também precisa descrever a personalidade e o estilo de escrita da IA e incluir instruções para incentivar a precisão factual. Ou seja, você pode até começar com um prompt simples descrevendo a tarefa:

Write an outline for a 500-word blog post targeted at teenagers about the health benefits of doing yoga.

Porém, para obter uma boa resposta, você precisa escrever algo mais próximo de:

You are an expert sports scientist. Your writing style is casual but terse.

Write an outline for a 500-word blog post targeted at teenagers about the health benefits of doing yoga.

Only include factually correct information. Explain your reasoning.

Boa parte desse texto "boilerplate" no prompt será a mesma de um caso para outro. O ideal é escrever uma vez e fazer com que ele seja incluído automaticamente em todos os prompts desejados.

O LangChain resolve o problema do texto padronizado em prompts oferecendo templates de prompt. Eles combinam o conteúdo útil do prompt (neste caso, o texto sobre escrever um post de blog sobre yoga) com o boilerplate (o estilo de escrita e o pedido por informações factualmente corretas).

Respostas são não estruturadas

Em fluxos de chat, a resposta do modelo é apenas texto. No entanto, quando a IA é usada dentro de um software, muitas vezes é desejável ter uma saída estruturada para poder programar em cima dela. Por exemplo, se a meta é gerar um conjunto de dados, você vai querer a resposta em um formato específico como CSV ou JSON.

Assumindo que você consiga escrever um prompt que leve a IA a responder consistentemente em um formato adequado, é preciso ter uma forma de lidar com essa saída. O LangChain oferece ferramentas de output parser justamente para esse fim.

Trocar de LLM é complicado

Embora o GPT seja um enorme sucesso, existem muitos outros LLMs disponíveis. Ao programar diretamente contra a API de uma única empresa, você prende seu software naquele ecossistema. É totalmente plausível que, depois de construir seus recursos de IA em GPT, você perceba que capacidades multilíngues mais fortes são necessárias para seu produto. Aí pode fazer sentido migrar para o Polyglot ou sair do uso de um serviço de IA para incluir a IA embarcada no seu produto, exigindo um modelo mais compacto como o StableLM da Stability AI.

O LangChain oferece uma classe LLM, e essa abstração torna muito mais fácil trocar um modelo por outro ou até utilizar múltiplos modelos dentro do seu software.

LLMs têm memória curta

A resposta de um LLM é gerada com base na conversa anterior (tanto os prompts do usuário quanto as respostas anteriores do modelo). Porém, LLMs têm uma memória relativamente curta. Mesmo o GPT-4, que é estado da arte, por padrão lembra cerca de 8.000 tokens (aproximadamente 6.000 palavras).

Em um fluxo de chat, se a conversa ultrapassar esse limite de memória, as respostas da IA podem ficar inconsistentes (já que ela perde a noção do início da conversa). Chatbots são um exemplo em que isso pode ser problemático. O ideal é que o chatbot consiga relembrar a conversa inteira com o cliente para não fornecer informações contraditórias.

O LangChain resolve o problema de memória com ferramentas de histórico de mensagens de chat. Elas permitem reenviar mensagens anteriores ao LLM para lembrá-lo do que já foi discutido.

É difícil integrar LLMs a pipelines

Quando usados em pipelines de dados ou aplicativos, a IA costuma ser apenas uma parte de uma funcionalidade maior. Por exemplo, você pode querer recuperar dados de um banco, passá-los ao LLM, processar a resposta e enviá-la para outro sistema.

O LangChain oferece ferramentas para fluxos em estilo pipeline por meio de chains e agents. Chains são objetos simples que essencialmente conectam vários componentes (para pipelines lineares). Agents são mais sofisticados, permitindo aplicar regras de negócio para decidir como os componentes devem interagir. Por exemplo, você pode querer lógica condicional dependendo da saída de um LLM para decidir o próximo passo.

Passar dados para o LLM é trabalhoso

A natureza baseada em texto dos LLMs faz com que nem sempre seja claro como enviar dados ao modelo. Há duas partes nesse problema.

Primeiro, é preciso armazenar os dados em um formato que permita controlar quais partes do conjunto serão enviadas ao LLM. (Para dados retangulares como um DataFrame ou uma tabela SQL, normalmente você quer enviar linha a linha.)

Segundo, você deve definir como incluir esses dados no prompt. A abordagem mais simples é simplesmente colocar o conjunto de dados no prompt ("prompt stuffing"), mas existem opções mais sofisticadas.

O LangChain resolve a primeira parte com índices. Eles oferecem funcionalidades para importar dados de bancos, arquivos JSON, DataFrames do pandas, arquivos CSV e outros formatos, armazenando-os de um jeito adequado para servir linha a linha a um LLM.

Para resolver a segunda parte, o LangChain fornece chains relacionadas a índices e classes para quatro técnicas de envio de dados ao LLM.

Prompt stuffing insere o conjunto de dados inteiro no prompt. É muito simples, mas só funciona quando você tem um conjunto pequeno.

Map-reduce divide os dados em blocos, chama o LLM com um prompt inicial para cada bloco (a parte "map"), e depois chama o LLM novamente com um prompt diferente que inclui as respostas da primeira rodada. Isso é apropriado sempre que você pensaria em usar um "group by".

Refine é uma abordagem iterativa, ao estilo bayesiano, em que você roda um prompt no primeiro bloco de dados e, para cada novo bloco, usa um prompt pedindo ao LLM que refine o resultado com base no novo subconjunto. Essa abordagem funciona bem quando você quer que a resposta convirja para uma saída específica.

Map-rerank é uma variação do map-reduce. A primeira parte do fluxo é a mesma: dividir os dados em blocos e executar um prompt em cada um. A diferença é que você pede ao LLM uma pontuação de confiança para a resposta, para poder ranquear as saídas. Essa abordagem funciona bem para tarefas de recomendação em que o resultado é um único "melhor" candidato.

Quais linguagens de programação o LangChain suporta?

O LangChain pode ser usado em JavaScript por meio do pacote langchain no Node. É ideal para embutir IA em aplicações web.

Ele também pode ser usado em Python via o pacote langchain (PyPI, conda). É ideal para incluir IA em pipelines de dados ou softwares baseados em Python.

Quais são os principais casos de uso do LangChain?

O LangChain pode ser usado sempre que você quiser usar um LLM. Aqui, vamos abordar alguns exemplos ligados a dados, explicando quais recursos do LangChain são relevantes.

Consultar conjuntos de dados em linguagem natural

Um dos casos de uso mais transformadores de LLMs para análise de dados é a capacidade de escrever consultas SQL (ou o código equivalente em Python ou R) usando linguagem natural. Isso torna a análise exploratória acessível a quem não programa.

Existem várias variações desse fluxo. Para conjuntos de dados pequenos, você pode fazer o LLM gerar os resultados diretamente. Isso envolve carregar os dados em um formato apropriado usando os carregadores de documentos do LangChain, passar os dados ao LLM usando chains relacionadas a índices e analisar a resposta com um output parser.

Mais comumente, você passará detalhes da estrutura dos dados (como nomes de tabelas, nomes e tipos de colunas e qualquer detalhe como quais colunas têm valores ausentes) para o LLM e pedirá o código em SQL/Python/R. Em seguida, você executa esse código. Esse fluxo é mais simples, pois não requer passagem de dados, embora o LangChain ainda seja útil para modularizar as etapas.

Outra variação é incluir uma segunda chamada ao LLM para interpretar os resultados. Esse tipo de fluxo, que envolve múltiplas chamadas ao LLM, é onde o LangChain realmente ajuda. Nesse caso, você pode usar as ferramentas de histórico de mensagens para garantir que a interpretação dos resultados seja consistente com a estrutura de dados informada anteriormente.

Interagir com APIs

Para casos de uso em dados, como criação de um pipeline, incluir IA via um LLM geralmente é parte de um fluxo maior que envolve outras chamadas de API. Por exemplo, você pode querer usar uma API para recuperar dados de ações ou interagir com uma plataforma em nuvem.

Os recursos de chains e agents do LangChain, que permitem conectar essas etapas em sequência (e aplicar lógica de negócio adicional para ramificações no pipeline), são ideais para esse caso.

Construir um chatbot

Chatbots estão entre os casos de uso mais populares de IA, e a IA generativa traz um grande potencial para bots que se comportam de forma mais realista. No entanto, pode ser trabalhoso controlar a personalidade do chatbot e fazer com que ele lembre o contexto da conversa.

Os templates de prompt do LangChain dão a você controle tanto da personalidade do chatbot (tom de voz e estilo de comunicação) quanto das respostas que ele fornece.

Além disso, as ferramentas de histórico de mensagens são úteis para dar ao chatbot uma memória maior do que as poucas centenas ou milhares de palavras que os LLMs oferecem por padrão, permitindo mais consistência dentro de uma conversa ou até ao longo de várias conversas.

Outros usos

Este tutorial apenas arranha a superfície do que é possível. Existem muitos outros casos de uso de LLMs para profissionais de dados. Seja para criar um assistente pessoal, resumir relatórios ou responder perguntas sobre documentos de suporte ou uma base de conhecimento, o LangChain oferece um framework para incluir IA em qualquer pipeline ou aplicação de dados que você imaginar.

Leve isso para o próximo nível

Conteúdos sobre LangChain chegarão em breve à DataCamp. Enquanto isso, você pode aprender um dos casos de uso discutidos aqui fazendo o curso Building Chatbots in Python.

Tópicos
Engenharia de dados
Inteligência Artificial
Relacionado

blog

O que é processamento de linguagem natural (NLP)? Um guia abrangente para iniciantes

Explore o mundo transformador do Processamento de Linguagem Natural (PLN) com o guia abrangente do DataCamp para iniciantes. Mergulhe nos principais componentes, técnicas, aplicativos e desafios da PNL.
Matt Crabtree's photo

Matt Crabtree

11 min

Tutorial

Como criar aplicativos LLM com o tutorial LangChain

Explore o potencial inexplorado dos modelos de linguagem grandes com o LangChain, uma estrutura Python de código aberto para criar aplicativos avançados de IA.
Moez Ali's photo

Moez Ali

12 min

Tutorial

Criando agentes LangChain para automatizar tarefas em Python

Um tutorial abrangente sobre a criação de agentes LangChain com várias ferramentas para automatizar tarefas em Python usando LLMs e modelos de bate-papo usando OpenAI.

Tutorial

RAG With Llama 3.1 8B, Ollama e Langchain: Tutorial

Aprenda a criar um aplicativo RAG com o Llama 3.1 8B usando Ollama e Langchain, configurando o ambiente, processando documentos, criando embeddings e integrando um retriever.
Ryan Ong's photo

Ryan Ong

12 min

Tutorial

Guia de Introdução ao Ajuste Fino de LLMs

O ajuste fino dos grandes modelos de linguagem (LLMs, Large Language Models) revolucionou o processamento de linguagem natural (PLN), oferecendo recursos sem precedentes em tarefas como tradução de idiomas, análise de sentimentos e geração de textos. Essa abordagem transformadora aproveita modelos pré-treinados como o GPT-2, aprimorando seu desempenho em domínios específicos pelo processo de ajuste fino.
Josep Ferrer's photo

Josep Ferrer

11 min

Tutorial

Como treinar um LLM com o PyTorch

Domine o processo de treinamento de grandes modelos de linguagem usando o PyTorch, desde a configuração inicial até a implementação final.
Zoumana Keita 's photo

Zoumana Keita

8 min

Ver MaisVer Mais