sudip1987 commited on
Commit
2f57648
·
verified ·
1 Parent(s): b437888

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -11
app.py CHANGED
@@ -27,11 +27,11 @@ class SQLPromptModel:
27
  schema = cursor.fetchall()
28
  if schema:
29
  return schema
30
- else:
31
  return None
32
  #return schema if schema else None
33
 
34
- def text2sql_gemini(self, schema, user_prompt, inp_prompt=None):
35
  # Convert table columns to string format
36
  table_columns = ', '.join([f"{col[1]} {col[2]}" for col in schema])
37
  #col[1] - column name/index
@@ -40,13 +40,13 @@ class SQLPromptModel:
40
  # Create prompt for Gemini AI
41
  prompt = f"""Below are SQL table schemas paired with instructions that describe a task.
42
  Using valid SQLite, write a response that appropriately completes the request for the provided tables.
43
- ### Instruction: {user_prompt} ###
44
  Input: CREATE TABLE sql_pdf({table_columns});
45
- ### Response: (Return only generated query based on user_prompt , nothing extra)"""
46
 
47
  # Replace default prompt with user input if provided
48
- if inp_prompt is not None:
49
- prompt = prompt.replace(user_prompt, inp_prompt + " ")
50
 
51
  # Get SQL query from Gemini
52
  completion = genai_model.generate_content(prompt)
@@ -72,13 +72,13 @@ class SQLPromptModel:
72
  self.conn.commit()
73
  return rows, columns
74
 
75
- def execute_sql_query(input_prompt):
76
  # Database file path
77
  database = r"sql_pdf.db"
78
  sql_model = SQLPromptModel(database)
79
 
80
  # Default prompt if none provided
81
- user_prompt = "Give complete details of properties in India"
82
 
83
  # Try operation up to 3 times
84
  for _ in range(3):
@@ -87,10 +87,10 @@ def execute_sql_query(input_prompt):
87
  table_schema = sql_model.fetch_table_schema("sql_pdf")
88
  if table_schema:
89
  # Generate and execute query
90
- if input_prompt.strip():
91
- query = sql_model.text2sql_gemini(table_schema, user_prompt, input_prompt)
92
  else:
93
- query = sql_model.text2sql_gemini(table_schema, user_prompt, user_prompt)
94
 
95
  rows, columns = sql_model.execute_query(query)
96
  # Return formatted results
 
27
  schema = cursor.fetchall()
28
  if schema:
29
  return schema
30
+ else
31
  return None
32
  #return schema if schema else None
33
 
34
+ def text2sql_gemini(self, schema, def_query, user_query=None):
35
  # Convert table columns to string format
36
  table_columns = ', '.join([f"{col[1]} {col[2]}" for col in schema])
37
  #col[1] - column name/index
 
40
  # Create prompt for Gemini AI
41
  prompt = f"""Below are SQL table schemas paired with instructions that describe a task.
42
  Using valid SQLite, write a response that appropriately completes the request for the provided tables.
43
+ ### Instruction: {def_query} ###
44
  Input: CREATE TABLE sql_pdf({table_columns});
45
+ ### Response: (Return only generated query based on def_query , nothing extra)"""
46
 
47
  # Replace default prompt with user input if provided
48
+ if user_query is not None:
49
+ prompt = prompt.replace(def_query, user_query + " ")
50
 
51
  # Get SQL query from Gemini
52
  completion = genai_model.generate_content(prompt)
 
72
  self.conn.commit()
73
  return rows, columns
74
 
75
+ def execute_sql_query(user_query):
76
  # Database file path
77
  database = r"sql_pdf.db"
78
  sql_model = SQLPromptModel(database)
79
 
80
  # Default prompt if none provided
81
+ def_query = "Give complete details of properties in India"
82
 
83
  # Try operation up to 3 times
84
  for _ in range(3):
 
87
  table_schema = sql_model.fetch_table_schema("sql_pdf")
88
  if table_schema:
89
  # Generate and execute query
90
+ if user_query.strip():
91
+ query = sql_model.text2sql_gemini(table_schema, def_query, user_query)
92
  else:
93
+ query = sql_model.text2sql_gemini(table_schema, def_query, def_query)
94
 
95
  rows, columns = sql_model.execute_query(query)
96
  # Return formatted results