File size: 1,879 Bytes
f9494c2
4964562
b3a99ca
1a0d7ed
988c7cc
af2645a
1791798
5f2f34f
 
 
988c7cc
5f2f34f
988c7cc
 
5f2f34f
988c7cc
5f2f34f
988c7cc
 
5f2f34f
40fbdfe
12ad28b
eb50f34
 
e012855
 
 
 
12ad28b
eb50f34
 
12ad28b
1791798
4cc36bd
988c7cc
5f2f34f
ee6c2b7
 
3c112ae
 
cb1ffb7
3c112ae
 
f2d6089
0f71b02
e35cd34
8d748e6
57251df
cc13f62
 
5f2f34f
 
c968cc6
4964562
b3f7202
658e438
 
74b00de
95ea877
988c7cc
 
 
96af30c
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64

from langchain_google_genai import ChatGoogleGenerativeAI
import pandas as pd
import os
import io
from flask import Flask, request, jsonify
from flask_cors import CORS, cross_origin
from langchain_experimental.agents.agent_toolkits import create_pandas_dataframe_agent
from langchain.agents.agent_types import AgentType
import pandas as pd
from dotenv import load_dotenv
import json


from dotenv import load_dotenv

load_dotenv()


app = Flask(__name__)
cors = CORS(app)



@app.route("/", methods=["GET"])
def home():
   
    return "Hello Qx!"

gemini_api_key = os.environ['GOOGLE_API_KEY']

@app.route("/predict", methods=["POST"])
@cross_origin()
def bot():
    load_dotenv()
    #
    json_table = request.json.get("json_table")
    user_question = request.json.get("user_question")
    #data = request.get_json(force=True)TRye
    #print(req_body)
    #data = eval(req_body)
    #json_table = data["json_table"]
    #user_question = data["user_question"]
    #print(json_table)
    print(user_question)
    data = eval(str(json_table))
    df = pd.DataFrame(data)
    print(list(df))
    #df = df.rename(columns={'dateupdated': 'date'})
    #df['date'] = pd.to_datetime(df['date'], format="%b %d", errors='coerce')
    #df['Profit'] = df['Profit'].apply(lambda x: "R{:.1f}".format((x)))
    #df['Revenue'] = df['Revenue'].apply(lambda x: "R{:.1f}".format((x)))
    llm = ChatGoogleGenerativeAI(model='gemini-1.5-pro', temperature=0.1, google_api_key=gemini_api_key)
    #llm = GooglePalm(temperature=0, google_api_key=os.environ['PALM'])
    
    agent = create_pandas_dataframe_agent(llm, df, agent="structured_chat-zero-shot-react-description", verbose=True)
    response = agent.run(user_question)
    #response.headers.add('Access-Control-Allow-Origin', '*')
    return jsonify(response)


if __name__ == "__main__":
    app.run(debug=True,host="0.0.0.0", port=7860)