Spaces:
Sleeping
Sleeping
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}") |