Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -2,16 +2,15 @@ import os
|
|
| 2 |
import numpy as np
|
| 3 |
import xgboost as xgb
|
| 4 |
import gradio as gr
|
| 5 |
-
from
|
| 6 |
-
from google.genai import types
|
| 7 |
|
| 8 |
# ==========================================
|
| 9 |
-
# 🔌 1.
|
| 10 |
# ==========================================
|
| 11 |
-
api_key = os.environ.get("
|
| 12 |
client = None
|
| 13 |
if api_key:
|
| 14 |
-
client =
|
| 15 |
|
| 16 |
# ==========================================
|
| 17 |
# 📊 2. SENTETİK XGBOOST MODELİ (MOCK TRAIN)
|
|
@@ -68,7 +67,7 @@ def predict_and_analyze(home_team, away_team, home_rank, away_rank, home_form, a
|
|
| 68 |
f"{away_team} Galibiyeti (2)": p_away
|
| 69 |
}
|
| 70 |
|
| 71 |
-
#
|
| 72 |
prompt = f"""
|
| 73 |
Sen uzman bir spor analisti ve profesyonel bir veri modelleyicisisin.
|
| 74 |
|
|
@@ -91,21 +90,22 @@ def predict_and_analyze(home_team, away_team, home_rank, away_rank, home_form, a
|
|
| 91 |
Yorumların rasyonel, nesnel ve profesyonel olsun.
|
| 92 |
"""
|
| 93 |
|
| 94 |
-
#
|
| 95 |
if client:
|
| 96 |
try:
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
|
|
|
|
| 103 |
)
|
| 104 |
-
analysis_result = response.
|
| 105 |
except Exception as e:
|
| 106 |
-
analysis_result = f"
|
| 107 |
else:
|
| 108 |
-
analysis_result = "
|
| 109 |
|
| 110 |
return analysis_result, prob_dict
|
| 111 |
|
|
@@ -115,8 +115,8 @@ def predict_and_analyze(home_team, away_team, home_rank, away_rank, home_form, a
|
|
| 115 |
with gr.Blocks(theme=gr.themes.Soft(primary_hue="blue", secondary_hue="slate")) as demo:
|
| 116 |
gr.Markdown(
|
| 117 |
"""
|
| 118 |
-
# ⚽ XGBoost &
|
| 119 |
-
Bu uygulama, girdiğiniz takım verilerini **XGBoost** sınıflandırıcısı ile tarayıp olasılıkları hesaplar ve **
|
| 120 |
"""
|
| 121 |
)
|
| 122 |
|
|
@@ -143,7 +143,7 @@ with gr.Blocks(theme=gr.themes.Soft(primary_hue="blue", secondary_hue="slate"))
|
|
| 143 |
gr.Markdown("### 📈 Matematiksel Kazanma Olasılıkları (XGBoost)")
|
| 144 |
prob_output = gr.Label(label="Olasılık Dağılımı")
|
| 145 |
|
| 146 |
-
gr.Markdown("### 🧠
|
| 147 |
analysis_output = gr.Markdown(value="Verileri girdikten sonra butona basarak analizi başlatabilirsiniz.")
|
| 148 |
|
| 149 |
submit_btn.click(
|
|
@@ -158,4 +158,4 @@ with gr.Blocks(theme=gr.themes.Soft(primary_hue="blue", secondary_hue="slate"))
|
|
| 158 |
)
|
| 159 |
|
| 160 |
if __name__ == "__main__":
|
| 161 |
-
demo.launch()
|
|
|
|
| 2 |
import numpy as np
|
| 3 |
import xgboost as xgb
|
| 4 |
import gradio as gr
|
| 5 |
+
from groq import Groq # Gemini kütüphanesi yerine Groq kütüphanesi eklendi
|
|
|
|
| 6 |
|
| 7 |
# ==========================================
|
| 8 |
+
# 🔌 1. GROQ CLIENT BAŞLATMA
|
| 9 |
# ==========================================
|
| 10 |
+
api_key = os.environ.get("GROQ_API_KEY")
|
| 11 |
client = None
|
| 12 |
if api_key:
|
| 13 |
+
client = Groq(api_key=api_key)
|
| 14 |
|
| 15 |
# ==========================================
|
| 16 |
# 📊 2. SENTETİK XGBOOST MODELİ (MOCK TRAIN)
|
|
|
|
| 67 |
f"{away_team} Galibiyeti (2)": p_away
|
| 68 |
}
|
| 69 |
|
| 70 |
+
# Groq Analiz Promptu
|
| 71 |
prompt = f"""
|
| 72 |
Sen uzman bir spor analisti ve profesyonel bir veri modelleyicisisin.
|
| 73 |
|
|
|
|
| 90 |
Yorumların rasyonel, nesnel ve profesyonel olsun.
|
| 91 |
"""
|
| 92 |
|
| 93 |
+
# Groq API Çağrısı
|
| 94 |
if client:
|
| 95 |
try:
|
| 96 |
+
# Groq'un desteklediği güncel ve başarılı bir model kullanıyoruz
|
| 97 |
+
response = client.chat.completions.create(
|
| 98 |
+
model="llama-3.3-70b-versatile",
|
| 99 |
+
messages=[
|
| 100 |
+
{"role": "user", "content": prompt}
|
| 101 |
+
],
|
| 102 |
+
temperature=0.3,
|
| 103 |
)
|
| 104 |
+
analysis_result = response.choices[0].message.content
|
| 105 |
except Exception as e:
|
| 106 |
+
analysis_result = f"Groq API Analiz Hatası: {str(e)}\n\n(Lütfen GROQ_API_KEY değişkeninizi Hugging Face Secrets alanına doğru eklediğinizden emin olun.)"
|
| 107 |
else:
|
| 108 |
+
analysis_result = "Groq API Anahtarı bulunamadı! Lütfen Hugging Face Space alanına 'GROQ_API_KEY' adıyla bir Secret ekleyin. (Yine de yukarıdaki XGBoost grafik tahminini görebilirsiniz.)"
|
| 109 |
|
| 110 |
return analysis_result, prob_dict
|
| 111 |
|
|
|
|
| 115 |
with gr.Blocks(theme=gr.themes.Soft(primary_hue="blue", secondary_hue="slate")) as demo:
|
| 116 |
gr.Markdown(
|
| 117 |
"""
|
| 118 |
+
# ⚽ XGBoost & Groq Hibrit Maç Tahmin Radarı
|
| 119 |
+
Bu uygulama, girdiğiniz takım verilerini **XGBoost** sınıflandırıcısı ile tarayıp olasılıkları hesaplar ve **Groq (Llama 3.3)** yapay zekası ile matematiksel olarak yorumlar.
|
| 120 |
"""
|
| 121 |
)
|
| 122 |
|
|
|
|
| 143 |
gr.Markdown("### 📈 Matematiksel Kazanma Olasılıkları (XGBoost)")
|
| 144 |
prob_output = gr.Label(label="Olasılık Dağılımı")
|
| 145 |
|
| 146 |
+
gr.Markdown("### 🧠 Groq Yapay Zeka Analiz Raporu")
|
| 147 |
analysis_output = gr.Markdown(value="Verileri girdikten sonra butona basarak analizi başlatabilirsiniz.")
|
| 148 |
|
| 149 |
submit_btn.click(
|
|
|
|
| 158 |
)
|
| 159 |
|
| 160 |
if __name__ == "__main__":
|
| 161 |
+
demo.launch()
|