Update app.py
Browse files
app.py
CHANGED
|
@@ -137,17 +137,25 @@ def execute_sql(sql_query):
|
|
| 137 |
return str(e)
|
| 138 |
|
| 139 |
# 🔹 STEP 4: Final combined response
|
|
|
|
| 140 |
def response(user_query):
|
| 141 |
embeddings, model, student, employee, course = create_metadata_embeddings()
|
| 142 |
table_metadata = find_best_fit(embeddings, model, user_query, student, employee, course)
|
| 143 |
system_prompt, user_prompt = create_prompt(user_query, table_metadata)
|
| 144 |
-
sql_query =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 145 |
|
| 146 |
-
if sql_query:
|
| 147 |
-
result = execute_sql(sql_query)
|
| 148 |
-
return f"🧠 SQL Query:\n{sql_query}", result
|
| 149 |
-
else:
|
| 150 |
-
return "❌ Couldn't generate a valid SQL query.", None
|
| 151 |
|
| 152 |
# 🔹 Gradio UI
|
| 153 |
desc = """Ask a natural language question about students, employees, or courses. I'll generate and run a SQL query for you."""
|
|
|
|
| 137 |
return str(e)
|
| 138 |
|
| 139 |
# 🔹 STEP 4: Final combined response
|
| 140 |
+
|
| 141 |
def response(user_query):
|
| 142 |
embeddings, model, student, employee, course = create_metadata_embeddings()
|
| 143 |
table_metadata = find_best_fit(embeddings, model, user_query, student, employee, course)
|
| 144 |
system_prompt, user_prompt = create_prompt(user_query, table_metadata)
|
| 145 |
+
sql_query = generate_output(system_prompt, user_prompt)
|
| 146 |
+
|
| 147 |
+
# Try running the query against the SQLite database
|
| 148 |
+
try:
|
| 149 |
+
conn = sqlite3.connect("college.db") # Make sure college.db is present in your repo
|
| 150 |
+
cursor = conn.cursor()
|
| 151 |
+
cursor.execute(sql_query)
|
| 152 |
+
result = cursor.fetchall()
|
| 153 |
+
conn.close()
|
| 154 |
+
|
| 155 |
+
return f"SQL Query:\n{sql_query}\n\nQuery Result:\n{result}"
|
| 156 |
+
except Exception as e:
|
| 157 |
+
return f"SQL Query:\n{sql_query}\n\nQuery Result:\nError: {str(e)}"
|
| 158 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 159 |
|
| 160 |
# 🔹 Gradio UI
|
| 161 |
desc = """Ask a natural language question about students, employees, or courses. I'll generate and run a SQL query for you."""
|