Spaces:
Sleeping
Sleeping
import uuid | |
from datetime import datetime | |
def save_feedback_to_bigquery(client, user_query, generated_sql, optimized_sql, feedback, modified_sql=None): | |
"""Save user feedback to BigQuery.""" | |
if client is None: | |
print("⚠️ Cannot save feedback: No BigQuery client available") | |
return False | |
try: | |
# Create a unique ID for this feedback entry | |
feedback_id = str(uuid.uuid4()) | |
timestamp = datetime.now().isoformat() | |
# Prepare the row to insert | |
row = { | |
"feedback_id": feedback_id, | |
"timestamp": timestamp, | |
"user_query": user_query, | |
"generated_sql": generated_sql, | |
"optimized_sql": optimized_sql, | |
"modified_sql": modified_sql if modified_sql else "", | |
"feedback": feedback | |
} | |
# Define the table reference | |
table_ref = client.dataset("ecommerceaie5").table("query_feedback") | |
# Insert the row | |
errors = client.insert_rows_json(table_ref, [row]) | |
if errors: | |
print(f"⚠️ Errors inserting feedback: {errors}") | |
return False | |
return True | |
except Exception as e: | |
print(f"⚠️ Error saving feedback: {str(e)}") | |
return False |