in src/dfcx_scrapi/tools/datastore_evaluator.py [0:0]
def export_to_bigquery(
self,
eval_results,
project_id: str,
dataset_id: str,
table_name: str,
credentials
):
data=eval_results.scrape_outputs["query_result"].apply(
lambda x: x.to_row())
data = pd.DataFrame(data.to_list(),eval_results.scrape_outputs.index)
eval_results.scrape_outputs["query_result"] = None
df = pd.concat(
[
data,
eval_results.scrape_outputs,
eval_results.metric_outputs
],
axis=1)
df = EvaluationResult.sanitize_column_names(df)
client = bigquery.Client(project=project_id, credentials=credentials)
try:
df['conversation_id'] = df['conversation_id'].astype(str)
df['latency'] = df['latency'].astype(str)
df['expected_uri'] = df['expected_uri'].astype(str)
df['answerable'] = df['answerable'].astype(str)
df['golden_snippet'] = df['golden_snippet'].astype(str)
df = df.drop('query_result', axis=1)
df = df.drop('golden_snippet', axis=1)
df = df.drop('answerable', axis=1)
load_job = client.load_table_from_dataframe(df, '.'.join(
[project_id, dataset_id, table_name]))
return load_job.result()
except Exception as e:
print(f"Error exporting data: {e}")
return None # Indicate failure