Evaluación de cadenas
Es hora de evaluar de verdad el resultado final comparándolo con una respuesta escrita por una persona experta en la materia. Usarás la clase LangChainStringEvaluator de LangSmith para realizar esta evaluación por comparación de cadenas.
Ya tienes preparado un prompt_template para la evaluación de cadenas:
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:
La salida de la cadena RAG se guarda como predicted_answer y la respuesta de la persona experta como ref_answer.
Todas las clases necesarias ya se han importado por ti.
Este ejercicio forma parte del curso
Retrieval Augmented Generation (RAG) con LangChain
Instrucciones del ejercicio
- Crea el evaluador de cadenas de QA de LangSmith usando
eval_llmyprompt_template. - Evalúa la salida de RAG,
predicted_answer, comparándola con la respuesta experta a laquery, que está guardada enref_answer.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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}")