from flask import Flask, request, jsonify, render_template_string
from detoxify import Detoxify
import os
# Flask uygulamasını başlat
app = Flask(__name__)
# Detoxify Multilingual modelini yükle
model = Detoxify('multilingual')
# API anahtarını environment variable'dan al
API_KEY = os.getenv('API_KEY')
# Test arayüzü için HTML şablonu
HTML_TEMPLATE = '''
Detoxify API Test
Detoxify Multilingual API Test
'''
# Ana sayfa route'u
@app.route('/')
def home():
return render_template_string(HTML_TEMPLATE)
# API endpoint'i
@app.route('/predict', methods=['POST'])
def predict():
# İstekten JSON verisini al
data = request.get_json()
api_key = data.get('api_key')
texts = data.get('texts')
# API anahtarını kontrol et
if api_key != API_KEY:
return jsonify({"error": "Geçersiz API anahtarı"}), 401
# Girişin geçerli olduğunu kontrol et
if not texts or not isinstance(texts, list):
return jsonify({"error": "Geçersiz giriş, metin listesi bekleniyor"}), 400
# Detoxify modeliyle tahmin yap
results = model.predict(texts)
return jsonify(results)
# Sunucuyu çalıştır (HuggingFace Spaces'de bu satır otomatik işlenir)
if __name__ == '__main__':
app.run(debug=True)