Ragas

Sobre

Ragas é um framework open source (Python) para testar e avaliar aplicações baseadas em LLM. Em vez de depender de “vibe checks” manuais, propõe um ciclo sistemático de experimentação: métricas orientadas por LLM, geração de dados sintéticos de teste e monitoramento contínuo da qualidade em produção.

O projeto é mantido pela Vibrant Labs, fundada por Shahul (pesquisa aplicada em IA, Kaggle Grandmaster) e Jithin James (mantenedor-chefe, ex-BentoML).

Instalação

pip install ragas

Principais Recursos

  • Experiments-first: fluxo de trabalho baseado em experiments — muda-se o código, roda-se a avaliação, observam-se os resultados e itera-se.
  • Métricas (Ragas Metrics): biblioteca extensa de métricas prontas, além de suporte a métricas customizadas via decorators. Categorias principais:
    • RAG: Context Precision, Context Recall, Context Entities Recall, Noise Sensitivity, Response Relevancy, Faithfulness.
    • Nvidia Metrics: Answer Accuracy, Context Relevance, Response Groundedness.
    • Agentes / Tool Use: Agentic/Tool Use, Topic Adherence, Tool Call Accuracy, Tool Call F1, Agent Goal Accuracy.
    • Comparação em linguagem natural: Factual Correctness, Semantic Similarity, métricas tradicionais de NLP (BLEU, CHRF, ROUGE, String Presence, Exact Match).
    • SQL: Datacompy Score (baseado em execução), SQL Query Equivalence.
    • Propósito geral: Aspect Critic, Simple Criteria Scoring, Rubrics Based Scoring, Instance Specific Rubrics.
    • Outras: Summarization Score.
  • Geração sintética de dados de teste: criação de testsets para RAG (via knowledge graph e geração de cenários) e para agentes/tool use.
  • Online Monitoring: avaliação contínua da qualidade da aplicação já em produção.
  • CLI própria: comandos para avaliação de RAG e melhoria de pipelines (ragas CLI).
  • Integrações: LangChain, LlamaIndex (incl. agentes), LangGraph, LangSmith, Arize, Haystack, LlamaStack, R2R, Swarm, AG-UI, Griptape; provedores de LLM como Amazon Bedrock, Google Gemini e OCI Gen AI.

Funcionamento

O fluxo típico de uso é:

  1. Definir/coletar um Evaluation Dataset (perguntas, contexto recuperado, resposta gerada, ground truth quando disponível).
  2. Escolher as métricas relevantes para o caso (ex.: Faithfulness e Context Precision para RAG).
  3. Rodar evaluate() (ou a versão assíncrona aevaluate()) para pontuar o dataset.
  4. Opcionalmente, gerar dados sintéticos de teste a partir de um knowledge graph construído sobre a base de conhecimento da aplicação.
  5. Repetir o ciclo (experiments) a cada mudança relevante na aplicação, comparando resultados entre versões.

Casos de Uso

  • Avaliação de sistemas RAG (Retrieval-Augmented Generation), ponta a ponta ou por componente.
  • Avaliação de agentes e uso de ferramentas (tool calling, aderência a tópico, atingimento de objetivo).
  • Avaliação e iteração de prompts isoladamente.
  • Benchmarking de diferentes LLMs em uma mesma tarefa.
  • Geração de datasets sintéticos de perguntas/contexto/respostas para testes (ex.: a partir de relatórios ou bases de conhecimento).
  • Monitoramento em produção da qualidade das respostas de uma aplicação LLM.

Público-alvo

Equipes e desenvolvedores que constroem aplicações com LLMs (especialmente RAG e agentes) e precisam substituir avaliação manual/qualitativa por um processo de avaliação sistemático, repetível e mensurável.

FAQ

Ragas é gratuito? Sim, é uma biblioteca Python open source, instalável via pip install ragas. A empresa por trás dele (Vibrant Labs) também oferece um serviço/produto para ajudar empresas a melhorar suas aplicações usando evals, sob contato direto.

Funciona só com RAG? Não. Embora tenha nascido focado em RAG, hoje cobre também avaliação de prompts, agentes/tool use, tarefas de SQL e comparação de textos em linguagem natural.

Precisa de um LLM para avaliar? A maioria das métricas é “LLM-driven” (usa um LLM como juiz), mas também há métricas tradicionais de NLP (BLEU, ROUGE etc.) que não dependem de LLM.

Limitações

  • A página institucional (ragas.io) é essencialmente uma landing page de marketing, com pouco conteúdo técnico direto — a maior parte do detalhamento (arquitetura, API, exemplos de código) está na documentação oficial (docs.ragas.io), não explorada em profundidade nesta nota.
  • Não há informações públicas de preço para o “produto enterprise” mencionado no site — o contato é feito diretamente com os fundadores.
  • Esta nota cobre a visão geral do framework; detalhes de implementação de cada métrica (fórmulas, parâmetros) não foram extraídos e devem ser consultados na documentação de referência.

Referências