ANÚNCIO

~/questoes/agentes-de-ia

Como a composição de componentes Runnable funciona no LangChain?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência Aula 7: Chains no LangChain – Parte 1 – Exemplos Práticos – Curso Completo para Iniciantes
Para fixar

Composição de Componentes Runnable no LangChain

Conceito central

No LangChain, componentes Runnable são conectados entre si usando operadores simples, permitindo criar pipelines de execução que vão desde fluxos básicos até arquiteturas complexas. Essa abordagem declarativa torna o código mais limpo, reutilizável e fácil de manter.

Por que essa resposta faz sentido

A alternativa B está correta porque a composição de Runnable no LangChain usa operadores simples para conectar componentes. Esses operadores funcionam como atalhos intuitivos que permitem encadear prompts, modelos de linguagem, parsers e funções personalizadas em um fluxo estruturado.

Armadilhas comuns

  • Confundir composição de Runnable com herança de classes — a interface Runnable é compartilhada, mas a composição acontece via operadores, não via herança
  • Achar que é necessário escrever muita configuração externa ou boilerplate — na verdade, operadores simples tornam tudo mais direto e Pythônico
  • Pensar que RunnableLambda é a única forma de adicionar lógica personalizada — embora seja muito usada, qualquer componente Runnable pode ser encadeado da mesma forma

Entenda as alternativas

A

Embora componentes Runnable implementem uma interface comum, a herança de classes abstratas não é o mecanismo principal de composição. O LangChain usa operadores simples que funcionam independentemente da forma como as classes são estruturadas internamente.

B

Esta alternativa está correta. Operadores como | (pipe) e > permitem conectar componentes Runnable de forma declarativa e legível, criando chains desde as mais simples até as mais sofisticadas, sem depender de padrões de herança complexos.

C

Arquivos de configuração JSON ou YAML não são o método principal para compor Runnable no LangChain. A composição é feita programaticamente em Python usando operadores, oferecendo muito mais flexibilidade e controle.

D

Decoradores Python não são usados para compor Runnable. Enquanto o LangChain oferece RunnableLambda para envolver funções simples, isso não envolve decoradores que modificam comportamento — é um adaptador explícito que converte funções em componentes Runnable.

Dica prática: Quando estiver criando uma chain, use o operador | (pipe) para conectar componentes. Por exemplo: `prompt | modelo | parser` é muito mais legível e direto do que escrever manualmente como cada componente chama o outro. Experimente criar uma chain simples com um prompt, um modelo e um parser para sentir essa fluidez.

Revise pensando: Se você precisasse adicionar uma função personalizada no meio de uma chain (prompt → função → modelo → parser), qual seria o componente do LangChain que você usaria para envolver essa função?