File size: 2,295 Bytes
b3a99ca
 
1a0d7ed
988c7cc
af2645a
1791798
5f2f34f
06154c7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44041d6
988c7cc
5f2f34f
988c7cc
 
5f2f34f
988c7cc
5f2f34f
988c7cc
 
5f2f34f
40fbdfe
12ad28b
e012855
 
 
 
12ad28b
06154c7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12ad28b
1791798
4cc36bd
988c7cc
5f2f34f
ee6c2b7
 
3c112ae
 
cb1ffb7
3c112ae
 
f2d6089
0f71b02
e35cd34
8d748e6
57251df
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
import google.generativeai as palm
import pandas as pd
import os
import io
from flask import Flask, request, jsonify
from flask_cors import CORS, cross_origin
import pandas as pd
import firebase_admin
from firebase_admin import credentials, firestore, auth
import streamlit as st
import requests
import pandas as pd
from datetime import datetime
from st_on_hover_tabs import on_hover_tabs
import streamlit as st
import os
from pandasai.llm import GoogleGemini
from pandasai import SmartDataframe
from pandasai.responses.response_parser import  ResponseParser
import matplotlib.pyplot as plt
from wordcloud import WordCloud
import random

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!"


def generateResponse(dataFrame,prompt):
        llm = GoogleGemini(api_key=gemini_api_key)
        pandas_agent = SmartDataframe(dataFrame,config={"llm":llm, "response_parser":StreamLitResponse})
        answer = pandas_agent.chat(prompt)
        return answer

# Initialize Firebase app
if not firebase_admin._apps:
   
    cred = credentials.Certificate("ecomplaintbook-firebase-adminsdk-4q5bo-d27afe12f8.json")
    firebase_admin.initialize_app(cred)

db = firestore.client()

inventory_ref = db.collection('inventory')


sales_ref = db.collection('sales')

inventory_list = []
for doc in inventory_ref.stream():
    a = doc.to_dict()
    inventory_list.append(a)

sales_list = []
for doc in sales_ref.stream():
    a = doc.to_dict()
    sales_list.append(a)

inventory_df = pd.DataFrame(inventory_list)
sales_df = pd.DataFrame(sales_list)



@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))
    return jsonify(response)


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