Spaces:
Sleeping
Sleeping
| """ | |
| Test simple pour évaluer les capacités MCP de Qwen2.5 0.5B | |
| """ | |
| import sys | |
| import os | |
| # Ajouter le chemin pour importer les modules locaux | |
| sys.path.append(os.path.dirname(os.path.abspath(__file__))) | |
| def test_basic_capability(): | |
| """Test de capacité MCP de base""" | |
| print("=== Test de capacité MCP de base ===") | |
| # Test 1: Compréhension des outils MCP | |
| prompt1 = """ | |
| Tu es un assistant IA qui contrôle un jeu RTS via MCP. | |
| Outils disponibles: | |
| - get_game_state(): Obtenir l'état du jeu | |
| - move_units(unit_ids, target_x, target_y): Déplacer des unités | |
| Commande utilisateur: "Montre-moi l'état du jeu" | |
| Réponds avec un objet JSON contenant l'appel d'outil à exécuter. | |
| """ | |
| print("Test 1 - Compréhension des outils:") | |
| print(f"Prompt: {prompt1[:100]}...") | |
| # Test 2: Traduction d'action simple | |
| prompt2 = """ | |
| Tu es un assistant IA qui contrôle un jeu RTS via MCP. | |
| Outils disponibles: | |
| - move_units(unit_ids, target_x, target_y): Déplacer des unités | |
| Commande utilisateur: "Déplace mon infanterie vers la position 100, 200" | |
| Réponds avec un objet JSON contenant l'appel d'outil à exécuter. | |
| """ | |
| print("\nTest 2 - Traduction d'action:") | |
| print(f"Prompt: {prompt2[:100]}...") | |
| # Test 3: Planification complexe | |
| prompt3 = """ | |
| Tu es un assistant IA qui contrôle un jeu RTS via MCP. | |
| Outils disponibles: | |
| - get_game_state(): Obtenir l'état du jeu | |
| - move_units(): Déplacer des unités | |
| - attack_unit(): Attaquer une unité ennemie | |
| - build_building(): Construire un bâtiment | |
| Commande utilisateur: "Je veux construire une base près du champ de minerai et la défendre avec des tourelles" | |
| Décompose cette commande en une séquence d'appels d'outils MCP. | |
| """ | |
| print("\nTest 3 - Planification complexe:") | |
| print(f"Prompt: {prompt3[:100]}...") | |
| return { | |
| "test1": {"prompt": prompt1, "expected": "get_game_state"}, | |
| "test2": {"prompt": prompt2, "expected": "move_units avec paramètres"}, | |
| "test3": {"prompt": prompt3, "expected": "séquence d'actions"} | |
| } | |
| def test_with_ai_model(): | |
| """Test avec le modèle AI réel""" | |
| try: | |
| from ai_analysis import query_llm | |
| print("\n=== Test avec le modèle Qwen2.5 0.5B ===") | |
| # Test simple | |
| test_prompt = """ | |
| Tu es un assistant IA. Réponds simplement avec "TEST_RÉUSSI" si tu comprends cette instruction. | |
| """ | |
| print("Test de connexion au modèle...") | |
| response = query_llm( | |
| prompt=test_prompt, | |
| max_tokens=50, | |
| temperature=0.1 | |
| ) | |
| print(f"Réponse du modèle: {response}") | |
| if "TEST_RÉUSSI" in response: | |
| print("✅ Modèle fonctionne correctement") | |
| return True | |
| else: | |
| print("❌ Problème avec le modèle") | |
| return False | |
| except Exception as e: | |
| print(f"❌ Erreur lors du test du modèle: {e}") | |
| return False | |
| def main(): | |
| """Fonction principale""" | |
| print("🔍 Évaluation des capacités MCP de Qwen2.5 0.5B") | |
| print("=" * 60) | |
| # Test de base | |
| tests = test_basic_capability() | |
| # Test avec le modèle | |
| model_working = test_with_ai_model() | |
| # Résumé | |
| print("\n" + "=" * 60) | |
| print("📊 RÉSUMÉ DE L'ÉVALUATION") | |
| print("=" * 60) | |
| print("\n1. CAPACITÉS MCP DE BASE:") | |
| print(" ✅ Compréhension des outils MCP: Test défini") | |
| print(" ✅ Traduction d'actions simples: Test défini") | |
| print(" ✅ Planification complexe: Test défini") | |
| print(f"\n2. ÉTAT DU MODÈLE: {'✅ OPÉRATIONNEL' if model_working else '❌ PROBLÈME'}") | |
| print("\n3. RECOMMANDATIONS:") | |
| if model_working: | |
| print(" • Le modèle peut être utilisé pour la traduction MCP") | |
| print(" • Commencez par des commandes simples") | |
| print(" • Ajoutez une validation pour les actions complexes") | |
| else: | |
| print(" • Vérifiez que le modèle est téléchargé") | |
| print(" • Assurez-vous que llama-cpp-python est installé") | |
| print(" • Testez avec des commandes plus simples d'abord") | |
| if __name__ == "__main__": | |
| main() |