saicharantej's picture
Update app.py
f752821
Raw
History Blame Contribute Delete
1.22 kB
import pandas as pd
import gradio as gr
from langchain.llms import OpenAI
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate
from langchain_experimental.agents.create_pandas_dataframe_agent import create_pandas_dataframe_agent
import os
import openai
openai.api_key = os.getenv('api_token')
# Load the CSV file
def load_csv(file):
print ("File is",file)
df = pd.read_csv(file.name)
print (df.head())
return df
# Define the function that generates the response
def generate_response(question, file):
# Load the CSV file
df = load_csv(file)
# Initialize OpenAI pipeline
agent = create_pandas_dataframe_agent(OpenAI(temperature=0,openai_api_key=openai.api_key), df, verbose=True)
# Generate response using OpenAI
response = agent.run(question)
return response
# Define the input and output interfaces
title = "Data Detective: Ask questions directly to your data"
csv_file = gr.inputs.File(label="CSV File")
question = gr.inputs.Textbox(label="Question")
output_text = gr.outputs.Textbox(label="Response")
# Create the Gradio app
gr.Interface(generate_response, inputs=[question, csv_file], outputs=output_text, title=title).launch(debug=True)