ValueError in Dataframe Evaluation: Missing Required Columns
Traceback:
ValueError Traceback (most recent call last)
Cell In[45], line 24
12 hallucination_eval_df, qa_correctness_eval_df = run_evals(
13 dataframe=queries_df,
14 evaluators=[hallucination_evaluator, qa_correctness_evaluator],
15 provide_explanation=True,
16 )
17 relevance_eval_df = run_evals(
18 dataframe=retrieved_documents_df,
19 evaluators=[relevance_evaluator],
20 provide_explanation=True,
21 )[0]
23 px.Client().log_evaluations(
---> 24 SpanEvaluations(eval_name="Hallucination", dataframe=hallucination_eval_df),
25 SpanEvaluations(eval_name="QA Correctness", dataframe=qa_correctness_eval_df),
26 DocumentEvaluations(eval_name="Relevance", dataframe=relevance_eval_df),
27 )
File <string>:6, in __init__(self, eval_name, dataframe)
File C:\.venvs\openai_venv\lib\site-packages\phoenix\trace\span_evaluations.py:117, in Evaluations.__post_init__(self)
115 def __post_init__(self) -> None:
116 dataframe = (
--> 117 pd.DataFrame() if self.dataframe.empty else self._clean_dataframe(self.dataframe)
118 )
119 object.__setattr__(self, "dataframe", dataframe)
File C:\.venvs\openai_venv\lib\site-packages\phoenix\trace\span_evaluations.py:141, in Evaluations._clean_dataframe(self, dataframe)
139 # Validate that the dataframe contains result columns of appropriate types.
140 if not self.is_valid_result_columns(dataframe.dtypes):
--> 141 raise ValueError(
142 f"The dataframe must contain one of these columns with appropriate "
143 f"value types: {self.result_column_names.keys()} "
144 )
146 # Un-alias to the preferred names.
147 preferred_names = [self.unalias(name) for name in dataframe.index.names]
ValueError: The dataframe must contain one of these columns with appropriate value types: dict_keys(['score', 'label', 'explanation']) 