hamedhub1's picture
Create app.py
20a67a9 verified
import gradio as gr
import os
import time
# --- ۱. مدیریت رازها (Security/Secrets) ---
API_KEY = os.environ.get("YOUR_PAID_API_KEY", "Default_Key_for_Testing")
# --- ۲. کنترل هزینه (Rate Limiting/Metering) ---
USAGE_TRACKER = {}
MAX_REQUESTS_PER_SESSION = 5
def get_user_identifier():
# شناسه موقت برای ردیابی مصرف
return "simulated_user_session"
def process_data(user_input):
user_id = get_user_identifier()
current_usage = USAGE_TRACKER.get(user_id, 0)
if current_usage >= MAX_REQUESTS_PER_SESSION:
return f"🚨 سهمیه رایگان شما ({MAX_REQUESTS_PER_SESSION} درخواست) به پایان رسید. (ورودی: {user_input})"
USAGE_TRACKER[user_id] = current_usage + 1
if API_KEY == "Default_Key_for_Testing":
status = "حالت تست (رایگان): کلید پولی یافت نشد."
else:
status = f"حالت عملیاتی (پولی): کلید امن استفاده شد. (درخواست شماره {current_usage} از {MAX_REQUESTS_PER_SESSION})"
return f"نتیجه پردازش: '{user_input}' | وضعیت کنترل هزینه: {status}"
# --- ۳. رابط کاربری (Frontend) ---
iface = gr.Interface(
fn=process_data,
inputs="textbox",
outputs="textbox",
title="سیستم اتوماتیک و امن (Manual Deployment) با کنترل هزینه (Rate Limiting)",
description=f"این سیستم امن ۲۴/۷ اجرا می شود. هر کاربر فقط {MAX_REQUESTS_PER_SESSION} درخواست رایگان دارد."
)
iface.launch()