Qx-WhatsApp2 / main.py
rairo's picture
Update main.py
0efaead verified
raw
history blame
2.21 kB
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 requests
import pandas as pd
from datetime import datetime
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("quant-app-99d09-firebase-adminsdk-6prb1-37f34e1c91.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)