← Voltar a AI Engineer — Nutrium

🔴 RAG — Retrieval-Augmented Generation

AI Engineer — Nutrium

Apresentação

📚 RAG — Essencial para Nutrium

Porquê crítico: Nutrium pode usar RAG para perguntas sobre nutrição, guidelines, documentação interna — sempre com respostas fundamentadas em fontes verificáveis.


O que é RAG

Query → Embedding → Vector Search → Documentos relevantes → Contexto no prompt → LLM gera resposta fundamentada.

Vantagens: Reduz hallucinations, mantém conhecimento atualizado, não precisa de fine-tuning para novo conteúdo.


Pipeline de ingestão

Documentos (PDFs, guidelines, docs) → Chunking → Embeddings → Vector DB

Chunking: Semantic chunking (por parágrafo/tópico) vs fixed size. Para nutrição: chunking por conceito (ex: "diabetes e hidratos") pode ser melhor.


Pipeline de query

Pergunta → Embedding → Similarity search (top-k) → Reranking (opcional) → Construção de contexto → LLM

Hybrid search: BM25 + embeddings para queries com termos técnicos (ex: "hipoglicemia").

Reranking: Cross-encoder ou modelo específico para ordenar resultados por relevância real.


Groundedness (crítico em saúde)

O quê: Resposta deve estar fundamentada nos documentos recuperados. Nada inventado.

Como garantir:

  • Instruções claras no prompt: "Responde só com base no contexto. Se não souberes, diz que não sabes."
  • Verificação pós-geração: NLI (Natural Language Inference) para checar se a resposta está entailment do contexto
  • Citação de fontes: "Segundo [doc X], ..."
  • Evitar extrapolação: se o contexto não cobre, o modelo deve recusar

Métricas de avaliação

  • Relevância: Os retrieved docs são relevantes para a query?
  • Groundedness: A resposta está fundamentada no contexto?
  • Faithfulness: Nada foi inventado?
  • Safety: A resposta é segura em contexto de saúde? (não recomendar algo perigoso)

Frase que impressiona

"Em contexto de nutrição, groundedness não é opcional — uma recomendação errada pode ter consequências. Por isso, no RAG que desenhei, incluí verificação de entailment e instruções explícitas para o modelo recusar quando o contexto não cobre a pergunta."

Zona de prática

Sem perguntas. Clica em Editar para adicionar.

Desafios de código

Chunking com overlap (Python)

Implementa uma função que divide texto em chunks de tamanho fixo com overlap entre chunks.

Prompt para RAG com groundedness

Escreve um template de prompt que instrua o LLM a responder só com base no contexto e a recusar quando não souber.