Testando e avaliando seu aplicativo RAG
Aumente a confiança em seu primeiro aplicativo RAG criando um conjunto de testes e medindo a qualidade da recuperação e das respostas com métricas práticas antes da publicação.
Testando e avaliando seu aplicativo RAG é uma aula grátis de LLM Apps in Production (RAG + Vector DB + Caching) 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 LLM Apps in Production (RAG + Vector DB + Caching), e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de LLM Apps in Production (RAG + Vector DB + Caching) inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
Why Evaluate RAG
A RAG app can look fine on a few queries and fail badly on others. Without measurement you cannot tell if a change helped or hurt.
Evaluation gives you a repeatable score to guide improvements.
Two Things to Measure
RAG quality has two parts:
- Retrieval: did we fetch the right documents?
- Generation: did the answer use them correctly?
A bad answer can come from either, so measure both.
Building a Test Set
Create a small set of questions with known correct answers and the documents that contain them. Even 20 to 50 examples are enough to start.
testset = [
{'q': 'What is the refund window?',
'answer': '30 days',
'source': 'policy.md'}
]Retrieval Metric: Hit Rate
Hit rate (or recall@k) checks whether the correct source appears in the top-k retrieved chunks. High hit rate means retrieval is doing its job.
def hit(retrieved, expected_source):
return any(d.metadata['source'] == expected_source
for d in retrieved)Faithfulness
Faithfulness asks: is the answer supported by the retrieved context, or did the model make things up? An LLM judge can score this automatically.
Answer Relevance
Answer relevance measures whether the response actually addresses the question, regardless of sources. A faithful answer can still be off-topic.
LLM as a Judge
You can use a strong model to grade outputs against the expected answer, returning a pass or score with a reason.
judge_prompt = (
'Question: {q}\nExpected: {gold}\n'
'Got: {pred}\nIs it correct? Answer yes or no.'
)Running the Evaluation
Loop over the test set, run your pipeline, and aggregate scores into a single report you can compare across versions.
scores = []
for case in testset:
pred = rag.invoke(case['q'])
scores.append(grade(case, pred))
print(sum(scores) / len(scores))Comparing Configurations
Change one variable — chunk size, k, prompt, model — rerun the same test set, and compare scores. This turns guesswork into evidence-based tuning.
Watching for Regressions
Keep the test suite in CI. When a change drops a metric, you catch the regression before users do. Treat evaluation like unit tests for AI quality.
Improving From Results
Use failures to guide fixes:
- Low hit rate? Adjust chunking or retrieval
- Low faithfulness? Strengthen grounding instructions
- Low relevance? Improve the prompt
Quick Check
Test your evaluation knowledge.
Recap
You learned to evaluate your RAG app:
- Measure both retrieval and generation
- Build a small test set with known answers
- Use hit rate, faithfulness, and answer relevance
- Let an LLM judge grade outputs
- Compare configs and guard against regressions in CI
Evaluation turns RAG improvement into a measurable, repeatable process.
Perguntas Frequentes
A aula “Testando e avaliando seu aplicativo RAG” é grátis?
Sim — o texto completo de “Testando e avaliando seu aplicativo RAG” é 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 LLM Apps in Production (RAG + Vector DB + Caching), atualize para CoddyKit PRO. O curso de LLM Apps in Production (RAG + Vector DB + Caching) inclui 4 aulas no total.
O que vou aprender em “Testando e avaliando seu aplicativo RAG”?
Aumente a confiança em seu primeiro aplicativo RAG criando um conjunto de testes e medindo a qualidade da recuperação e das respostas com métricas práticas antes da publicação. Você pratica LLM Apps in Production (RAG + Vector DB + Caching) 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 LLM Apps in Production (RAG + Vector DB + Caching)?
Nenhuma experiência prévia é necessária. LLM Apps in Production (RAG + Vector DB + Caching) 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 “Testando e avaliando seu aplicativo RAG”?
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 LLM Apps in Production (RAG + Vector DB + Caching)?
Sim. Cada aula de LLM Apps in Production (RAG + Vector DB + Caching) 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
- Escolhendo um Provedor de LLM
- Fundamentos do Carregamento de Dados e da Divisão de Texto
- Criando um Pipeline RAG Simples
- Testando e avaliando seu aplicativo RAG