Ensarioglu commited on
Commit
2a9f597
·
verified ·
1 Parent(s): af6d425

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -54
app.py CHANGED
@@ -1,72 +1,34 @@
1
- from flask import Flask, request, jsonify
2
  import requests
3
  import os
4
- import time
5
 
6
  app = Flask(__name__)
7
-
8
  HF_TOKEN = os.getenv("HF_TOKEN")
9
- API_URL = "https://router.huggingface.co/v1/chat/completions"
10
-
11
- # 2026 GÜNCEL ELİT 20 MODEL (Limit Dostu ve Zeki)
12
- MODELLER = [
13
- "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
14
- "meta-llama/Llama-3.3-70B-Instruct",
15
- "deepseek-ai/DeepSeek-V3",
16
- "Qwen/Qwen2.5-72B-Instruct-AWQ",
17
- "meta-llama/Llama-3.1-70B-Instruct",
18
- "deepseek-ai/DeepSeek-R1-Distill-Llama-70B",
19
- "google/gemma-2-27b-it",
20
- "Qwen/Qwen2.5-Coder-32B-Instruct",
21
- "mistralai/Mistral-Small-2409",
22
- "meta-llama/Meta-Llama-3-70B-Instruct"
23
- ]
24
-
25
- model_sayaci = 0
26
 
27
  @app.route("/", methods=["POST"])
28
  def handle_request():
29
- global model_sayaci
30
- secilen_model = MODELLER[model_sayaci % len(MODELLER)]
31
- model_sayaci += 1
32
-
33
  try:
34
- data = request.get_json()
35
- istatistikler = data.get("istatistikler", "")
36
-
37
- headers = {"Authorization": f"Bearer {HF_TOKEN}", "Content-Type": "application/json"}
38
 
39
- payload = {
40
- "model": secilen_model,
41
- "messages": [
42
- {
43
- "role": "system",
44
- "content": "Sen profesyonel bir spor analistisin. İstatistiklere göre 4.0 ile 10.0 arasında uzman reytingi ver. Sadece 'İsim: Puan' formatında yaz. Örn: Kaptan: 8,4"
45
- },
46
- {"role": "user", "content": istatistikler}
47
- ],
48
- "max_tokens": 150,
49
- "temperature": 0.3
50
- }
51
-
52
- response = requests.post(API_URL, headers=headers, json=payload, timeout=40)
53
-
54
- # LİMİT SORGULAMA (Dokunulmadı, canavar gibi çalışıyor)
55
- kalan = response.headers.get("x-ratelimit-remaining-requests", "Gizli")
56
- toplam = response.headers.get("x-ratelimit-limit-requests", "Gizli")
57
- reset = response.headers.get("x-ratelimit-reset", "0")
58
 
59
  if response.status_code == 200:
60
- cevap = response.json()['choices'][0]['message']['content']
 
 
 
61
  return jsonify({
62
- "model": secilen_model,
63
- "puanlar": cevap.replace(".", ","),
64
- "kalan_hak": kalan,
65
- "toplam_limit": toplam,
66
- "reset": reset
67
  })
68
  else:
69
- return jsonify({"error": "Limit veya Model Hatası", "kod": response.status_code}), response.status_code
70
 
71
  except Exception as e:
72
  return jsonify({"error": str(e)}), 500
 
1
+ from flask import Flask, jsonify
2
  import requests
3
  import os
 
4
 
5
  app = Flask(__name__)
 
6
  HF_TOKEN = os.getenv("HF_TOKEN")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
  @app.route("/", methods=["POST"])
9
  def handle_request():
 
 
 
 
10
  try:
11
+ # Hugging Face API'sinden senin key'inle erişilebilen modelleri çekiyoruz
12
+ headers = {"Authorization": f"Bearer {HF_TOKEN}"}
13
+ # Chat uyumlu ve popüler modelleri filtreleyen URL
14
+ url = "https://huggingface.co/api/models?pipeline_tag=text-generation&sort=downloads&direction=-1&limit=30"
15
 
16
+ response = requests.get(url, headers=headers)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
 
18
  if response.status_code == 200:
19
+ modeller = response.json()
20
+ model_isimleri = [m['id'] for m in modeller]
21
+
22
+ # Godot'ya listeyi gönder
23
  return jsonify({
24
+ "model": "SİSTEM TARAYICI",
25
+ "puanlar": "\n".join(model_isimleri),
26
+ "kalan_hak": "Sınırsız",
27
+ "toplam_limit": "Tarama Modu",
28
+ "reset": "0"
29
  })
30
  else:
31
+ return jsonify({"error": "Modeller çekilemedi", "kod": response.status_code}), 400
32
 
33
  except Exception as e:
34
  return jsonify({"error": str(e)}), 500