From f27d0ee641415a2f75031fb2572b78a0658f96e5 Mon Sep 17 00:00:00 2001 From: Ben Boinay <117600738+bboinay@users.noreply.github.com> Date: Thu, 15 Aug 2024 16:02:22 -0400 Subject: [PATCH] fix: evals assume no context if response has no source_nodes --- evals/eval_utils.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/evals/eval_utils.py b/evals/eval_utils.py index f9a8136..88c9fcb 100644 --- a/evals/eval_utils.py +++ b/evals/eval_utils.py @@ -7,12 +7,15 @@ def values_only(table_data): def extract_from_response(response): # creates context using 'text' from each 'node' in response's 'source_nodes'. also deletes any instances of '\n' - if not response or not response.source_nodes: - raise ValueError("Response is empty or invalid") + if not response: + raise ValueError("Response is empty") - source_nodes = response.source_nodes - context_list = [source_node.node.text.replace('\n', '') for source_node in source_nodes] - context = '\n\n'.join(context_list) + if hasattr(response, 'source_nodes'): + source_nodes = response.source_nodes + context_list = [source_node.node.text.replace('\n', '') for source_node in source_nodes] + context = '\n\n'.join(context_list) + else: + context = '' output = response.response