| 💾 Saved. d722711 k33g 5h ago | 1 | # Tutoriel : votre première session avec mini-me |
| 2 | |
| 3 | À la fin de ce tutoriel, vous aurez compilé le binaire `mm`, lancé l'agent face à Docker Model Runner, posé une question qui lui fait exécuter une commande shell, puis quitté proprement. Aucune connaissance préalable du projet n'est requise. |
| 4 | |
| 5 | ## Prérequis |
| 6 | |
| 7 | - Go 1.25 ou plus récent dans votre `PATH` (`go version` répond). |
| 8 | - Docker Desktop avec Docker Model Runner activé et joignable sur `http://localhost:12434`. |
| 9 | - Le modèle nommé dans `agent.yaml` téléchargé localement. Le fichier livré avec le projet nomme `huggingface.co/jetbrains/mellum2-12b-a2.5b-instruct-gguf-q4_k_m:Q4_K_M` ; récupérez-le avec `docker model pull <ce nom>`. |
| 10 | - Un terminal ouvert à la racine du dépôt (le répertoire qui contient `main.go` et `agent.yaml`). |
| 11 | |
| 12 | ## Étape 1 — Compiler le binaire |
| 13 | |
| 14 | Tapez : |
| 15 | |
| 16 | ```bash |
| 17 | go build -o mm . |
| 18 | ``` |
| 19 | |
| 20 | Vous ne devez voir aucune sortie. Un fichier `mm` se trouve maintenant dans le répertoire courant. |
| 21 | |
| 22 | Nous venons de compiler tout l'agent en un seul exécutable. |
| 23 | |
| 24 | ## Étape 2 — Lancer l'agent |
| 25 | |
| 26 | Tapez : |
| 27 | |
| 28 | ```bash |
| 29 | ./mm |
| 30 | ``` |
| 31 | |
| 32 | Vous devez voir une bannière comme celle-ci (le nom du modèle est celui d'`agent.yaml`) : |
| 33 | |
| 34 | ``` |
| 35 | config: agent.yaml | provider: dmr | model: huggingface.co/jetbrains/mellum2-12b-a2.5b-instruct-gguf-q4_k_m:Q4_K_M | ctx: unknown | tools: bash, read_file, write_file, edit_file | skills: 0 |
| 36 | Agent ready. Commands: "/quit" to exit, "/abort" to stop current generation, "/compact" to compress the history, "/new" to start a new session. |
| 37 | Shortcut: Ctrl+C to abort generation, or Ctrl+C at prompt to quit. |
| 38 | |
| 39 | > |
| 40 | ``` |
| 41 | |
| 42 | Si une ligne grisée `[warning: dmr: nothing answers at …]` apparaît au-dessus de la bannière, Docker Model Runner ne tourne pas : démarrez-le, puis relancez `./mm`. L'agent démarre quand même, mais l'étape suivante échouerait. |
| 43 | |
| 44 | Nous venons de charger la configuration, de nous connecter au serveur de modèle et de déclarer les outils que le modèle peut appeler. |
| 45 | |
| 46 | ## Étape 3 — Poser une question qui demande une commande |
| 47 | |
| 48 | À l'invite `>`, tapez : |
| 49 | |
| 50 | ``` |
| 51 | list the files in this directory |
| 52 | ``` |
| 53 | |
| 54 | Vous devez voir, dans l'ordre : un spinner pendant que le modèle réfléchit, une ligne commençant par `🛠️ bash:` qui montre la commande choisie par le modèle (typiquement `ls` ou `ls -la`), les premières lignes de la sortie de cette commande, indentées et grisées, puis la réponse du modèle en texte. Le tour se termine par un récapitulatif grisé tel que : |
| 55 | |
| 56 | ``` |
| 57 | ⚙ 1 command(s) |
| 58 | ``` |
| 59 | |
| 60 | suivi de la liste numérotée, en vert, des commandes exécutées. |
| 61 | |
| 62 | Nous venons d'observer un tour de la boucle de l'agent : le modèle a demandé un outil, l'outil a tourné, sa sortie est revenue au modèle, et le modèle a répondu. |
| 63 | |
| 64 | ## Étape 4 — Quitter |
| 65 | |
| 66 | À l'invite `>`, tapez : |
| 67 | |
| 68 | ``` |
| 69 | /quit |
| 70 | ``` |
| 71 | |
| 72 | Le programme se termine. `Ctrl+C` à l'invite fait la même chose et affiche d'abord `Goodbye.`. |
| 73 | |
| 74 | ## Et ensuite ? |
| 75 | |
| 76 | Vous avez compilé `mm`, exécuté un tour avec appel d'outil, et quitté. Pour aller plus loin : |
| 77 | |
| 78 | - Pour le faire tourner sur llama.cpp, l'héberger dans un éditeur ou ajouter des skills → voir les [guides pratiques](../how-to/) |
| 79 | - Pour retrouver une option, une clé YAML ou une commande slash → voir la [référence](../reference/) |
| 80 | - Pour comprendre comment la boucle et les deux façades s'articulent → voir les [explications](../explanation/) |