from .base_llm import BaseLLM import requests import os class MistralLarge(BaseLLM): def __init__(self): super().__init__("mistral-large-latest") self.configurer(temperature=0.2, top_p=1, n=1) def urlBase(self) -> str: return "https://api.mistral.ai/v1/" def cleAPI(self) -> str: return "2iGzTzE9csRQ9IoASoUjplHwEjA200Vh" def urlFonction(self) -> str: return "chat/completions" def _preparer_contenu(self, question: str) -> dict: return { "model": self.modele, "messages": [ {"role": "system", "content": self.prompt_system}, {"role": "user", "content": question} ], **self.params } def _traiter_reponse(self, reponse: requests.Response) -> str: data = reponse.json() return data["choices"][0]["message"]["content"] def interroger_avec_image(self, image_path: str, question: str) -> str: """ Ce modèle ne supporte pas directement l'analyse d'images, cette méthode est fournie pour la compatibilité avec l'interface BaseLLM mais utilise uniquement le texte. Args: image_path: Chemin vers l'image à analyser (ignoré par ce modèle) question: Question ou instructions pour l'analyse Returns: Réponse du modèle à la question, en indiquant que l'analyse d'image n'est pas supportée """ image_name = os.path.basename(image_path) prompt = f"""[Note: Ce modèle n'a pas accès à l'image demandée: {image_name}] Question concernant l'image: {question} Veuillez noter que je ne peux pas traiter directement les images. Voici une réponse basée uniquement sur le texte de la question.""" return self.interroger(prompt)