35 lines
1.8 KiB
Python
35 lines
1.8 KiB
Python
import os
|
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
from typing import Optional
|
|
|
|
class Settings(BaseSettings):
|
|
# Chemin absolu vers le répertoire des uploads
|
|
# Par défaut, un dossier 'uploads' dans le répertoire 'backend'
|
|
UPLOADS_DIR: str = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "uploads")
|
|
# Secret key pour les JWT (à générer une valeur forte en production)
|
|
SECRET_KEY: str = os.getenv("SECRET_KEY") # Assurez-vous que c'est le même que celui utilisé dans security.py si vous l'avez hardcodé là-bas
|
|
ALGORITHM: str = "HS256"
|
|
ACCESS_TOKEN_EXPIRE_MINUTES: int = 30
|
|
MISTRAL_API_KEY: Optional[str] = None
|
|
GEMINI_API_KEY: Optional[str] = None
|
|
LLM_PROVIDER: str = "gemini" # Votre choix par défaut
|
|
|
|
# --- AJOUTEZ CES DEUX LIGNES ---
|
|
GEMINI_MODEL_NAME: Optional[str] = "gemini-1.5-flash" # Ou le nom de modèle Gemini que vous utilisez
|
|
MISTRAL_MODEL_NAME: Optional[str] = "mistral-tiny" # Ou le nom de modèle Mistral par défaut si vous l'utilisez
|
|
|
|
|
|
model_config = SettingsConfigDict(env_file=".env", extra="ignore")
|
|
|
|
# --- Nouvelles variables pour l'API France Travail ---
|
|
FRANCE_TRAVAIL_CLIENT_ID: str
|
|
FRANCE_TRAVAIL_CLIENT_SECRET: str
|
|
FRANCE_TRAVAIL_TOKEN_URL: str = "https://francetravail.io/connexion/oauth2/access_token?realm=%2Fpartenaire"
|
|
FRANCE_TRAVAIL_API_BASE_URL: str = "https://api.francetravail.io/partenaire/offresdemploi"
|
|
FRANCE_TRAVAIL_API_SCOPE: str = "o2dsoffre api_offresdemploiv2" # Les scopes requis par l'API
|
|
|
|
settings = Settings()
|
|
print(f"DEBUG: FRANCE_TRAVAIL_CLIENT_ID chargé: {settings.FRANCE_TRAVAIL_CLIENT_ID}")
|
|
print(f"DEBUG: FRANCE_TRAVAIL_CLIENT_SECRET chargé: {settings.FRANCE_TRAVAIL_CLIENT_SECRET}")
|
|
# Créer le dossier d'uploads s'il n'existe pas
|
|
os.makedirs(settings.UPLOADS_DIR, exist_ok=True)
|