first (part 1: root files)
Deploy Iddaai Backend / build-and-deploy (push) Failing after 4s

This commit is contained in:
2026-04-16 15:09:10 +03:00
parent b4173c10bb
commit 7814e0bc6b
38 changed files with 18494 additions and 0 deletions
+170
View File
@@ -0,0 +1,170 @@
"""
VQWEN v3 Model - Manual Prediction Script
Match ID: 558o1fq1vbfsi3m5gm4ekpyc4
Match: Kaiserslautern vs F. Düsseldorf
League: 2. Bundesliga
"""
import requests
import json
from datetime import datetime
# AI Engine base URL
AI_ENGINE_URL = "http://127.0.0.1:8000"
MATCH_ID = "558o1fq1vbfsi3m5gm4ekpyc4"
def check_engine_health():
"""Check if AI Engine is running"""
try:
response = requests.get(f"{AI_ENGINE_URL}/health", timeout=5)
return response.status_code == 200
except:
return False
def run_prediction():
"""Run VQWEN v3 prediction for the match"""
print("=" * 80)
print("🤖 VQWEN v3 MODEL - MANUEL TAHMİN SİSTEMİ")
print("=" * 80)
print(f"\n📊 Maç Bilgileri:")
print(f" ID: {MATCH_ID}")
print(f" Ev Sahibi: Kaiserslautern")
print(f" Deplasman: F. Düsseldorf")
print(f" Lig: 2. Bundesliga")
print(f" Maç Zamanı: 2026-04-01 (MS: 1775300400000)")
print(f" Hakem: D. Schlager")
print()
# Check engine health
print("🔍 AI Engine kontrol ediliyor...")
if not check_engine_health():
print("❌ AI Engine (Python FastAPI) çalışmıyor!")
print()
print("️ Lütfen AI Engine'i başlatın:")
print(" cd ai-engine")
print(" uvicorn main:app --host 0.0.0.0 --port 8000 --reload")
print()
print("📋 Alternatif olarak, maç verilerini hazırlayabilirim:")
print()
# Prepare match data for analysis
match_data = {
"match_id": MATCH_ID,
"home_team": "Kaiserslautern",
"away_team": "F. Düsseldorf",
"league": "2. Bundesliga",
"match_date_ms": "1775300400000",
"referee": "D. Schlager",
"odds": {
"MS_1": 2.13,
"MS_X": 3.23,
"MS_2": 2.34,
"Alt_2.5": 2.09,
"Ust_2.5": 1.38,
"KG_Var": 1.32,
"KG_Yok": 2.25
},
"lineups_available": True,
"sidelined_count": 0
}
print("✅ Maç verileri hazırlandı:")
print(json.dumps(match_data, indent=2, ensure_ascii=False))
print()
print("⚠️ Tahmin almak için AI Engine'in çalışması gerekiyor.")
print()
return
# If engine is running, call the analysis endpoint
print("✅ AI Engine çalışıyor!")
print()
print("🎯 Tahmin yapılıyor...")
try:
response = requests.post(
f"{AI_ENGINE_URL}/v20plus/analyze/{MATCH_ID}",
json={},
timeout=60
)
if response.status_code == 200:
result = response.json()
print("\n" + "=" * 80)
print("📊 TAHMİN SONUÇLARI")
print("=" * 80)
# Main Pick
if 'main_pick' in result:
main = result['main_pick']
print(f"\n🎯 ANA TAHMİN:")
print(f" Market: {main.get('market', 'N/A')}")
print(f" Tahmin: {main.get('pick', 'N/A')}")
print(f" Oran: {main.get('odds', 'N/A')}")
print(f" Güven: {main.get('confidence', 0):.1f}%")
print(f" Olasılık: {main.get('probability', 0):.1f}%")
print(f" Bahis Derecesi: {main.get('bet_grade', 'N/A')}")
# Value Pick
if 'value_pick' in result:
value = result['value_pick']
print(f"\n💎 DEĞER TAHMİNİ:")
print(f" Market: {value.get('market', 'N/A')}")
print(f" Tahmin: {value.get('pick', 'N/A')}")
print(f" Oran: {value.get('odds', 'N/A')}")
print(f" Güven: {value.get('confidence', 0):.1f}%")
print(f" Edge: {value.get('edge', 0):.2f}")
# Score Prediction
if 'score_prediction' in result:
score = result['score_prediction']
print(f"\n⚽ SKOR TAHMİNİ:")
print(f" İlk Yarı: {score.get('ht', 'N/A')}")
print(f" Maç Sonu: {score.get('ft', 'N/A')}")
print(f" xG (Ev): {score.get('xg_home', 0):.2f}")
print(f" xG (Dep): {score.get('xg_away', 0):.2f}")
print(f" Toplam xG: {score.get('xg_total', 0):.2f}")
# Bet Summary
if 'bet_summary' in result:
print(f"\n📋 TÜM TAHMİNLER:")
for bet in result['bet_summary']:
print(f"{bet.get('market', 'N/A')}: {bet.get('pick', 'N/A')} "
f"(Güven: {bet.get('calibrated_confidence', 0):.1f}%, "
f"Derece: {bet.get('bet_grade', 'N/A')})")
# AI Commentary
if 'ai_commentary' in result:
print(f"\n💬 AI YORUMU:")
print(f" {result['ai_commentary']}")
# Risk Assessment
if 'risk' in result:
risk = result['risk']
print(f"\n⚠️ RİSK DEĞERLENDİRMESİ:")
print(f" Seviye: {risk.get('level', 'N/A')}")
print(f" Skor: {risk.get('score', 0):.1f}")
if risk.get('warnings'):
print(f" Uyarılar: {', '.join(risk['warnings'][:3])}")
# Data Quality
if 'data_quality' in result:
quality = result['data_quality']
print(f"\n📊 VERİ KALİTESİ:")
print(f" Seviye: {quality.get('label', 'N/A')}")
print(f" Skor: {quality.get('score', 0):.1f}")
print("\n" + "=" * 80)
else:
print(f"❌ Hata: HTTP {response.status_code}")
print(f" {response.text}")
except requests.exceptions.Timeout:
print("❌ Zaman aşımı! AI Engine yanıt vermiyor.")
except Exception as e:
print(f"❌ Hata: {str(e)}")
if __name__ == "__main__":
run_prediction()