in UI/evaluation/eval.py [0:0]
def call_generate_sql_api(question, endpoint) -> tuple[str, str]:
"""
Common SQL generation function
"""
if LITE_API_PART in endpoint:
api_url = os.getenv('LITE_EXECUTORS')
few_shot_gen = False
if params["lite_model"] == FEW_SHOT_GENERATION:
few_shot_gen = True
data = {"question": question,
"execute_sql": params["execution"],
"few_shot": few_shot_gen}
else:
api_url = os.getenv('CORE_EXECUTORS')
data = {"question": question,
"execute_sql": params["execution"]}
headers = {"Content-type": "application/json",
"Authorization": f"Bearer {params['access_token']}"}
api_endpoint = f"{api_url}/{endpoint}"
logger.info(f"Invoking API : {api_endpoint}")
logger.info(f"Provided parameters are : Data = {data}")
api_response = requests.post(api_endpoint,
data=json.dumps(data),
headers=headers,
timeout=None)
exec_result = ""
try:
resp = api_response.json()
logger.info(f"API resonse : {resp}")
sql = resp['generated_query']
exec_result = resp['sql_result']
except RuntimeError:
sql = "Execution Failed ! Error encountered in RAG Executor"
logger.info(f"Generated SQL = {sql}")
return sql, exec_result