Spaces:
Sleeping
Sleeping
| def sample_data_retrieval_agent(state): | |
| """Retrieves sample data (3 rows) from each relevant table.""" | |
| relevant_tables = state.get("relevant_tables", []) | |
| client = state["client"] | |
| if not relevant_tables: | |
| return {"sample_data": {}} | |
| if client is None: | |
| return {"sample_data": {"error": "Failed to connect to BigQuery."}} | |
| sample_data = {} | |
| for table in relevant_tables: | |
| try: | |
| # Clean table name if needed | |
| clean_table = table.replace("`", "").strip() | |
| # Query to get 3 sample rows | |
| query = f""" | |
| SELECT * FROM `{clean_table}` | |
| LIMIT 3 | |
| """ | |
| query_job = client.query(query) | |
| results = query_job.result() | |
| # Convert results to a list of dictionaries | |
| rows = [] | |
| for row in results: | |
| rows.append(dict(row.items())) | |
| sample_data[clean_table] = rows | |
| except Exception as e: | |
| sample_data[clean_table] = {"error": str(e)} | |
| return {"sample_data": sample_data} |