""" Diagnostic simple des modèles MCP problématiques Test basique pour identifier les problèmes techniques """ import os import sys def check_model_files(): """Vérifier l'intégrité des fichiers modèles""" print("🔍 VÉRIFICATION DES FICHIERS MODÈLES") print("=" * 50) models = [ ('mcp-instruct-v1.Q4_K_M.gguf', 'MCP-Instruct-v1'), ('mcprl-3b-exa.Q2_K.gguf', 'MCPR L-3B-Exa'), ('gemma-3n-E2B-it-UD-IQ2_XXS.gguf', 'Gemma-3n-E2B-it'), ('qwen2.5-coder-0.5b-instruct-q4_0.gguf', 'Qwen2.5-Coder-0.5B') ] for filename, model_name in models: if os.path.exists(filename): size_mb = os.path.getsize(filename) / (1024 * 1024) print(f"✅ {model_name}: {size_mb:.1f} MB") else: print(f"❌ {model_name}: Fichier non trouvé") def test_basic_llm(): """Test basique de chargement LLM""" print("\n🧪 TEST DE CHARGEMENT LLAMA-CPP") print("=" * 50) try: from llama_cpp import Llama print("✅ llama-cpp-python importé avec succès") # Test avec un modèle qui fonctionne test_model = 'qwen2.5-coder-0.5b-instruct-q4_0.gguf' if os.path.exists(test_model): try: llm = Llama(model_path=test_model, n_ctx=512, verbose=False) print("✅ Modèle de test chargé avec succès") # Test de génération simple response = llm("Hello", max_tokens=5, temperature=0.1) print(f"✅ Génération test: {response}") except Exception as e: print(f"❌ Erreur chargement modèle: {e}") else: print("❌ Modèle de test non trouvé") except ImportError: print("❌ llama-cpp-python non installé") except Exception as e: print(f"❌ Erreur import: {e}") def analyze_quantization_issues(): """Analyser les problèmes de quantisation""" print("\n📊 ANALYSE DES PROBLÈMES DE QUANTISATION") print("=" * 50) quantization_issues = { 'Q2_K': "Quantisation très agressive - peut causer corruption", 'IQ2_XXS': "Quantisation extrême - perte significative de capacité", 'Q4_K_M': "Quantisation moyenne - généralement fiable", 'Q8_0': "Quantisation légère - meilleure qualité" } for quant, description in quantization_issues.items(): print(f"{quant}: {description}") def main(): """Diagnostic principal""" print("🔧 DIAGNOSTIC TECHNIQUE DES MODÈLES MCP") print("=" * 60) check_model_files() test_basic_llm() analyze_quantization_issues() print("\n🎯 CONCLUSIONS:") print("-" * 30) print("1. MCP-Instruct-v1: Problème technique (llama_decode=-1)") print("2. MCPR L-3B-Exa: Quantisation Q2_K trop agressive") print("3. Gemma-3n-E2B-it: Quantisation IQ2_XXS extrême") print("4. Solution: Télécharger versions Q8_0") if __name__ == "__main__": main()