Markdown Filtering Configuration
Le module MarkdownFilteringConfigManager
configure le filtrage sémantique des textes Markdown. Son rôle est de paramétrer le processus qui identifie et extrait les sections de texte pertinentes en utilisant des modèles d’embeddings.
Usage
Ce gestionnaire est instancié par le ConfigManager. L’application accède à ses paramètres via ConfigManager.markdown_filtering
pour configurer le MarkdownProcessor
.
Fonctionnalités
- Détection du fournisseur d’embeddingscomme pour les LLMs, le fournisseur est détecté automatiquement selon les variables d’environnement, avec la priorité suivante :
OpenAI (ou compatible) si
EMBED_API_KEY_OPENAI
est définie.Mistral si
EMBED_API_KEY_MISTRAL
est définie.Modèle Local par défaut.
- Paramètres de filtrage sémantiqueconfigure tous les aspects du filtrage :
REFERENCE_PHRASES
: une liste de phrases de référence (séparées par;;
) contre lesquelles le contenu sera comparé.SIMILARITY_THRESHOLD
: le score de similarité (entre 0.0 et 1.0) requis pour qu’un chunk soit considéré comme pertinent.CHUNK_SIZE
etCHUNK_OVERLAP
: la taille des segments de texte et leur chevauchement lors de la création des embeddings.
Validation : la méthode
validate
vérifie la cohérence des paramètres (ex:CHUNK_OVERLAP
doit être inférieur àCHUNK_SIZE
), la validité de leurs valeurs, et la présence des clés d’API pour les fournisseurs distants.
Modules
- class src.smart_watch.config.markdown_filtering_config.MarkdownFilteringConfig(config_data: Dict[str, Any])[source]
Bases :
object
Encapsule la configuration pour le filtrage de contenu Markdown.
Cette classe stocke les paramètres spécifiques au filtrage sémantique de documents Markdown, y compris la configuration du fournisseur d’embeddings et les seuils de similarité.
- embed_fournisseur
le fournisseur d’embeddings à utiliser (« OPENAI », « MISTRAL », ou « LOCAL »).
- Type:
- embed_base_url
l’URL de base pour le service d’embedding (spécifique à OpenAI).
- Type:
Optional[str]
- reference_phrases
les phrases de référence pour la comparaison de similarité.
- Type:
Optional[List[str]]
- __init__(config_data: Dict[str, Any]) None [source]
Initialise l’objet de configuration de filtrage Markdown.
- Paramètres:
config_data (Dict[str, Any]) – un dictionnaire contenant les données de configuration, chargées depuis des variables d’environnement.
- class src.smart_watch.config.markdown_filtering_config.MarkdownFilteringConfigManager(env_file: Path | None = None)[source]
Bases :
BaseConfig
Gère le chargement et la validation de la configuration de filtrage Markdown.
Cette classe hérite de BaseConfig pour charger les variables d’environnement et initialise un objet MarkdownFilteringConfig validé.
- config
l’objet de configuration contenant tous les paramètres de filtrage.
- Type:
- _load_environment()
Charge les variables d’environnement depuis le fichier .env.
Réinitialise d’abord les variables (sauf en environnement conteneurisé) puis charge celles du fichier .env. Si le fichier n’existe pas, utilise les variables système existantes.
- _reset_environment()
Réinitialise les variables d’environnement du fichier .env.
Supprime les variables chargées depuis le fichier .env pour éviter les conflits avec les variables système ou conteneurisées. Ne s’exécute pas dans un environnement conteneurisé.
- get_env_var(key: str, default: str | None = None, required: bool = False) str | None
Récupère une variable d’environnement de manière sécurisée.
- Paramètres:
- Renvoie:
la valeur de la variable d’environnement, ou None.
- Type renvoyé:
Optional[str]
- Lève:
ValueError – si la variable est requise mais non définie.
- __init__(env_file: Path | None = None) None [source]
Initialise le gestionnaire de configuration.
- Paramètres:
env_file (Optional[Path], optional) – le chemin vers un fichier .env. Par défaut, None.
- _init_markdown_filtering_config() MarkdownFilteringConfig [source]
Initialise l’objet de configuration à partir des variables d’environnement.
- Renvoie:
un objet de configuration initialisé.
- Type renvoyé:
- validate() bool [source]
Valide la configuration chargée.
Vérifie la cohérence des paramètres, comme la présence de clés API pour les fournisseurs distants et la validité des valeurs numériques.
- Renvoie:
True si la configuration est valide.
- Type renvoyé:
- Lève:
ValueError – si une ou plusieurs erreurs de validation sont détectées.