mirror of
https://github.com/Ladebeze66/llm_ticket3.git
synced 2025-12-16 11:57:54 +01:00
52 lines
1.4 KiB
Python
52 lines
1.4 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
|
|
"""
|
|
Module définissant la classe abstraite de base pour les modèles LLM.
|
|
"""
|
|
|
|
from abc import ABC, abstractmethod
|
|
from typing import Dict, Any, Optional
|
|
|
|
class LLM(ABC):
|
|
"""
|
|
Classe abstraite définissant l'interface commune pour tous les modèles LLM.
|
|
"""
|
|
def __init__(self, api_key: Optional[str] = None):
|
|
"""
|
|
Initialise l'instance LLM avec une clé API.
|
|
|
|
Args:
|
|
api_key: Clé API pour accéder au service LLM
|
|
"""
|
|
self.api_key = api_key
|
|
self.system_prompt = ""
|
|
|
|
@abstractmethod
|
|
def generate_response(self, prompt: str, **kwargs) -> Dict[str, Any]:
|
|
"""
|
|
Génère une réponse à partir d'un prompt.
|
|
|
|
Args:
|
|
prompt: Texte d'entrée pour la génération
|
|
**kwargs: Options supplémentaires
|
|
|
|
Returns:
|
|
Dictionnaire contenant la réponse et les métadonnées
|
|
"""
|
|
pass
|
|
|
|
@abstractmethod
|
|
def analyze_image(self, image_path: str, prompt: str, **kwargs) -> Dict[str, Any]:
|
|
"""
|
|
Analyse une image selon un prompt.
|
|
|
|
Args:
|
|
image_path: Chemin vers l'image à analyser
|
|
prompt: Instructions pour l'analyse
|
|
**kwargs: Options supplémentaires
|
|
|
|
Returns:
|
|
Dictionnaire contenant l'analyse et les métadonnées
|
|
"""
|
|
pass |