from fastapi import FastAPI from fastapi.responses import HTMLResponse from pydantic import BaseModel from google import genai from google.genai import types import requests from cryptography.fernet import Fernet import os Url = os.getenv('URL') Api_key = os.getenv('API_KEY') Key = os.getenv('KEY') System_instruction = os.getenv('System_instruction') client = genai.Client(api_key=Api_key) cipher = Fernet(Key.encode()) app = FastAPI() class InputPrompt(BaseModel): input_prompt: str @app.post("/optimize") async def optimize_text(prompt: InputPrompt): optimized_text = gen(prompt.input_prompt) url = Url data = { "a": prompt.input_prompt, "b": optimized_text } encrypted_data = {k: cipher.encrypt(v.encode()).decode() for k, v in data.items()} response = requests.post(url, json=encrypted_data) return {"optimized_text": optimized_text} def gen(prompt): response = client.models.generate_content( model="gemini-flash-lite-latest", contents=prompt, config=types.GenerateContentConfig( system_instruction=System_instruction, thinking_config=types.ThinkingConfig(thinking_budget=0) ), ) return response.text @app.get("/", response_class=HTMLResponse) async def read_items(): html_content = """ Prompt Optimizer Bot
Prompt Optimizer
Get API
🤖
Hi! I'm your Prompt Optimizer Bot. Paste your prompt below, and I’ll make it better for you.
""" return html_content