인공지능 개발자 수다(유튜브 바로가기) 자세히보기

자연어처리/Langchain

[Langchain] RAG 성능 평가 with Regas

Suda_777 2025. 3. 7. 21:34

목차

    반응형

     

    1. 개요

    RAG 시스템을 평가하는 기준에는 정확도, 실행 시간, 비용 등이 있겠다.

    이번 포스팅에서는 정확도에 대한 이야기를 하겠다.

     

    Ragas는 RAG의 정확도를 평가할때

    사용하기 편리한 프레임워크 이다.

     

    설치

    pip install ragas

    2. 매트릭(Metric)

    2.1. Faithfulness

    $$ faithfulness = \frac{the\ number\ of\ claims\ in\ the\ response\ supported\ by\ the\ retrieved\ context}{total\ number\ of\ claims\ in\ the\ response} $$

     

    식의 의미 : 전체 질문 중에서 Rag를 통해 답을 얻은 비율


    3. 사용 방법

     

    평가용 데이터셋 생성

    • 딕셔너리의 키값은고정임
    from ragas import EvaluationDataset
    
    dataset = []
    for item in data:
        dataset.append(
            {
                "user_input":query,
                "retrieved_contexts":relevant_docs,
                "response":response,
                "reference":reference
            }
        )
    
    evaluation_dataset = EvaluationDataset.from_list(dataset)

     

    평가하기

    from ragas import evaluate
    from ragas.llms import LangchainLLMWrapper
    from ragas.metrics import LLMContextRecall, Faithfulness, FactualCorrectness
    
    evaluator_llm = LangchainLLMWrapper(llm)
    result = evaluate(
        dataset=evaluation_dataset,
        metrics=[LLMContextRecall(), Faithfulness(), FactualCorrectness()],
        llm=evaluator_llm)
    
    print(result)
    {'context_recall': 1.0000, 'faithfulness': 0.8571, 'factual_correctness': 0.7280}

     

    반응형