interesting / app.py
anon4ik's picture
Update app.py
39b20ee verified
import asyncio
import json
from flask_cors import CORS
from flask import Flask, request, jsonify
from waitress import serve
import concurrent.futures
import requests
import os
import google.generativeai as genai
app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False
CORS(app, resources={r"/*": {"origins": "*"}})
API_KEY = os.environ['API_KEY2']
genai.configure(api_key=API_KEY)
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",
safety_settings = safety_settings,
generation_config = genai.GenerationConfig(
candidate_count = 1,
max_output_tokens = 4096,
temperature = 0.95,
top_p = 0.9,
top_k = 40
)
)
def get_response(prompt:str):
try:
response = model.generate_content(prompt)
return response.text
except Exception as e:
return str(e) + '\nПочему:' + str(response.prompt_feedback)
def create_handler(name: str):
def handler():
try:
if name == 'write':
prompt = request.json['prompt']
try:
response = get_response(prompt)
return response
except Exception as e:
return str(e)
except Exception as error:
return jsonify({"error": str(error)}), 500
handler.__name__ = name
return handler
app.route('/write', methods=['POST'])(create_handler('write'))