pgurazada1 commited on
Commit
e9d0211
·
verified ·
1 Parent(s): b89f07e

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +54 -0
app.py ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import pandas as pd
3
+
4
+ from dotenv import load_dotenv
5
+
6
+ from flask import request, Flask, jsonify
7
+
8
+ from langchain.agents.agent_types import AgentType
9
+ from langchain_experimental.agents.agent_toolkits import create_pandas_dataframe_agent
10
+
11
+ from langchain_openai import ChatOpenAI
12
+
13
+ load_dotenv()
14
+
15
+ gpt35 = ChatOpenAI(
16
+ model_name="gpt-3.5-turbo",
17
+ api_key=os.environ.get("OPENAI_API_KEY"),
18
+ temperature=0
19
+ )
20
+
21
+ data_file = "dataset_43718.pq"
22
+ bank_data = pd.read_parquet(data_file)
23
+
24
+ pandas_agent = create_pandas_dataframe_agent(
25
+ llm=gpt35,
26
+ df=bank_data,
27
+ verbose=False,
28
+ agent_type=AgentType.OPENAI_FUNCTIONS,
29
+ allow_dangerous_code=True
30
+ )
31
+
32
+ dataframe_agent_api = Flask("DataFrame Agent")
33
+
34
+ @dataframe_agent_api.get('/')
35
+ def home():
36
+ return 'Welcome to the DataFrame Agent'
37
+
38
+ @dataframe_agent_api.post('/v1/input')
39
+ def predict():
40
+
41
+ user_input = request.get_data(as_text=True)
42
+
43
+ try:
44
+ response = pandas_agent.invoke(user_input)
45
+
46
+ prediction = response['output']
47
+
48
+ except Exception as e:
49
+ prediction = e
50
+
51
+ return jsonify({'output': prediction})
52
+
53
+ if __name__ == '__main__':
54
+ dataframe_agent_api.run(debug=True, host='0.0.0.0', port=8000)