diff --git a/llama-index-core/llama_index/core/evaluation/base.py b/llama-index-core/llama_index/core/evaluation/base.py index d95ae277277254176efc18f44df6c9d70d3bddf5..8be36063b8a41f35d26244adfe9be6a0ff4c2c80 100644 --- a/llama-index-core/llama_index/core/evaluation/base.py +++ b/llama-index-core/llama_index/core/evaluation/base.py @@ -95,8 +95,14 @@ class BaseEvaluator(PromptMixin): Subclasses can override this method to provide custom evaluation logic and take in additional arguments. """ - return asyncio.run( - self.aevaluate_response(query=query, response=response, **kwargs) + response_str: Optional[str] = None + contexts: Optional[Sequence[str]] = None + if response is not None: + response_str = response.response + contexts = [node.get_content() for node in response.source_nodes] + + return self.evaluate( + query=query, response=response_str, contexts=contexts, **kwargs ) async def aevaluate_response(