0Pricing
LangChain / RAG / Vector DBs · Aula

Criando Analisadores de Saída Personalizados

Transforme texto bruto do LLM em dados estruturados confiáveis com analisadores de saída personalizados e integrados do LangChain.

Criando Analisadores de Saída Personalizados é uma aula grátis de LangChain / RAG / Vector DBs no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de LangChain / RAG / Vector DBs, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de LangChain / RAG / Vector DBs inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

Why Parse Output?

LLMs return free-form text, but applications need structured data: objects, lists, enums. An output parser converts the raw string into something your code can use safely.

The Parser Interface

A LangChain output parser implements two key methods.

  • parse(text) turns the string into your type
  • get_format_instructions() tells the model how to format its reply

A Minimal Custom Parser

Subclass BaseOutputParser and implement parse. This one splits a comma-separated reply into a list.

from langchain_core.output_parsers import BaseOutputParser

class CommaListParser(BaseOutputParser):
    def parse(self, text):
        return [t.strip() for t in text.split(",")]

print(CommaListParser().parse("a, b, c"))  # ["a", "b", "c"]

Format Instructions

Override get_format_instructions so the prompt nudges the model toward a parseable shape. The instructions are injected into your prompt template.

def get_format_instructions(self):
    return "Reply with items separated by commas, no numbering."

Pydantic Output Parser

For rich objects, LangChain ships a PydanticOutputParser. You define a schema and it generates instructions plus validation automatically.

from pydantic import BaseModel

class Person(BaseModel):
    name: str
    age: int

# parser = PydanticOutputParser(pydantic_object=Person)

Wiring a Parser into a Chain

With LCEL you pipe the model output straight into the parser using the | operator.

chain = prompt | llm | CommaListParser()
result = chain.invoke({"topic": "fruits"})

Handling Malformed Output

Models sometimes ignore the format. A robust parser validates and raises a clear error, or attempts a best-effort recovery, instead of crashing downstream.

def parse(self, text):
    try:
        return json.loads(text)
    except json.JSONDecodeError:
        raise ValueError("Model did not return valid JSON")

The OutputFixingParser

Wrap any parser in an OutputFixingParser. When parsing fails, it sends the bad output and the error back to an LLM to repair it.

Streaming and Parsers

Some parsers support incremental parsing of streamed tokens. For structured types this is hard, so streaming parsers often emit partial objects as fields complete.

Validation Beyond Types

You can add business rules inside parse: ranges, allowed values, required combinations. Reject anything that would corrupt your application state.

def parse(self, text):
    n = int(text.strip())
    if not 1 <= n <= 5:
        raise ValueError("Rating must be 1-5")
    return n

Putting It Together

Define the parser, expose format instructions, inject them into the prompt, and pipe everything in a chain. The result is reliable structured output.

prompt = template.partial(
    format=parser.get_format_instructions()
)
chain = prompt | llm | parser
chain.invoke({"input": "..."})

Quick Check

Test your understanding of output parsers.

Recap

You built custom output parsing:

  • Implement parse and get_format_instructions
  • Use PydanticOutputParser for rich schemas
  • Pipe parsers into chains with |
  • Wrap with OutputFixingParser for resilience

Perguntas Frequentes

A aula “Criando Analisadores de Saída Personalizados” é grátis?

Sim — o texto completo de “Criando Analisadores de Saída Personalizados” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de LangChain / RAG / Vector DBs, atualize para CoddyKit PRO. O curso de LangChain / RAG / Vector DBs inclui 4 aulas no total.

O que vou aprender em “Criando Analisadores de Saída Personalizados”?

Transforme texto bruto do LLM em dados estruturados confiáveis com analisadores de saída personalizados e integrados do LangChain. Você pratica LangChain / RAG / Vector DBs com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar LangChain / RAG / Vector DBs?

Nenhuma experiência prévia é necessária. LangChain / RAG / Vector DBs no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Criando Analisadores de Saída Personalizados”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de LangChain / RAG / Vector DBs?

Sim. Cada aula de LangChain / RAG / Vector DBs inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Desenvolvimento de carregadores de documentos personalizados
  2. Integração de modelos personalizados de embeddings
  3. Extensão de cadeias de recuperação com lógica personalizada
  4. Criando Analisadores de Saída Personalizados
← Voltar para LangChain / RAG / Vector DBs