Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →

Ragas: evaluarea automată a sistemelor RAG în LLMOps, Evaluare & Securitate AI

Ragas măsoară calitatea unui pipeline RAG cu metrici calculate de un LLM judecător: Faithfulness, Answer Relevancy, Context Precision și Context Recall.

Configurare & comandă
from openai import AsyncOpenAI
from ragas.llms import llm_factory
from ragas.metrics.collections import Faithfulness

llm = llm_factory("gpt-6-luna", client=AsyncOpenAI())
scorer = Faithfulness(llm=llm)

result = scorer.score(
    user_input="Cum anulez comanda?",
    response="Comanda se anulează din cont, în cel mult 24 de ore.",
    retrieved_contexts=["Anularea se face din Contul meu, în cel mult 24 de ore."],
)
print(result.value)

Ragas (Retrieval Augmented Generation Assessment) este o bibliotecă open-source pentru evaluarea pipeline-urilor RAG. Pornește de la lucrarea Es et al., 2023, care propune metrici fără adnotări umane de referință; o parte din metricile actuale cer totuși un răspuns de referință (reference).

Metricile principale: Faithfulness (proporția afirmațiilor din răspuns susținute de contextul regăsit), Answer Relevancy (media similarității cosinus dintre întrebare și întrebările generate din răspuns, implicit 3), Context Precision (media precision@k pe fragmentele regăsite, adică dacă fragmentele relevante sunt sus în listă) și Context Recall (proporția afirmațiilor din răspunsul de referință care se regăsesc în context). Scorurile sunt între 0 și 1; la Answer Relevancy documentația notează că intervalul nu e garantat, din cauza cosinusului.

În Ragas 0.4 metricile recomandate se importă din ragas.metrics.collections și se apelează direct cu score() sau ascore(). Câmpurile se numesc user_input, response, retrieved_contexts și reference. API-ul de metrici vechi (from ragas.metrics import ... cu SingleTurnSample) este marcat legacy și va fi eliminat în versiunea 1.0.

Concepte cheie și caracteristici

Concept / Parametru Descriere practică
Faithfulness Afirmații din response susținute de retrieved_contexts / total afirmații din răspuns.
AnswerRelevancy Cere un LLM și un model de embeddings; numărul de întrebări generate se setează cu strictness (implicit 3).
ContextPrecision Compară fiecare fragment regăsit cu reference. Fără referință există ContextUtilization, care compară fragmentele cu răspunsul generat.
ContextRecall Afirmații din reference atribuibile contextului regăsit / total afirmații din referință. Cere întotdeauna o referință.
llm_factory(model, client=...) Creează LLM-ul judecător folosit de metrici.
result.value Scorul întors de score() sau ascore().

Exemple practice și scenarii reale

Exemplul 1: Answer Relevancy

from openai import AsyncOpenAI
from ragas.llms import llm_factory
from ragas.embeddings.base import embedding_factory
from ragas.metrics.collections import AnswerRelevancy

client = AsyncOpenAI()
llm = llm_factory("gpt-6-luna", client=client)
embeddings = embedding_factory("openai", model="text-embedding-3-small", client=client)

scorer = AnswerRelevancy(llm=llm, embeddings=embeddings)
result = scorer.score(user_input="Cum anulez comanda?", response="Din Contul meu.")
print(result.value)

Exemplul 2: Context Recall față de un răspuns de referință

from ragas.metrics.collections import ContextRecall

result = ContextRecall(llm=llm).score(
    user_input="Unde se află Turnul Eiffel?",
    retrieved_contexts=["Turnul Eiffel este situat în Paris."],
    reference="Turnul Eiffel se află în Paris.",
)

Exemplul 3: Compararea a două dimensiuni de fragment

cauta() este funcția ta de regăsire. Folosește același judecător și același set de întrebări pentru ambele variante.

for chunk_size in (500, 1200):
    contexte = cauta(intrebare, chunk_size=chunk_size)
    r = ContextRecall(llm=llm).score(
        user_input=intrebare, retrieved_contexts=contexte, reference=referinta)
    print(chunk_size, r.value)

Greșeli frecvente și capcane

  • Copiezi exemple vechi cu from ragas.metrics import faithfulness și Dataset.from_dict({"question": ..., "answer": ..., "contexts": ...}). În 0.4 folosește ragas.metrics.collections și câmpurile user_input, response, retrieved_contexts.
  • Tratezi un scor ca adevăr absolut. Metricile depind de LLM-ul judecător; compară variante pe același set de date și cu același judecător.
  • Evaluezi un sistem în română fără să verifici judecătorul. Citește manual un eșantion de scoruri înainte să te bazezi pe ele.

Noțiuni și module înrudite

Învață AI • Comunitate & Q&A

Întrebări & Exemple practice: Ragas: evaluarea automată a sistemelor RAG

Ai o întrebare despre Ragas: evaluarea automată a sistemelor RAG sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!

🤖

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.

Comunitate AI Adaugă o întrebare sau distribuie un cod / prompt

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.