35 lines
1.2 KiB
Python
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()
|