0Pricing
Learn AI with Python · Aula

Construção de um sistema de perguntas e respostas com RAG de ponta a ponta

Cadeia RetrievalQA, prompts personalizados, atribuição de fontes e avaliação de RAG com RAGAS.

Construção de um sistema de perguntas e respostas com RAG de ponta a ponta é uma aula grátis de Learn AI with Python 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 Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.

O que é RAG?

Geração Aumentada por Recuperação fundamenta um LLM nos seus próprios dados. No momento da consulta, você recupera partes relevantes de um armazenamento vetorial e as insere na instrução, para que o modelo responda com base em fatos em vez de tentar adivinhar.

O fluxo do RAG

Toda consulta RAG segue quatro etapas: (1) gerar a representação vetorial da pergunta, (2) recuperar partes semelhantes, (3) inseri-las na instrução como contexto, (4) o LLM gera uma resposta fundamentada nesse contexto.

Transformando um armazenamento em um recuperador

Converta seu armazenamento vetorial em um recuperador com as_retriever. O dicionário search_kwargs controla a recuperação, principalmente k, o número de partes a buscar por pergunta.

retriever = db.as_retriever(
    search_kwargs={"k": 4}
)

Ajustando os parâmetros da busca

search_kwargs também pode definir um limite de pontuação ou opções de MMR. Comece com k=4; aumente-o se as respostas não tiverem contexto, ou reduza-o para diminuir o custo de tokens e o excesso de informações.

retriever = db.as_retriever(
    search_type="similarity_score_threshold",
    search_kwargs={"k": 6, "score_threshold": 0.5}
)

Cadeia RetrievalQA

A cadeia RetrievalQA conecta a recuperação e a geração. Crie-a com from_chain_type, passando seu llm e seu retriever. Agora, uma única chamada responde a perguntas com base nos seus documentos.

from langchain.chains import RetrievalQA
from langchain_openai import ChatOpenAI

qa = RetrievalQA.from_chain_type(
    llm=ChatOpenAI(model="gpt-4o"),
    retriever=retriever
)

Tipo de cadeia: como o contexto é combinado

chain_type controla como as partes recuperadas entram na instrução. "stuff" (padrão) coloca todas as partes em uma única instrução; é simples e funciona melhor quando elas cabem na janela de contexto. Outros tipos, como "map_reduce", lidam com muitas partes grandes.

qa = RetrievalQA.from_chain_type(
    llm=llm,
    chain_type="stuff",
    retriever=retriever
)

Fazendo uma pergunta

Execute a cadeia com invoke, passando sua pergunta na chave query. A cadeia recupera os dados, cria a instrução e retorna a resposta fundamentada.

response = qa.invoke({"query": "What is the refund window?"})
print(response["result"])

Retornando os documentos de origem

Defina return_source_documents=True para obter as partes usadas na resposta. Isso permite incluir citações e possibilita que os usuários verifiquem de onde veio cada fato, algo essencial para a confiança.

qa = RetrievalQA.from_chain_type(
    llm=llm,
    retriever=retriever,
    return_source_documents=True
)
resp = qa.invoke({"query": "Refund window?"})
for d in resp["source_documents"]:
    print(d.metadata)

Por que avaliar o RAG?

O RAG pode falhar de duas maneiras: a recuperação traz as partes erradas ou a geração produz informações inventadas apesar de as partes serem boas. Você precisa de métricas para saber qual parte corrigir. Avaliar as respostas manualmente não é viável em grande escala.

Métricas do RAGAS

RAGAS é uma biblioteca que atribui pontuações à qualidade do RAG. As principais métricas são: faithfulness (resposta apoiada pelo contexto), answer_relevancy (resposta aborda a pergunta) e context_precision (partes recuperadas são relevantes).

pip install ragas

from ragas.metrics import faithfulness, answer_relevancy, context_precision

Executando uma avaliação

Crie um conjunto de dados com perguntas, respostas geradas, contextos recuperados e respostas de referência; depois, chame evaluate. As pontuações informam se você deve melhorar a divisão em partes, o valor de k da recuperação ou a instrução.

from ragas import evaluate

result = evaluate(
    dataset,
    metrics=[faithfulness, answer_relevancy, context_precision]
)
print(result)

Verificação rápida

Teste seu conhecimento sobre RAG.

Recapitulação: RAG de ponta a ponta

Você criou um fluxo RAG completo: db.as_retriever com search_kwargs, uma cadeia RetrievalQA.from_chain_type sobre seu llm e seu recuperador, e return_source_documents=True para incluir citações. Você também aprendeu a medir a qualidade com métricas do RAGAS, como fidelidade e precisão do contexto.

Perguntas Frequentes

A aula “Construção de um sistema de perguntas e respostas com RAG de ponta a ponta” é grátis?

Sim — o texto completo de “Construção de um sistema de perguntas e respostas com RAG de ponta a ponta” é 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 Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.

O que vou aprender em “Construção de um sistema de perguntas e respostas com RAG de ponta a ponta”?

Cadeia RetrievalQA, prompts personalizados, atribuição de fontes e avaliação de RAG com RAGAS. Você pratica Learn AI with Python 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 Learn AI with Python?

Nenhuma experiência prévia é necessária. Learn AI with Python 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 “Construção de um sistema de perguntas e respostas com RAG de ponta a ponta”?

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 Learn AI with Python?

Sim. Cada aula de Learn AI with Python 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. Arquitetura do LangChain e LCEL
  2. Carregamento, divisão e embedding de documentos
  3. Armazenamentos vetoriais: Chroma e FAISS
  4. Construção de um sistema de perguntas e respostas com RAG de ponta a ponta
← Voltar para Learn AI with Python