Files
ENI-PythonAdvanced_10/src/app/core/config.py
2025-12-17 14:22:58 +01:00

35 lines
1.2 KiB
Python

from typing import List
from pydantic import AnyHttpUrl
from pydantic_settings import BaseSettings, SettingsConfigDict
class Settings(BaseSettings):
"""
Classe de configuration qui charge les variables d'environnement.
"""
# Configuration du modèle Pydantic
model_config = SettingsConfigDict(
env_file=".env",
env_file_encoding="utf-8",
case_sensitive=True
)
# Paramètres du projet
PROJECT_NAME: str = "FastAPI GraphQL LLM Project"
# Configuration de LM Studio (serveur Chat local)
LLM_CHAT_SERVER_BASE_URL: str = "http://127.0.0.1:1234/v1"
LLM_CHAT_MODEL: str = "meta-llama-3.1-8b-instruct"
LLM_CHAT_TEMPERATURE: float = 0.3 # On baisse un peu la température pour des résultats plus prévisibles (mais moins créatifs)
LLM_CHAT_API_KEY: str = "not-needed" # Clé API factice, LM Studio ne l'utilise pas
# Configuration de l'API
MOVIE_API_BASE_URL: str = "http://127.0.0.1:8000/api/v1"
# Configuration CORS
# Pydantic va automatiquement convertir la chaîne de caractères séparée par des virgules
# en une liste de chaînes de caractères.
BACKEND_CORS_ORIGINS: List[AnyHttpUrl] = ["http://localhost:4200"]
settings = Settings()