mirror of
https://github.com/Ladebeze66/llm_ticket3.git
synced 2025-12-13 10:46:51 +01:00
55 lines
1.8 KiB
Python
55 lines
1.8 KiB
Python
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)
|