llm_ticket3/utils/script_settings_openUI.py
2025-04-30 17:45:17 +02:00

71 lines
2.8 KiB
Python

import requests
import json
import os
from datetime import datetime
# Configuration
MODEL_NAME = "llama3.2-vision:90b-instruct-q8_0"
OPENUI_BASE_URL = "http://localhost:3000"
def save_model_settings():
# Essayons différents endpoints possibles
endpoints = [
"/api/settings",
"/api/v1/settings",
f"/api/models/{MODEL_NAME}/settings",
"/api/chat/settings"
]
headers = {
"Content-Type": "application/json",
"Accept": "application/json"
}
for endpoint in endpoints:
settings_url = f"{OPENUI_BASE_URL}{endpoint}"
try:
print(f"\n🔄 Tentative avec l'endpoint: {settings_url}")
response = requests.get(settings_url, headers=headers)
# Vérifier si la réponse est valide
if response.status_code == 200:
try:
settings = response.json()
# Créer un dossier 'settings' s'il n'existe pas
os.makedirs('settings', exist_ok=True)
# Générer le nom du fichier avec la date
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
filename = f"settings/model_settings_{timestamp}.json"
# Sauvegarder les paramètres dans un fichier JSON
with open(filename, 'w', encoding='utf-8') as f:
json.dump(settings, f, indent=2, ensure_ascii=False)
print(f"✅ Paramètres sauvegardés dans: {filename}")
print("\nContenu récupéré:")
print(json.dumps(settings, indent=2, ensure_ascii=False))
return
except json.JSONDecodeError:
print("❌ Réponse reçue mais format JSON invalide")
print(f"Contenu reçu: {response.text[:200]}...") # Affiche les 200 premiers caractères
continue
else:
print(f"❌ Erreur {response.status_code}: {response.text}")
except requests.exceptions.RequestException as e:
print(f"❌ Erreur de connexion: {str(e)}")
continue
print("\n❌ Aucun endpoint n'a fonctionné. Vérifiez que:")
print("1. OpenUI est bien lancé sur localhost:3000")
print("2. Vous avez les droits d'accès à l'API")
print(f"3. Le modèle {MODEL_NAME} est bien chargé")
print("\nPour déboguer, vous pouvez:")
print("1. Vérifier l'URL dans votre navigateur quand vous accédez aux paramètres")
print("2. Inspecter les requêtes réseau dans les outils de développement du navigateur")
if __name__ == "__main__":
save_model_settings()