I am trying to use arize-phoenix to perform eval on my langchain RAG pipeline however the get_qa_with_reference(px.Client()) function always returns None. Below is the code
queries_df = get_qa_with_reference(px.Client())
retrieved_documents_df = get_retrieved_documents(px.Client())
spans_df = px.Client().get_spans_dataframe()
run_eval(queries_df, retrieved_documents_df)
def run_eval(queries_df, retrieved_documents_df):
eval_model = LiteLLMModel(model='ollama/llama3')
hallucination_evaluator = HallucinationEvaluator(eval_model)
qa_correctness_evaluator = QAEvaluator(eval_model)
relevance_evaluator = RelevanceEvaluator(eval_model)
hallucination_eval_df, qa_correctness_eval_df = run_evals(
dataframe=queries_df,
evaluators=[hallucination_evaluator, qa_correctness_evaluator],
provide_explanation=True,
)
relevance_eval_df = run_evals(
dataframe=retrieved_documents_df,
evaluators=[relevance_evaluator],
provide_explanation=True,
)[0]
px.Client().log_evaluations(
SpanEvaluations(eval_name="Hallucination", dataframe=hallucination_eval_df),
SpanEvaluations(eval_name="QA Correctness", dataframe=qa_correctness_eval_df),
DocumentEvaluations(eval_name="Relevance", dataframe=relevance_eval_df),
)
When printing the query_df it is always None and output shows No Spans Found despite there being spans in the arize UI. retrieved_documents_df seems to work fine.
Traceback (most recent call last):
File “C:PycharmProjectsRAGSmain.py”, line 58, in
run_eval(queries_df, retrieved_documents_df)
File “C:PycharmProjectsRAGSmain.py”, line 24, in run_eval
hallucination_eval_df, qa_correctness_eval_df = run_evals(
^^^^^^^^^^
File “C:anaconda3Libsite-packagesphoenixevalsclassify.py”, line 354, in run_evals
total_records = len(dataframe)
^^^^^^^^^^^^^^
TypeError: object of type ‘NoneType’ has no len()
Sneh Nagrecha is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.