Spaces:
Sleeping
Sleeping
Upload 2 files
Browse files- app.py +34 -0
- requirements.txt +7 -0
app.py
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import pandas as pd
|
2 |
+
from langchain_openai import ChatOpenAI
|
3 |
+
from langchain_experimental.agents.agent_toolkits import create_pandas_dataframe_agent
|
4 |
+
from langchain.agents.agent_types import AgentType
|
5 |
+
import streamlit as st
|
6 |
+
import os
|
7 |
+
from dotenv import load_dotenv
|
8 |
+
|
9 |
+
load_dotenv()
|
10 |
+
|
11 |
+
llm = ChatOpenAI(temperature=0.5, model="mistralai/mistral-7b-instruct:free",base_url="https://openrouter.ai/api/v1",api_key=os.getenv("OPENAI_API_KEY"))
|
12 |
+
st.set_page_config(
|
13 |
+
page_title="Data Frame Agent"
|
14 |
+
)
|
15 |
+
st.title("Dataframe Agent 🏢")
|
16 |
+
with st.sidebar:
|
17 |
+
st.header("Upload your CSV data and get insights from it.")
|
18 |
+
data = st.file_uploader("Upload your CSV data", type='csv')
|
19 |
+
query = st.chat_input("Ask question from data")
|
20 |
+
|
21 |
+
|
22 |
+
def get_response(df):
|
23 |
+
agent = create_pandas_dataframe_agent(
|
24 |
+
llm,
|
25 |
+
df,
|
26 |
+
verbose=True,
|
27 |
+
allow_dangerous_code=True
|
28 |
+
)
|
29 |
+
return agent.invoke(query)
|
30 |
+
|
31 |
+
if query:
|
32 |
+
df = pd.read_csv(data)
|
33 |
+
response = get_response(df)
|
34 |
+
st.success(response['output'])
|
requirements.txt
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
pandas
|
2 |
+
langchain-openai
|
3 |
+
langchain-experimental
|
4 |
+
langchain
|
5 |
+
streamlit
|
6 |
+
python-dotenv
|
7 |
+
tabulate
|