Spaces:
Sleeping
Sleeping
| import pandas as pd | |
| from retrieval_pipeline import get_relevant_documents | |
| import tqdm, time | |
| TOP_N = 3 | |
| def get_benchmark_result(path, retriever): | |
| df = pd.read_csv(path) | |
| retrieval_result = [] | |
| query_result = [[] for i in range(TOP_N)] | |
| retrieval_latency = [] | |
| # j = 0 | |
| for i, row in tqdm.tqdm(df.iterrows()): | |
| # j+=1 | |
| query = row['query'] | |
| target = row['body'] | |
| t0 = time.time() | |
| results = retriever.get_relevant_documents(query) | |
| t = time.time() - t0 | |
| retrieval_latency.append(str(t)) | |
| result_content = [result.page_content for result in results] | |
| # results_content = get_relevant_documents(query, retriever, top_k=5) | |
| for i, text in enumerate(result_content): | |
| query_result[i].append(text) | |
| if target in result_content: | |
| retrieval_result.append("Success") | |
| else: | |
| retrieval_result.append("Failed") | |
| # if j>20: | |
| # break | |
| df["retrieval_result"] = retrieval_result | |
| df["retrieval_latency"] = retrieval_latency | |
| for i in range(TOP_N): | |
| df[f'q{i+1}'] = query_result[i] | |
| df.to_csv('benchmark_result.csv') | |
| print(df['retrieval_result'].value_counts()) | |
| print(df['retrieval_result'].value_counts()/ len(df)) | |