import pandas as pd from transformers import pipeline import streamlit as st from pygwalker.api.streamlit import StreamlitRenderer import re from typing import List, Any @st.cache_resource def getPipeline(): return pipeline("text-generation", model="nvidia/Llama-3.1-Nemotron-Nano-4B-v1.1") @st.cache_resource def get_pyg_renderer(df: pd.DataFrame): return StreamlitRenderer(st.session_state.df) pipe = getPipeline() def main(): """Streamlit App""" st.set_page_config(layout="wide") st.title("Analytics Agent") file = st.file_uploader("Choose CSV", type=["csv"]) if file: if("df" not in st.session_state) or (st.session_state.get("current_file") != file.name): st.session_state.df = pd.read_csv(file) st.session_state.current_file = file.name pygApp = get_pyg_renderer(st.session_state.df) pygApp.explorer(default_tab="data") if __name__ == "__main__": main()