rag-observability-evals
Ajuda seu agente a verificar a qualidade das informações que ele usa e gera. Ele garante que as respostas sejam precisas e não inventadas, melhorando a confiabilidade.
O que ela faz
Esta ferramenta ajuda a verificar se os sistemas de inteligência artificial que respondem perguntas com base em documentos (chamados RAG) estão funcionando bem. Ela verifica a qualidade das informações encontradas e se as respostas são confiáveis e não inventadas.
Quando usar
- ✓Quando você quer garantir que as respostas da IA são baseadas nos documentos corretos.
- ✓Para verificar se a IA está 'inventando' informações que não estão nos documentos.
- ✓Para medir o quão rápido e eficiente o sistema de IA está respondendo.
Exemplo do que pedir para a IA
“Verifique a qualidade das respostas do meu sistema de IA sobre documentos de RH.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta compara as respostas da IA com os documentos que ela usou para encontrar a informação. Ela usa métricas para ver se a resposta é fiel, relevante e se todas as informações importantes foram encontradas.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill rag-observability-evalsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/rag-observability-evals/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Observabilidade e Avaliações de RAG
Execute a geração aumentada por recuperação (RAG) como um sistema de produção mensurável, não como uma caixa preta.
Pré-requisitos
- Pipeline RAG com estágios de recuperação e geração instrumentados
- Python 3.10+ com bibliotecas de avaliação (ragas, langchain, openai)
- Endpoint Prometheus para exportação de métricas personalizadas
- Conjunto de dados de benchmark com triplas de pergunta/resposta/fonte de padrão ouro
- SDK OpenTelemetry integrado ao serviço RAG
O que Medir
Qualidade da Recuperação
- Recall@k e MRR para os k melhores trechos
- Cobertura de citação e atualidade da fonte
- Deriva de embedding e obsolescência do índice
Qualidade da Geração
- Pontuação de fundamentação (resposta apoiada pelo contexto recuperado)
- Taxa de alucinação por rota/caso de uso
- Aderência à instrução e validade do formato
Confiabilidade e Custo
- Latência p50/p95 dividida por recuperação vs. geração
- Uso de tokens por estágio
- Taxa de acerto do cache e custo por resposta bem-sucedida
Script de Avaliação RAGAS
# rag_eval.py
"""Evaluate RAG pipeline quality using RAGAS metrics."""
from ragas import evaluate
from ragas.metrics import (
faithfulness,
answer_relevancy,
context_precision,
context_recall,
context_entity_recall,
answer_similarity,
)
from datasets import Dataset
import json
import sys
def load_eval_dataset(path: str) -> Dataset:
"""Load evaluation dataset with required columns."""
with open(path) as f:
data = json.load(f)
return Dataset.from_dict({
"question": [d["question"] for d in data],
"answer": [d["generated_answer"] for d in data],
"contexts": [d["retrieved_contexts"] for d in data],
"ground_truth": [d["reference_answer"] for d in data],
})
def run_evaluation(dataset_path: str, output_path: str):
"""Run full RAGAS evaluation suite."""
dataset = load_eval_dataset(dataset_path)
metrics = [
faithfulness,
answer_relevancy,
context_precision,
context_recall,
context_entity_recall,
answer_similarity,
]
results = evaluate(dataset, metrics=metrics)
# Print summary
print("=== RAG Evaluation Results ===")
for metric_name, score in results.items():
print(f" {metric_name}: {score:.4f}")
# Save detailed results
with open(output_path, "w") as f:
json.dump({
"summary": {k: float(v) for k, v in results.items()},
"dataset_size": len(dataset),
}, f, indent=2)
return results
if __name__ == "__main__":
run_evaluation(sys.argv[1], sys.argv[2])
Pontuação de Fundamentação
# groundedness.py
"""Pontua se as respostas geradas são fundamentadas no contexto recuperado."""
from openai import OpenAI
import json
from typing import List
client = OpenAI()
GROUNDEDNESS_PROMPT = """Você está avaliando se uma resposta de IA é totalmente fundamentada
nos documentos de contexto fornecidos. Pontue cada afirmação na resposta.
Documentos de contexto:
{contexts}
Resposta a ser avaliada:
{answer}
Para cada afirmação distinta na resposta, determine:
1. APOIADO - a afirmação é diretamente apoiada pelo contexto
2. PARCIALMENTE_APOIADO - a afirmação é parcialmente apoiada
3. NÃO_APOIADO - a afirmação não tem suporte no contexto
Retorne JSON:
{{
"claims": [
{{"claim": "...", "verdict": "APOIADO|PARCIALMENTE_APOIADO|NÃO_APOIADO", "evidence": "..."}}
],
"groundedness_score": <float 0-1>,
"unsupported_claims": ["..."]
}}
"""
def score_groundedness(answer: str, contexts: List[str]) -> dict:
"""Pontua a fundamentação de uma única resposta em relação aos seus contextos."""
context_text = "\n---\n".join(
f"[Documento {i+1}]: {c}" for i, c in enumerate(contexts)
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[{
"role": "user",
"content": GROUNDEDNESS_PROMPT.format(
contexts=context_text, answer=answer
),
}],
response_format={"type": "json_object"},
temperature=0,
)
return json.loads(response.choices[0].message.content)
def batch_groundedness(eval_data: list) -> dict:
"""Pontua a fundamentação para um lote de pares QA."""
scores = []
unsupported_count = 0
total_claims = 0
for item in eval_data:
result = score_groundedness(
item["generated_answer"],
item["retrieved_contexts"],
)
scores.append(result["groundedness_score"])
unsupported_count += len(result["unsupported_claims"])
…
Perguntas frequentes
O que é RAG?
RAG é uma forma de IA que busca informações em documentos específicos antes de gerar uma resposta. É como um estudante que consulta livros antes de responder a uma pergunta.
Por que é importante verificar a 'qualidade da recuperação'?
Isso garante que o sistema de IA está encontrando os documentos mais relevantes e corretos para responder à sua pergunta. Se ele não encontra os documentos certos, a resposta provavelmente estará errada.
O que significa 'alucinação' da IA?
Alucinação acontece quando a IA inventa informações que não estão presentes nos documentos de origem. Essa ferramenta ajuda a detectar e medir quantas vezes isso ocorre.
Detalhes
Descrição original do autor
Monitor and evaluate RAG systems with retrieval quality metrics, groundedness checks, hallucination detection, and continuous regression testing.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3953
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC