13
13
from sidekick .db_config import DBConfig
14
14
from sidekick .memory import EntityMemory
15
15
from sidekick .query import SQLGenerator
16
- from sidekick .utils import execute_query_pd , extract_table_names , save_query , setup_dir
16
+ from sidekick .utils import (execute_query_pd , extract_table_names , save_query ,
17
+ setup_dir )
17
18
18
19
# Load the config file and initialize required paths
19
20
base_path = (Path (__file__ ).parent / "../" ).resolve ()
@@ -410,7 +411,7 @@ def query_api(
410
411
if updated_tasks is not None :
411
412
sql_g ._tasks = updated_tasks
412
413
413
- res = sql_g .generate_sql (
414
+ res , alt_res = sql_g .generate_sql (
414
415
table_names , question , model_name = model_name , _dialect = db_dialect , is_regenerate = is_regenerate
415
416
)
416
417
logger .info (f"Input query: { question } " )
@@ -430,13 +431,14 @@ def query_api(
430
431
click .echo (f"Updated SQL:\n { updated_sql } " )
431
432
elif res_val .lower () == "r" or res_val .lower () == "regenerate" :
432
433
click .echo ("Attempting to regenerate..." )
433
- res = sql_g .generate_sql (
434
- table_names , question , model_name = model_name , _dialect = db_dialect , is_regenerate = True
434
+ res , alt_res = sql_g .generate_sql (
435
+ table_names , question , model_name = model_name , _dialect = db_dialect , is_regenerate = is_regenerate
435
436
)
436
437
logger .info (f"Input query: { question } " )
437
438
logger .info (f"Generated response:\n \n { res } " )
438
439
439
- results .extend (["Generated Query:\n " , res , "\n " ])
440
+ results .extend (["**Generated Query:**\n " , res , "\n " ])
441
+ logger .info (f"Alternate responses:\n \n { alt_res } " )
440
442
441
443
exe_sql = click .prompt ("Would you like to execute the generated SQL (y/n)?" ) if is_command else "y"
442
444
if exe_sql .lower () == "y" or exe_sql .lower () == "yes" :
@@ -484,14 +486,14 @@ def query_api(
484
486
click .echo ("Error in executing the query. Validate generated SQL and try again." )
485
487
click .echo ("No result to display." )
486
488
487
- results .append ("Query Results: \n " )
489
+ results .append ("** Query Results:** \n " )
488
490
if q_res :
489
491
click .echo (f"The query results are:\n { q_res } " )
490
492
results .extend ([str (q_res ), "\n " ])
491
493
else :
492
494
click .echo (f"While executing query:\n { err } " )
493
495
results .extend ([str (err ), "\n " ])
494
- # results.extend(["Query Results:", q_res])
496
+
495
497
save_sql = click .prompt ("Would you like to save the generated SQL (y/n)?" ) if is_command else "n"
496
498
if save_sql .lower () == "y" or save_sql .lower () == "yes" :
497
499
# Persist for future use
@@ -500,7 +502,7 @@ def query_api(
500
502
else :
501
503
click .echo ("Exiting..." )
502
504
503
- return results , err
505
+ return results , alt_res , err
504
506
505
507
506
508
if __name__ == "__main__" :
0 commit comments