Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
File size: 3,623 Bytes
ffa4ae8 970eef1 7e389db 4759fe1 97bea1c 970eef1 97bea1c 970eef1 97bea1c 970eef1 97bea1c 970eef1 4759fe1 97bea1c aae1c13 97bea1c aae1c13 97bea1c aae1c13 97bea1c 4759fe1 aae1c13 970eef1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
from fastapi import FastAPI, UploadFile, File, Form, Request, HTTPException
from fastapi.middleware.cors import CORSMiddleware
import os
from dotenv import load_dotenv
from routes import routers, session_files, active_tasks, benchmark
from tasks.get_available_model_provider import test_models
from datetime import datetime
# Load environment variables from .env file
load_dotenv()
# Verify environment variables are loaded
hf_token = os.getenv("HF_TOKEN")
if not hf_token:
print("⚠️ WARNING: HF_TOKEN environment variable is not set.")
else:
print("ℹ️ HF_TOKEN found in environment variables")
hf_organization = os.getenv("HF_ORGANIZATION")
if not hf_organization:
print("⚠️ WARNING: HF_ORGANIZATION environment variable is not set.")
else:
print(f"ℹ️ HF_ORGANIZATION found: {hf_organization}")
app = FastAPI(title="Yourbench API")
# Activer CORS pour permettre les requêtes depuis le frontend
app.add_middleware(
CORSMiddleware,
allow_origins=["*"], # Dans un environnement de production, spécifiez les origines exactes
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# Ajouter un gestionnaire d'événements pour afficher les session_files au démarrage
@app.on_event("startup")
async def startup_event():
print("\n===== Application Startup at", datetime.now().strftime("%Y-%m-%d %H:%M:%S"), "=====\n")
print(f"Initial session_files: {session_files}")
# Afficher des informations détaillées sur les variables d'environnement
print("\n===== Environment Variables Check =====")
hf_token = os.environ.get("HF_TOKEN")
if hf_token:
print("✅ HF_TOKEN AVAILABLE")
# Basic format validation
if not hf_token.startswith("hf_"):
print("⚠️ WARNING: Your HF_TOKEN does not start with 'hf_' which is unusual.")
print(" Please verify its format and source.")
else:
print("❌ HF_TOKEN MISSING - HuggingFace models will not work correctly")
print(" Please set this environment variable for proper functionality.")
hf_organization = os.environ.get("HF_ORGANIZATION")
if hf_organization:
print(f"✅ HF_ORGANIZATION: {hf_organization}")
else:
print("❌ HF_ORGANIZATION MISSING")
print(" This may affect billing and access to certain models.")
print("\n===== Additional Environment Variables =====")
# Afficher d'autres variables utiles
for env_var in ["PORT", "DEBUG", "PYTHONPATH", "VIRTUAL_ENV"]:
value = os.environ.get(env_var)
if value:
print(f"ℹ️ {env_var}: {value}")
print("=======================================\n")
# Tester les modèles au démarrage et afficher les résultats
print("===== Testing model availability at startup =====")
test_results = test_models(verbose=True)
print("===== Model testing completed =====")
if test_results["working_model"]:
print(f"✅ Found working model: {test_results['working_model']} with provider: {test_results['provider']}")
else:
print("❌ WARNING: No working models found. The application might not function correctly!")
print("\nPossible solutions:")
print("1. Check your HF_TOKEN is valid and has appropriate permissions")
print("2. Verify your internet connection")
print("3. Try again later as the API service might be temporarily unavailable")
print("4. Configure alternative models in config/models_config.py")
# Enregistrer toutes les routes
for router in routers:
app.include_router(router) |