File size: 1,098 Bytes
aae4643
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import streamlit as st
import pandas as pd
import numpy as np
from dotenv import load_dotenv
from pandasai.llm.google_gemini import GoogleGemini
from pandasai import  SmartDataframe
import os

load_dotenv()

llm=GoogleGemini(api_key=os.getenv('GOOGLE_API_KEY'))

def chat_with_csv(df,prompt):
    pandas_ai = SmartDataframe(df,config={'llm':llm})
    result=pandas_ai.chat(prompt)
    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)

    with col2:
       st.info('Chat with CSV')

       input_text=st.text_area('Enter your query')

       if input_text is not None:
           if st.button('Chat with CSV'):
              st.info(f'Your query: {input_text}')
              result=chat_with_csv(data,input_text)
              st.success(result)