AliInamdar commited on
Commit
34ed036
Β·
verified Β·
1 Parent(s): 99040a2

Delete src/streamlit_app.py

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +0 -66
src/streamlit_app.py DELETED
@@ -1,66 +0,0 @@
1
- import streamlit as st
2
- import pandas as pd
3
- import os
4
- from groq import Groq
5
-
6
- # Set page configuration
7
- st.set_page_config(page_title="πŸ“Š Excel SQL Assistant", layout="centered")
8
- st.title("🧠 Excel to SQL with GROQ + Streamlit")
9
-
10
- # Load Groq API key from Streamlit secrets
11
- GROQ_API_KEY = st.secrets.get("GROQ_API_KEY", None)
12
-
13
- # Fallback warning if API key not found
14
- if not GROQ_API_KEY:
15
- st.error("❌ GROQ API key not found. Please set it in your Hugging Face `secrets` tab.")
16
- st.stop()
17
-
18
- # Initialize Groq client
19
- client = Groq(api_key=GROQ_API_KEY)
20
-
21
- # Upload Excel file
22
- uploaded_file = st.file_uploader("πŸ“‚ Upload your Excel file", type=["xlsx"])
23
- st.write("πŸ“ Uploaded file object:", uploaded_file) # Debugging aid
24
-
25
- # Text input for user query
26
- user_query = st.text_input("πŸ’¬ Ask a question about your data")
27
-
28
- # Generate button
29
- if st.button("πŸš€ Generate & Run SQL"):
30
- if uploaded_file is not None and user_query.strip() != "":
31
- try:
32
- df = pd.read_excel(uploaded_file)
33
- st.success("βœ… File successfully loaded!")
34
-
35
- # Create schema-like string from the DataFrame
36
- preview = df.head(5).to_string(index=False)
37
- schema = f"Here are the first few rows of the dataset:\n\n{preview}"
38
-
39
- # Prompt to Groq
40
- full_prompt = f"""You are a data expert. Write a Pandas code snippet to answer the following question based on the data:\n\n{schema}\n\nQuestion: {user_query}"""
41
-
42
- with st.spinner("⏳ Generating SQL-like response using Groq..."):
43
- response = client.chat.completions.create(
44
- model="mixtral-8x7b-32768",
45
- messages=[
46
- {"role": "system", "content": "You are an expert data assistant that writes pandas code based on user questions."},
47
- {"role": "user", "content": full_prompt}
48
- ]
49
- )
50
-
51
- answer = response.choices[0].message.content
52
- st.code(answer, language="python")
53
-
54
- # Optionally: try to run it
55
- try:
56
- local_vars = {"df": df.copy()}
57
- exec(answer, {}, local_vars)
58
- if 'df' in local_vars:
59
- st.dataframe(local_vars['df'])
60
- except Exception as e:
61
- st.warning(f"⚠️ Could not execute the code:\n\n{e}")
62
-
63
- except Exception as e:
64
- st.error(f"❌ Error processing file: {e}")
65
- else:
66
- st.warning("⚠️ Please upload a file and enter a question.")