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 |