Spaces:
Sleeping
Sleeping
| """ | |
| 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() |