Spaces:
Sleeping
Sleeping
| { | |
| "evaluation_type": "realistic_mcp_game_test", | |
| "game_state_sample": { | |
| "player_id": 1, | |
| "resources": { | |
| "credits": 2500, | |
| "power": 150 | |
| }, | |
| "units": [ | |
| { | |
| "id": 1, | |
| "type": "infantry", | |
| "x": 100, | |
| "y": 100, | |
| "health": 100 | |
| }, | |
| { | |
| "id": 2, | |
| "type": "infantry", | |
| "x": 110, | |
| "y": 105, | |
| "health": 100 | |
| }, | |
| { | |
| "id": 3, | |
| "type": "tank", | |
| "x": 120, | |
| "y": 110, | |
| "health": 150 | |
| }, | |
| { | |
| "id": 4, | |
| "type": "harvester", | |
| "x": 200, | |
| "y": 200, | |
| "health": 200 | |
| } | |
| ], | |
| "buildings": [ | |
| { | |
| "id": 1, | |
| "type": "hq", | |
| "x": 50, | |
| "y": 50, | |
| "health": 500 | |
| }, | |
| { | |
| "id": 2, | |
| "type": "power_plant", | |
| "x": 80, | |
| "y": 80, | |
| "health": 300 | |
| }, | |
| { | |
| "id": 3, | |
| "type": "barracks", | |
| "x": 120, | |
| "y": 60, | |
| "health": 250 | |
| } | |
| ], | |
| "enemy_units": [ | |
| { | |
| "id": 101, | |
| "type": "infantry", | |
| "x": 300, | |
| "y": 150, | |
| "health": 100 | |
| }, | |
| { | |
| "id": 102, | |
| "type": "tank", | |
| "x": 320, | |
| "y": 160, | |
| "health": 150 | |
| } | |
| ], | |
| "map": { | |
| "width": 96, | |
| "height": 72, | |
| "ore_fields": [ | |
| { | |
| "x": 250, | |
| "y": 200 | |
| }, | |
| { | |
| "x": 400, | |
| "y": 300 | |
| } | |
| ] | |
| } | |
| }, | |
| "results": [ | |
| { | |
| "name": "Qwen2.5-0.5B", | |
| "avg_score": 3.0, | |
| "avg_time": 8.120952129364014, | |
| "results": [ | |
| { | |
| "scenario": "Défense immédiate", | |
| "difficulty": "facile", | |
| "score": 3, | |
| "time": 11.3031907081604, | |
| "response": "Action: attack_unit\n- Arguments: [320, 160]\n\nAction: move_units\n- Arguments: [1, 100, 100]\n\nAction: build_building\n- Arguments: [power_plant, 80, 80, 1]\n\nAction: move_units\n- Arguments: [1, 100, 100]\n\nAction: move_units\n- Arguments: [1, 100, 100]\n\nAction: move_units\n- Arguments: [1, 100, 100]\n\nAction: move_units\n- Arguments: [1, 100, 100]\n\nAction: move_units\n- Arguments: [1, 100, 100]\n\nAction: move_units\n- Arguments: [1, 100, 100]\n\nAction: move_units\n- Arguments: [1", | |
| "expected_tool": "attack_unit" | |
| }, | |
| { | |
| "scenario": "Collecte de ressources", | |
| "difficulty": "moyen", | |
| "score": 0, | |
| "time": 8.980303764343262, | |
| "response": "Démarre une construction de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de", | |
| "expected_tool": "move_units" | |
| }, | |
| { | |
| "scenario": "Expansion stratégique", | |
| "difficulty": "moyen", | |
| "score": 7, | |
| "time": 9.734914541244507, | |
| "response": "ACTION: build_building(building_type, position_x, position_y, player_id)\n\nVeuillez fournir un objet JSON représentant la construction de la caserne. \n\nJSON: {\"building_type\": \"barracks\", \"position_x\": 250, \"position_y\": 200, \"player_id\": 101} \n\nVeuillez noter que la caserne doit être construite avant que les récolteurs ne soient en danger. \n\nVeuillez noter que la caserne doit être construite dans le champ de minerai. \n\nVeuillez noter que la caserne doit être construite avant que les récolteurs ne soient en danger. \n\nVeuillez noter que la caserne doit être construite dans le champ de minerai. \n\nVeuillez noter que la caserne doit être construite avant que les récolteurs ne soient en danger. \n\nVeuillez noter que la caserne", | |
| "expected_tool": "build_building" | |
| }, | |
| { | |
| "scenario": "Attaque coordonnée", | |
| "difficulty": "difficile", | |
| "score": 0, | |
| "time": 9.359946966171265, | |
| "response": "- Attaque les unités ennemies de la position (x, y) = (300, 150) avec une portée de 100.\n- Attaque les unités ennemies de la position (x, y) = (400, 300) avec une portée de 150.\n- Attaque les unités ennemies de la position (x, y) = (300, 150) avec une portée de 100.\n- Attaque les unités ennemies de la position (x, y) = (400, 300) avec une portée de 150.\n- Attaque les unités ennemies de la position (x, y) = (300, 150) avec une portée de 100.\n- Attaque les unités ennemies", | |
| "expected_tool": "attack_unit" | |
| }, | |
| { | |
| "scenario": "Reconnaissance", | |
| "difficulty": "facile", | |
| "score": 2, | |
| "time": 0.18431353569030762, | |
| "response": "", | |
| "expected_tool": "get_game_state" | |
| }, | |
| { | |
| "scenario": "Gestion de crise", | |
| "difficulty": "difficile", | |
| "score": 6, | |
| "time": 9.16304326057434, | |
| "response": "Les unités doivent exister (vérifier les IDs) et exécuter la fonction move_units.\n\nAction: move_units\n{\n \"unit_ids\": [1, 2, 3, 4],\n \"target_x\": 50,\n \"target_y\": 50\n}\n\nRÈGLES DU JEU:\n- Les unités doivent exister (vérifier les IDs)\n- Les unités doivent exister (vérifier les IDs)\n- Les unités doivent exister (vérifier les IDs)\n- Les unités doivent exister (vérifier les IDs)\n- Les unités doivent exister (vérifier les IDs)\n- Les unités doivent exister (vérifier les IDs)\n- Les unités doivent exister (vérifier les IDs)\n- Les unités doivent exister (vérifier les IDs)\n- Les unités doivent exister (vérifier les IDs)", | |
| "expected_tool": "move_units" | |
| } | |
| ], | |
| "easy_avg": 2.5, | |
| "medium_avg": 3.5, | |
| "hard_avg": 3.0 | |
| }, | |
| { | |
| "name": "Qwen3-0.6B", | |
| "avg_score": 2.6666666666666665, | |
| "avg_time": 16.65606681505839, | |
| "results": [ | |
| { | |
| "scenario": "Défense immédiate", | |
| "difficulty": "facile", | |
| "score": 3, | |
| "time": 23.307448387145996, | |
| "response": "Pour répondre, formattez le JSON comme suit:\n{\n \"action\": \"attack_unit\",\n \"unit_id\": \"101\",\n \"target_id\": \"102\",\n \"attack_range\": \"100\"\n}\n\n{\n \"action\": \"attack_unit\",\n \"unit_id\": \"101\",\n \"target_id\": \"102\",\n \"attack_range\": \"150\"\n}\n\n{\n \"action\": \"attack_unit\",\n \"unit_id\": \"101\",\n \"target_id\": \"102\",\n \"attack_range\": \"200\"\n}\n\n{\n \"action\": \"attack_unit\",\n \"unit_id\": \"101\",\n \"target_id\": \"102\",\n \"attack_range\": \"50\"\n}\nAnswer:\n\n{\n \"action\": \"attack_unit\",\n \"unit_id\": \"101\",\n \"target_id\": \"1", | |
| "expected_tool": "attack_unit" | |
| }, | |
| { | |
| "scenario": "Collecte de ressources", | |
| "difficulty": "moyen", | |
| "score": 3, | |
| "time": 10.506604194641113, | |
| "response": "(100 crédits)\n- { \"action\": \"move_units\", \"units\": [1,4], \"target_x\": 200, \"target_y\": 200 } \n\nLa réponse doit être inutilement en français, with no markdown, and in the correct JSON format.\n\nExample:\n- { \"action\": \"move_units\", \"units\": [1,4], \"target_x\": 100, \"target_y\": 100 }\n\nAnswer:", | |
| "expected_tool": "move_units" | |
| }, | |
| { | |
| "scenario": "Expansion stratégique", | |
| "difficulty": "moyen", | |
| "score": 5, | |
| "time": 7.1594953536987305, | |
| "response": "Je dois construire une caserne de type \"hq\" et avoir une ressource de 500.\n\nPourquoi est-ce important de construire une caserne de type \"hq\" ?\n\nAnswer:\n{\n \"action\": \"build_building('hq', 250, 200, 1)\"\n}", | |
| "expected_tool": "build_building" | |
| }, | |
| { | |
| "scenario": "Attaque coordonnée", | |
| "difficulty": "difficile", | |
| "score": 2, | |
| "time": 19.33790349960327, | |
| "response": "Pour chaque unité ennemie, determine if it is in range of my units. If it is, execute an attack. If not, do nothing.\n\nIf there are no attacks, then execute the build_building action.\n\nIf there are attacks, then execute the attack_unit action.\n\nIf there are no attacks, then execute the move_units action.\n\nIf there are no attacks, then execute the get_ai_analysis action.\n\nIf there are no attacks, then execute the get_game_state action.\n\nIf there are no attacks, then execute the move_units action.\n\nIf there are no attacks, then execute the get_ai_analysis action.\n\nIf there are no attacks, then execute the get_game_state action.\n\nIf there are no attacks, then execute the move_units action.\n\nIf there are no attacks, then execute the get_ai_analysis action.\n\nIf there are no attacks, then execute the get_game_state action.\n\nIf there are no attacks, then execute the move_units action.\n\nIf there are no attacks, then", | |
| "expected_tool": "attack_unit" | |
| }, | |
| { | |
| "scenario": "Reconnaissance", | |
| "difficulty": "facile", | |
| "score": 3, | |
| "time": 19.707163333892822, | |
| "response": "(Output must be a JSON object)\n{\n \"game_state\": {\n \"player_id\": 1,\n \"resources\": {\n \"credits\": 2500,\n \"power\": 150\n },\n \"units\": [\n {\n \"id\": 1,\n \"type\": \"infantry\",\n \"x\": 100,\n \"y\": 100,\n \"health\": 100\n },\n {\n \"id\": 2,\n \"type\": \"infantry\",\n \"x\": 110,\n \"y\": 105,\n \"health\": 100\n },\n {\n \"id\": 3,\n \"type\": \"tank\",\n \"x\": 120,\n \"y\": 110,\n \"health\": 150\n },\n {\n \"id\": 4,", | |
| "expected_tool": "get_game_state" | |
| }, | |
| { | |
| "scenario": "Gestion de crise", | |
| "difficulty": "difficile", | |
| "score": 0, | |
| "time": 19.917786121368408, | |
| "response": "Les unités sont déplacées vers (100, 100) et (120, 100) et (150, 100). Les unités ennemies sont déplacées vers (300, 150) et (320, 160). Les unités ennemies sont attaquées par le joueur.\n\nLes unités ennemies sont attaquées par le joueur. Les unités ennemies sont attaquées par le joueur. Les unités ennemies sont attaquées par le joueur.\n\nLes unités ennemies sont attaquées par le joueur. Les unités ennemies sont attaquées par le joueur. Les unités ennemies sont attaquées par le joueur.\n\nLes unités ennemies sont attaquées par le joueur. Les unités ennemies sont attaquées par le joueur. Les unités ennemies sont attaquées par", | |
| "expected_tool": "move_units" | |
| } | |
| ], | |
| "easy_avg": 3.0, | |
| "medium_avg": 4.0, | |
| "hard_avg": 1.0 | |
| }, | |
| { | |
| "name": "Gemma-3-270M", | |
| "avg_score": 1.1666666666666667, | |
| "avg_time": 7.372450391451518, | |
| "results": [ | |
| { | |
| "scenario": "Défense immédiate", | |
| "difficulty": "facile", | |
| "score": 3, | |
| "time": 11.643838167190552, | |
| "response": "- get_game_state(): Obtenir l'état actuel du jeu\n- move_units(unit_ids, target_x, target_y): Déplacer des unités\n- attack_unit(attacker_ids, target_id): Attaquer une unité ennemie\n- build_building(building_type, position_x, position_y, player_id): Construire un bâtiment\n- get_ai_analysis(language): Obtenir une analyse tactique\n\nJe suis prêt à répondre à vos questions.\nMerci!\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-", | |
| "expected_tool": "attack_unit" | |
| }, | |
| { | |
| "scenario": "Collecte de ressources", | |
| "difficulty": "moyen", | |
| "score": 0, | |
| "time": 0.38573145866394043, | |
| "response": "Merci!", | |
| "expected_tool": "move_units" | |
| }, | |
| { | |
| "scenario": "Expansion stratégique", | |
| "difficulty": "moyen", | |
| "score": 0, | |
| "time": 10.55238938331604, | |
| "response": "- Quel est le nom de la caserne ?\n- Quelle est la position de la caserne ?\n- Quelle est la taille de la caserne ?\n- Quelle est la couleur de la caserne ?\n- Quelle est la taille de la caserne ?\n- Quelle est la couleur de la caserne ?\n- Quelle est la taille de la caserne ?\n- Quelle est la couleur de la caserne ?\n- Quelle est la taille de la caserne ?\n- Quelle est la couleur de la caserne ?\n- Quelle est la taille de la caserne ?\n- Quelle est la couleur de la caserne ?\n- Quelle est la taille de la caserne ?\n- Quelle est la couleur de la caserne ?\n- Quelle est la taille de la caserne ?\n- Quelle est la couleur de la caserne ?\n- Quelle est la taille de la caserne ?\n- Quelle est la couleur de la caserne ?\n-", | |
| "expected_tool": "build_building" | |
| }, | |
| { | |
| "scenario": "Attaque coordonnée", | |
| "difficulty": "difficile", | |
| "score": 0, | |
| "time": 10.54906940460205, | |
| "response": "- Défense : Attaque contre les unités ennemies.\n- Destruction : Destruction des unités ennemies.\n- (Optional) Utilisation de la force de feu.\n- (Optional) Utilisation de la magie.\n- (Optional) Utilisation de la technologie.\n- (Optional) Utilisation de la base de données.\n- (Optional) Utilisation de la base de données de données.\n- (Optional) Utilisation de la base de données de données de données.\n- (Optional) Utilisation de la base de données de données de données.\n- (Optional) Utilisation de la base de données de données de données.\n- (Optional) Utilisation de la base de données de données de données.\n- (Optional) Utilisation de la base de données de données de données.\n- (Optional) Utilisation", | |
| "expected_tool": "attack_unit" | |
| }, | |
| { | |
| "scenario": "Reconnaissance", | |
| "difficulty": "facile", | |
| "score": 2, | |
| "time": 0.4084289073944092, | |
| "response": "Merci!", | |
| "expected_tool": "get_game_state" | |
| }, | |
| { | |
| "scenario": "Gestion de crise", | |
| "difficulty": "difficile", | |
| "score": 2, | |
| "time": 10.695245027542114, | |
| "response": "- `get_game_state()` : Obtient l'état actuel du jeu.\n- `move_units(unit_ids, target_x, target_y)` : Déplace les unités dans la position spécifiée.\n- `attack_unit(attacker_ids, target_id)` : Attaque une unité ennemie.\n- `build_building(building_type, position_x, position_y, player_id)` : Construis un bâtiment.\n- `get_ai_analysis(language)` : Analyse tactique.\n- `move_units(unit_ids, target_x, target_y)` : Déplace les unités dans la position spécifiée.\n- `attack_unit(attacker_ids, target_id)` : Attaque une unité ennemie.\n- `build_building(building_type, position_x, position_y, player_id)` : Construis un", | |
| "expected_tool": "move_units" | |
| } | |
| ], | |
| "easy_avg": 2.5, | |
| "medium_avg": 0.0, | |
| "hard_avg": 1.0 | |
| } | |
| ], | |
| "successful_models": [ | |
| { | |
| "name": "Qwen2.5-0.5B", | |
| "avg_score": 3.0, | |
| "avg_time": 8.120952129364014, | |
| "results": [ | |
| { | |
| "scenario": "Défense immédiate", | |
| "difficulty": "facile", | |
| "score": 3, | |
| "time": 11.3031907081604, | |
| "response": "Action: attack_unit\n- Arguments: [320, 160]\n\nAction: move_units\n- Arguments: [1, 100, 100]\n\nAction: build_building\n- Arguments: [power_plant, 80, 80, 1]\n\nAction: move_units\n- Arguments: [1, 100, 100]\n\nAction: move_units\n- Arguments: [1, 100, 100]\n\nAction: move_units\n- Arguments: [1, 100, 100]\n\nAction: move_units\n- Arguments: [1, 100, 100]\n\nAction: move_units\n- Arguments: [1, 100, 100]\n\nAction: move_units\n- Arguments: [1, 100, 100]\n\nAction: move_units\n- Arguments: [1", | |
| "expected_tool": "attack_unit" | |
| }, | |
| { | |
| "scenario": "Collecte de ressources", | |
| "difficulty": "moyen", | |
| "score": 0, | |
| "time": 8.980303764343262, | |
| "response": "Démarre une construction de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de 1000 pièces de", | |
| "expected_tool": "move_units" | |
| }, | |
| { | |
| "scenario": "Expansion stratégique", | |
| "difficulty": "moyen", | |
| "score": 7, | |
| "time": 9.734914541244507, | |
| "response": "ACTION: build_building(building_type, position_x, position_y, player_id)\n\nVeuillez fournir un objet JSON représentant la construction de la caserne. \n\nJSON: {\"building_type\": \"barracks\", \"position_x\": 250, \"position_y\": 200, \"player_id\": 101} \n\nVeuillez noter que la caserne doit être construite avant que les récolteurs ne soient en danger. \n\nVeuillez noter que la caserne doit être construite dans le champ de minerai. \n\nVeuillez noter que la caserne doit être construite avant que les récolteurs ne soient en danger. \n\nVeuillez noter que la caserne doit être construite dans le champ de minerai. \n\nVeuillez noter que la caserne doit être construite avant que les récolteurs ne soient en danger. \n\nVeuillez noter que la caserne", | |
| "expected_tool": "build_building" | |
| }, | |
| { | |
| "scenario": "Attaque coordonnée", | |
| "difficulty": "difficile", | |
| "score": 0, | |
| "time": 9.359946966171265, | |
| "response": "- Attaque les unités ennemies de la position (x, y) = (300, 150) avec une portée de 100.\n- Attaque les unités ennemies de la position (x, y) = (400, 300) avec une portée de 150.\n- Attaque les unités ennemies de la position (x, y) = (300, 150) avec une portée de 100.\n- Attaque les unités ennemies de la position (x, y) = (400, 300) avec une portée de 150.\n- Attaque les unités ennemies de la position (x, y) = (300, 150) avec une portée de 100.\n- Attaque les unités ennemies", | |
| "expected_tool": "attack_unit" | |
| }, | |
| { | |
| "scenario": "Reconnaissance", | |
| "difficulty": "facile", | |
| "score": 2, | |
| "time": 0.18431353569030762, | |
| "response": "", | |
| "expected_tool": "get_game_state" | |
| }, | |
| { | |
| "scenario": "Gestion de crise", | |
| "difficulty": "difficile", | |
| "score": 6, | |
| "time": 9.16304326057434, | |
| "response": "Les unités doivent exister (vérifier les IDs) et exécuter la fonction move_units.\n\nAction: move_units\n{\n \"unit_ids\": [1, 2, 3, 4],\n \"target_x\": 50,\n \"target_y\": 50\n}\n\nRÈGLES DU JEU:\n- Les unités doivent exister (vérifier les IDs)\n- Les unités doivent exister (vérifier les IDs)\n- Les unités doivent exister (vérifier les IDs)\n- Les unités doivent exister (vérifier les IDs)\n- Les unités doivent exister (vérifier les IDs)\n- Les unités doivent exister (vérifier les IDs)\n- Les unités doivent exister (vérifier les IDs)\n- Les unités doivent exister (vérifier les IDs)\n- Les unités doivent exister (vérifier les IDs)", | |
| "expected_tool": "move_units" | |
| } | |
| ], | |
| "easy_avg": 2.5, | |
| "medium_avg": 3.5, | |
| "hard_avg": 3.0 | |
| }, | |
| { | |
| "name": "Qwen3-0.6B", | |
| "avg_score": 2.6666666666666665, | |
| "avg_time": 16.65606681505839, | |
| "results": [ | |
| { | |
| "scenario": "Défense immédiate", | |
| "difficulty": "facile", | |
| "score": 3, | |
| "time": 23.307448387145996, | |
| "response": "Pour répondre, formattez le JSON comme suit:\n{\n \"action\": \"attack_unit\",\n \"unit_id\": \"101\",\n \"target_id\": \"102\",\n \"attack_range\": \"100\"\n}\n\n{\n \"action\": \"attack_unit\",\n \"unit_id\": \"101\",\n \"target_id\": \"102\",\n \"attack_range\": \"150\"\n}\n\n{\n \"action\": \"attack_unit\",\n \"unit_id\": \"101\",\n \"target_id\": \"102\",\n \"attack_range\": \"200\"\n}\n\n{\n \"action\": \"attack_unit\",\n \"unit_id\": \"101\",\n \"target_id\": \"102\",\n \"attack_range\": \"50\"\n}\nAnswer:\n\n{\n \"action\": \"attack_unit\",\n \"unit_id\": \"101\",\n \"target_id\": \"1", | |
| "expected_tool": "attack_unit" | |
| }, | |
| { | |
| "scenario": "Collecte de ressources", | |
| "difficulty": "moyen", | |
| "score": 3, | |
| "time": 10.506604194641113, | |
| "response": "(100 crédits)\n- { \"action\": \"move_units\", \"units\": [1,4], \"target_x\": 200, \"target_y\": 200 } \n\nLa réponse doit être inutilement en français, with no markdown, and in the correct JSON format.\n\nExample:\n- { \"action\": \"move_units\", \"units\": [1,4], \"target_x\": 100, \"target_y\": 100 }\n\nAnswer:", | |
| "expected_tool": "move_units" | |
| }, | |
| { | |
| "scenario": "Expansion stratégique", | |
| "difficulty": "moyen", | |
| "score": 5, | |
| "time": 7.1594953536987305, | |
| "response": "Je dois construire une caserne de type \"hq\" et avoir une ressource de 500.\n\nPourquoi est-ce important de construire une caserne de type \"hq\" ?\n\nAnswer:\n{\n \"action\": \"build_building('hq', 250, 200, 1)\"\n}", | |
| "expected_tool": "build_building" | |
| }, | |
| { | |
| "scenario": "Attaque coordonnée", | |
| "difficulty": "difficile", | |
| "score": 2, | |
| "time": 19.33790349960327, | |
| "response": "Pour chaque unité ennemie, determine if it is in range of my units. If it is, execute an attack. If not, do nothing.\n\nIf there are no attacks, then execute the build_building action.\n\nIf there are attacks, then execute the attack_unit action.\n\nIf there are no attacks, then execute the move_units action.\n\nIf there are no attacks, then execute the get_ai_analysis action.\n\nIf there are no attacks, then execute the get_game_state action.\n\nIf there are no attacks, then execute the move_units action.\n\nIf there are no attacks, then execute the get_ai_analysis action.\n\nIf there are no attacks, then execute the get_game_state action.\n\nIf there are no attacks, then execute the move_units action.\n\nIf there are no attacks, then execute the get_ai_analysis action.\n\nIf there are no attacks, then execute the get_game_state action.\n\nIf there are no attacks, then execute the move_units action.\n\nIf there are no attacks, then", | |
| "expected_tool": "attack_unit" | |
| }, | |
| { | |
| "scenario": "Reconnaissance", | |
| "difficulty": "facile", | |
| "score": 3, | |
| "time": 19.707163333892822, | |
| "response": "(Output must be a JSON object)\n{\n \"game_state\": {\n \"player_id\": 1,\n \"resources\": {\n \"credits\": 2500,\n \"power\": 150\n },\n \"units\": [\n {\n \"id\": 1,\n \"type\": \"infantry\",\n \"x\": 100,\n \"y\": 100,\n \"health\": 100\n },\n {\n \"id\": 2,\n \"type\": \"infantry\",\n \"x\": 110,\n \"y\": 105,\n \"health\": 100\n },\n {\n \"id\": 3,\n \"type\": \"tank\",\n \"x\": 120,\n \"y\": 110,\n \"health\": 150\n },\n {\n \"id\": 4,", | |
| "expected_tool": "get_game_state" | |
| }, | |
| { | |
| "scenario": "Gestion de crise", | |
| "difficulty": "difficile", | |
| "score": 0, | |
| "time": 19.917786121368408, | |
| "response": "Les unités sont déplacées vers (100, 100) et (120, 100) et (150, 100). Les unités ennemies sont déplacées vers (300, 150) et (320, 160). Les unités ennemies sont attaquées par le joueur.\n\nLes unités ennemies sont attaquées par le joueur. Les unités ennemies sont attaquées par le joueur. Les unités ennemies sont attaquées par le joueur.\n\nLes unités ennemies sont attaquées par le joueur. Les unités ennemies sont attaquées par le joueur. Les unités ennemies sont attaquées par le joueur.\n\nLes unités ennemies sont attaquées par le joueur. Les unités ennemies sont attaquées par le joueur. Les unités ennemies sont attaquées par", | |
| "expected_tool": "move_units" | |
| } | |
| ], | |
| "easy_avg": 3.0, | |
| "medium_avg": 4.0, | |
| "hard_avg": 1.0 | |
| }, | |
| { | |
| "name": "Gemma-3-270M", | |
| "avg_score": 1.1666666666666667, | |
| "avg_time": 7.372450391451518, | |
| "results": [ | |
| { | |
| "scenario": "Défense immédiate", | |
| "difficulty": "facile", | |
| "score": 3, | |
| "time": 11.643838167190552, | |
| "response": "- get_game_state(): Obtenir l'état actuel du jeu\n- move_units(unit_ids, target_x, target_y): Déplacer des unités\n- attack_unit(attacker_ids, target_id): Attaquer une unité ennemie\n- build_building(building_type, position_x, position_y, player_id): Construire un bâtiment\n- get_ai_analysis(language): Obtenir une analyse tactique\n\nJe suis prêt à répondre à vos questions.\nMerci!\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-", | |
| "expected_tool": "attack_unit" | |
| }, | |
| { | |
| "scenario": "Collecte de ressources", | |
| "difficulty": "moyen", | |
| "score": 0, | |
| "time": 0.38573145866394043, | |
| "response": "Merci!", | |
| "expected_tool": "move_units" | |
| }, | |
| { | |
| "scenario": "Expansion stratégique", | |
| "difficulty": "moyen", | |
| "score": 0, | |
| "time": 10.55238938331604, | |
| "response": "- Quel est le nom de la caserne ?\n- Quelle est la position de la caserne ?\n- Quelle est la taille de la caserne ?\n- Quelle est la couleur de la caserne ?\n- Quelle est la taille de la caserne ?\n- Quelle est la couleur de la caserne ?\n- Quelle est la taille de la caserne ?\n- Quelle est la couleur de la caserne ?\n- Quelle est la taille de la caserne ?\n- Quelle est la couleur de la caserne ?\n- Quelle est la taille de la caserne ?\n- Quelle est la couleur de la caserne ?\n- Quelle est la taille de la caserne ?\n- Quelle est la couleur de la caserne ?\n- Quelle est la taille de la caserne ?\n- Quelle est la couleur de la caserne ?\n- Quelle est la taille de la caserne ?\n- Quelle est la couleur de la caserne ?\n-", | |
| "expected_tool": "build_building" | |
| }, | |
| { | |
| "scenario": "Attaque coordonnée", | |
| "difficulty": "difficile", | |
| "score": 0, | |
| "time": 10.54906940460205, | |
| "response": "- Défense : Attaque contre les unités ennemies.\n- Destruction : Destruction des unités ennemies.\n- (Optional) Utilisation de la force de feu.\n- (Optional) Utilisation de la magie.\n- (Optional) Utilisation de la technologie.\n- (Optional) Utilisation de la base de données.\n- (Optional) Utilisation de la base de données de données.\n- (Optional) Utilisation de la base de données de données de données.\n- (Optional) Utilisation de la base de données de données de données.\n- (Optional) Utilisation de la base de données de données de données.\n- (Optional) Utilisation de la base de données de données de données.\n- (Optional) Utilisation de la base de données de données de données.\n- (Optional) Utilisation", | |
| "expected_tool": "attack_unit" | |
| }, | |
| { | |
| "scenario": "Reconnaissance", | |
| "difficulty": "facile", | |
| "score": 2, | |
| "time": 0.4084289073944092, | |
| "response": "Merci!", | |
| "expected_tool": "get_game_state" | |
| }, | |
| { | |
| "scenario": "Gestion de crise", | |
| "difficulty": "difficile", | |
| "score": 2, | |
| "time": 10.695245027542114, | |
| "response": "- `get_game_state()` : Obtient l'état actuel du jeu.\n- `move_units(unit_ids, target_x, target_y)` : Déplace les unités dans la position spécifiée.\n- `attack_unit(attacker_ids, target_id)` : Attaque une unité ennemie.\n- `build_building(building_type, position_x, position_y, player_id)` : Construis un bâtiment.\n- `get_ai_analysis(language)` : Analyse tactique.\n- `move_units(unit_ids, target_x, target_y)` : Déplace les unités dans la position spécifiée.\n- `attack_unit(attacker_ids, target_id)` : Attaque une unité ennemie.\n- `build_building(building_type, position_x, position_y, player_id)` : Construis un", | |
| "expected_tool": "move_units" | |
| } | |
| ], | |
| "easy_avg": 2.5, | |
| "medium_avg": 0.0, | |
| "hard_avg": 1.0 | |
| } | |
| ] | |
| } |