File size: 1,307 Bytes
05e3517
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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