import google.generativeai as palm import pandas as pd import os import io from flask import Flask, request, jsonify from flask_cors import CORS from langchain.chains.question_answering import load_qa_chain from langchain import PromptTemplate, LLMChain from langchain_experimental.agents.agent_toolkits import create_pandas_dataframe_agent from langchain.chat_models import ChatOpenAI from langchain.agents.agent_types import AgentType from langchain.chat_models import ChatOpenAI import pandas as pd from langchain.llms import OpenAI from dotenv import load_dotenv import google.generativeai as palm from langchain.llms import GooglePalm import json from dotenv import load_dotenv load_dotenv() app = Flask(__name__) cors = CORS(app, always_send=False) @app.route("/", methods=["GET"]) def home(): return "Hello Qx!" @app.route("/predict", methods=["POST"]) 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(json_table) df = pd.DataFrame(data) #df['Profit'] = df['Profit'].apply(lambda x: "R{:.1f}".format((x))) #df['Revenue'] = df['Revenue'].apply(lambda x: "R{:.1f}".format((x))) 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)