Spaces:
DIVY118
/
Runtime error

API2 / app.py
DIVY118's picture
Update app.py
9ab660c verified
raw
history blame
5.66 kB
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
import requests
from RT import RealTimeGemini
from time import time as t
import os
app = Flask(__name__)
@app.route('/mistral7b', methods=['POST'])
def generate():
# 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():
# 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():
# 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)
}
return jsonify(result)
@app.route('/imageneration', methods=['POST'])
def IMGEN():
data = request.json
prompt = data.get('prompt', '')
key = data.get('key', '')
API_URL = "https://api-inference.huggingface.co/models/stabilityai/stable-diffusion-2-1"
headers = {"Authorization": f"Bearer {key}"}
return requests.post(API_URL, headers=headers, json={"inputs": prompt,}).content
@app.route('/generativeai', methods=['POST'])
def Genration():
try:
import google.generativeai as genai
generation_config = {
"temperature": 0.7,
"top_p": 1,
"top_k": 1,
"max_output_tokens": 300,
}
safety_settings = [
{
"category": "HARM_CATEGORY_HARASSMENT",
"threshold": "BLOCK_NONE"
},
{
"category": "HARM_CATEGORY_HATE_SPEECH",
"threshold": "BLOCK_NONE"
},
{
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "BLOCK_NONE"
},
{
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_NONE"
},
]
model = genai.GenerativeModel(
model_name="gemini-pro",
generation_config=generation_config,
safety_settings=safety_settings)
data = request.json
messages = data.get('messages', [])
key = data.get('key', '')
C=t()
genai.configure(api_key=key)
response = model.generate_content(messages)
# Prepare the response
result = {
'response': response.text,
'execution_time': t()-C
}
return jsonify(result)
except Exception as e:
result = {
'response': f"{e}",
'execution_time': t()-C
}
return jsonify(result)
@app.route('/realtime', methods=['POST'])
def GenrationRT():
try:
import google.generativeai as genai
generation_config = {
"temperature": 0.9,
"top_p": 1,
"top_k": 1,
"max_output_tokens": 2048,
}
safety_settings = [
{
"category": "HARM_CATEGORY_HARASSMENT",
"threshold": "BLOCK_NONE"
},
{
"category": "HARM_CATEGORY_HATE_SPEECH",
"threshold": "BLOCK_NONE"
},
{
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "BLOCK_NONE"
},
{
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_NONE"
},
]
model = genai.GenerativeModel(
model_name="gemini-pro",
generation_config=generation_config,
safety_settings=safety_settings)
data = request.json
query = data.get('prompt', "hello ?")
messages = data.get('messages', [])
key = data.get('key', '')
C=t()
genai.configure(api_key=key)
response = RealTimeGemini(query,messages,model)
# Prepare the response
result = {
'response': response,
'execution_time': t()-C
}
return jsonify(result)
except Exception as e:
result = {
'response': f"{e}",
'execution_time': t()-C
}
return jsonify(result)
@app.route('/divyanshpizza', methods=['GET'])
def get_counters():
return jsonify(counter),jsonify({"data":str(listdir(r"static/data/"))})
if __name__ == '__main__':
app.run()