import streamlit as st from pandasai.llm.openai import OpenAI from dotenv import load_dotenv import os import pandas as pd from pandasai import PandasAI load_dotenv() openai_api_key = os.getenv("OPENAI_API_KEY") def chat_with_csv(df,prompt): llm = OpenAI(api_token=openai_api_key) pandas_ai = PandasAI(llm) result = pandas_ai.run(df, prompt=prompt) print(result) return result st.set_page_config(layout='wide') st.title("ChatCSV powered by LLM") input_csv = st.file_uploader("Upload your CSV file", type=['csv']) if input_csv is not None: col1, col2 = st.columns([1,1]) with col1: st.info("CSV Uploaded Successfully") data = pd.read_csv(input_csv) st.dataframe(data, use_container_width=True) with col2: st.info("Chat Below") input_text = st.text_area("Enter your query") if input_text is not None: if st.button("Chat with CSV"): st.info("Your Query: "+input_text) result = chat_with_csv(data, input_text) st.success(result)