Aditya-1911's picture
Upload 2 files
ce3dad7 verified
import streamlit as st
import pandas as pd
import os
from csv_agent import generate_code
st.set_page_config(page_title="CSV Assistant with Hugging Face", layout="wide")
st.title("πŸ€– CSV Assistant: Powered by FLAN-T5-Large")
# Check API token
if os.getenv("HUGGINGFACEHUB_API_TOKEN") is None:
st.error("❌ API Token missing! Please set HUGGINGFACEHUB_API_TOKEN in your Space Secrets.")
st.stop()
st.sidebar.title("Upload Your CSV")
uploaded_file = st.sidebar.file_uploader("Choose a CSV file", type=["csv"])
if uploaded_file:
df = pd.read_csv(uploaded_file)
st.write("### Preview of your data:", df.head())
prompt = st.text_input("πŸ’¬ What would you like to do with the data?")
if prompt:
with st.spinner("Generating Python code using AI..."):
code = generate_code(prompt)
st.code(code, language="python")
try:
exec_globals = {"df": df}
exec(code, exec_globals)
df = exec_globals["df"]
st.success("βœ… Data updated successfully!")
st.write(df.head())
csv = df.to_csv(index=False).encode('utf-8')
st.download_button("⬇️ Download Updated CSV", csv, "updated_data.csv", "text/csv")
except Exception as e:
st.error(f"⚠️ Error while executing AI-generated code: {e}")