from flask import Flask, request, jsonify from mistral import Mistral7B from gpt import ChatGpt from news import News from datetime import datetime from os import listdir from web import Online_Scraper app = Flask(__name__) # Tracking API usage @app.route('/mistral7b', methods=['POST']) def generate(): global counter # Get data from the request data = request.json prompt = data.get('prompt', '') messages = data.get('messages', []) key = data.get('key', '') # Call Mistral7B function response, updated_messages, execution_time = Mistral7B(prompt, messages,key) # Prepare the response result = { 'response': response, 'messages': updated_messages, 'execution_time': execution_time } return jsonify(result) @app.route('/chatgpt', methods=['POST']) def chat(): global counter # Get data from the request data = request.json user_message = data.get('message', '') messages = data.get('messages', []) # Call ChatGpt function response, updated_messages, execution_time = ChatGpt(user_message, messages) # Prepare the response result = { 'response': response, 'messages': updated_messages, 'execution_time': execution_time } return jsonify(result) @app.route('/news', methods=['GET']) def get_news(): global counter # Get data from the request key = request.args.get('key', '') cache_flag = request.args.get('cache', 'True').lower() == 'true' # Call News function news, error, execution_time = News(key, cache_flag) # Prepare the response result = { 'news': news, 'error': error, 'execution_time': execution_time } return jsonify(result) @app.route('/web', methods=['GET']) def Web(): key = request.args.get('prompt', '') result = { 'response': Online_Scraper(key) } counter["Web"]+=1 return jsonify(result) @app.route('/divyanshpizza', methods=['GET']) def get_counters(): global counter return jsonify(counter),jsonify({"data":str(listdir(r"static/data/"))}) if __name__ == '__main__': app.run()