From e5ce1911d538d11de56fbccee86985c64b76bb31 Mon Sep 17 00:00:00 2001 From: Antonino Lorenzo <94693967+antoninoLorenzo@users.noreply.github.com> Date: Tue, 16 Jul 2024 20:09:10 +0200 Subject: [PATCH] Fixed plot --- .../results/plots/context_precision.png | Bin 21778 -> 0 bytes .../rag_eval/results/plots/context_recall.png | Bin 24743 -> 0 bytes .../results/plots/context_relevancy.png | Bin 31803 -> 0 bytes data/rag_eval/results/plots/plot.png | Bin 0 -> 43898 bytes data/rag_eval/results/results.json | 5 -- test/benchmarks/rag/evaluation.py | 57 +++++++++++------- 6 files changed, 36 insertions(+), 26 deletions(-) delete mode 100644 data/rag_eval/results/plots/context_precision.png delete mode 100644 data/rag_eval/results/plots/context_recall.png delete mode 100644 data/rag_eval/results/plots/context_relevancy.png create mode 100644 data/rag_eval/results/plots/plot.png diff --git a/data/rag_eval/results/plots/context_precision.png b/data/rag_eval/results/plots/context_precision.png deleted file mode 100644 index e1843d02705ce648d42e98440941dd4a16f6e4b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21778 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

oaSkTn$c{aq0IKuM%b(3jAC;*kCxneR86# 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 Z0qc6JGJD90uP`G_T0-GQw%DzQ{}&T39T5Nk diff --git a/data/rag_eval/results/plots/context_recall.png b/data/rag_eval/results/plots/context_recall.png deleted file mode 100644 index f1765beb24d964956728f165d71cc13fb508a9aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24743 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 J%hdU|{{j{VS0MlZ diff --git a/data/rag_eval/results/plots/context_relevancy.png b/data/rag_eval/results/plots/context_relevancy.png deleted file mode 100644 index fbed3205e59bd7d5982e95f46144660753028ad6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31803 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�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 diff --git a/data/rag_eval/results/plots/plot.png b/data/rag_eval/results/plots/plot.png new file mode 100644 index 0000000000000000000000000000000000000000..7388276f114028efc784389175856ac9c748d474 GIT binary patch literal 43898 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

  • -1F#Gh?YL6AT9BY$pJ$9qc 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 OM1>{qW!`=K^8W)lF?1;a literal 0 HcmV?d00001 diff --git a/data/rag_eval/results/results.json b/data/rag_eval/results/results.json index d0c1d48..54abe26 100644 --- a/data/rag_eval/results/results.json +++ b/data/rag_eval/results/results.json @@ -4,11 +4,6 @@ "context_recall": 0, "context_relevancy": 0 }, - { - "context_precision": 0.9819999999999999, - "context_recall": 0.9400000000000002, - "context_relevancy": 0 - }, { "context_precision": 0.9819999999999999, "context_recall": 0.9400000000000002, diff --git a/test/benchmarks/rag/evaluation.py b/test/benchmarks/rag/evaluation.py index 6b1d1c5..062cbe6 100644 --- a/test/benchmarks/rag/evaluation.py +++ b/test/benchmarks/rag/evaluation.py @@ -185,7 +185,10 @@ def evaluate(vdb: Store, qa_paths: list, endpoint: str, metrics: list, return metrics, eval_dataset -def update_evaluation_plots(results_df: pd.DataFrame, metrics: list, modified=True): +def update_evaluation_plots(results_df: pd.DataFrame, metrics: list, + modified=True, + rows: int = 1, + cols: int = 3): if len(metrics) == 0: raise ValueError('No metrics specified.') @@ -206,8 +209,9 @@ def update_evaluation_plots(results_df: pd.DataFrame, metrics: list, modified=Tr # Add new results res: pd.Series = results_df.mean() - new_results = {metric_name: res[metric_name] if metric_name in res else content[len(content) - 1][metric_name] - for metric_name in content[0].keys()} + new_results = { + metric_name: res[metric_name] if metric_name in res else content[len(content) - 1][metric_name] + for metric_name in content[0].keys()} content.append(new_results) fp.seek(0) @@ -216,33 +220,44 @@ def update_evaluation_plots(results_df: pd.DataFrame, metrics: list, modified=Tr else: history = results_df - def plot_eval(plot_df: pd.DataFrame, name: str): + # Ensure the grid has enough space for all metrics + total_metrics = len(metrics) + if rows * cols < total_metrics: + raise ValueError(f'Grid size ({rows}x{cols}) is too small for {total_metrics} metrics.') + + # Create a single plot with subplots for each metric + fig, axes = plt.subplots(rows, cols, figsize=(cols * 5, rows * 5)) + axes = axes.flatten() # Flatten in case of a single row or column + + def plot_eval(ax, plot_df: pd.DataFrame, name: str): """Create a plot for an evaluation metric, the columns should be named 'x' and 'y'""" - sns.lineplot(data=plot_df, x='x', y='y', zorder=0) - plt.scatter( + sns.lineplot(data=plot_df, x='x', y='y', ax=ax, zorder=0) + ax.scatter( plot_df.iloc[1:]['x'], plot_df.iloc[1:]['y'], color='#000000', s=15, zorder=1 ) - - plt.ylim(0, 1) - plt.xticks(range(0, len(plot_df))) - - plt.title(f'RAG Evaluation: {name}') - plt.ylabel(name) - plt.xlabel('') - return plt + ax.set_ylim(0, 1) + ax.set_xticks(range(0, len(plot_df))) + ax.set_title(f'RAG Evaluation: {name}') + ax.set_ylabel(name) + ax.set_xlabel('') # Output the updated evaluation plots - plots = {} - for col in history.columns: + for i, col in enumerate(history.columns): values = history[col].to_list() - plots[col] = [{'x': i, 'y': val} for i, val in enumerate(values)] - metric_plot_df = pd.DataFrame(plots[col]) - plot = plot_eval(metric_plot_df, col) - plot.savefig(f'../../../data/rag_eval/results/plots/{col}.png') + metric_plot_df = pd.DataFrame([{'x': i, 'y': val} for i, val in enumerate(values)]) + plot_eval(axes[i], metric_plot_df, col) + + # Hide any unused subplots + for j in range(i + 1, len(axes)): + fig.delaxes(axes[j]) + + plt.tight_layout() + plt.savefig(f'../../../data/rag_eval/results/plots/plot.png') + plt.close() def main(plot_only=False): @@ -279,4 +294,4 @@ def main(plot_only=False): if __name__ == '__main__': - main(plot_only=False) + main(plot_only=True)