diff --git a/langchain/evaluation/qa/eval_chain.py b/langchain/evaluation/qa/eval_chain.py index 4a5fd53a1e2..bba4c298263 100644 --- a/langchain/evaluation/qa/eval_chain.py +++ b/langchain/evaluation/qa/eval_chain.py @@ -19,14 +19,20 @@ def _parse_string_eval_output(text: str) -> dict: Returns: Any: The parsed output. """ - reasoning, verdict = text.strip().rsplit("\n", maxsplit=1) + splits = text.strip().rsplit("\n", maxsplit=1) + if len(splits) == 1: + verdict = splits[0] + reasoning = None + else: + reasoning, verdict = splits + reasoning = reasoning.strip() score = ( 1 if verdict.upper() == "CORRECT" else (0 if verdict.upper() == "INCORRECT" else None) ) return { - "reasoning": reasoning.strip(), + "reasoning": reasoning, "value": verdict, "score": score, }