Zacznij terazZacznij za darmo

Ewaluacja łańcuchów tekstowych

Czas na rzetelną ewaluację końcowego wyniku – porównasz go z odpowiedzią przygotowaną przez eksperta dziedzinowego. Do tego porównania użyjesz klasy LangChainStringEvaluator z biblioteki LangSmith.

prompt_template na potrzeby ewaluacji łańcuchów tekstowych jest już gotowy:

You are an expert professor specialized in grading students' answers to questions.
You are grading the following question:{query}
Here is the real answer:{answer}
You are grading the following predicted answer:{result}
Respond with CORRECT or INCORRECT:
Grade:

Wynik działania łańcucha RAG jest przechowywany jako predicted_answer, a odpowiedź eksperta jako ref_answer.

Wszystkie niezbędne klasy zostały już zaimportowane.

To ćwiczenie jest częścią kursu

Retrieval Augmented Generation (RAG) z LangChain

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz ewaluator QA dla łańcuchów tekstowych w LangSmith, korzystając z podanych obiektów eval_llm i prompt_template.
  • Przeprowadź ewaluację wyniku RAG (predicted_answer), porównując go z odpowiedzią eksperta na pytanie query, która jest przechowywana jako ref_answer.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Create the QA string evaluator
qa_evaluator = ____(
    "____",
    config={
        "llm": ____,
        "prompt": ____
    }
)

query = "How does RAG improve question answering with LLMs?"

# Evaluate the RAG output by evaluating strings
score = qa_evaluator.evaluator.____(
    prediction=____,
    reference=____,
    input=____
)

print(f"Score: {score}")
Edytuj i uruchom kod