Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
1ab4c26
Upload French review
lbourdois Jul 29, 2025
577ccf2
Update introduction.mdx
lbourdois Jul 29, 2025
7bd20ff
Update introduction.mdx
lbourdois Jul 29, 2025
f12e6a0
Merge branch 'huggingface:main' into main
lbourdois Jul 29, 2025
3f47169
fix toctree
lbourdois Jul 30, 2025
4494dac
fix tag
lbourdois Jul 30, 2025
46f8e78
Update conclusion.mdx
lbourdois Jul 30, 2025
fc12201
Update launching_agent_battle.mdx
lbourdois Jul 30, 2025
70465ef
Update fine-tuning.mdx
lbourdois Jul 30, 2025
6488002
Update invitees.mdx
lbourdois Jul 30, 2025
f215023
Update introduction.mdx
lbourdois Jul 30, 2025
55d6e32
Update conclusion.mdx
lbourdois Jul 30, 2025
b9c6188
Update quiz1.mdx
lbourdois Jul 30, 2025
2f76582
Update introduction.mdx
lbourdois Jul 30, 2025
d3a2b86
Update conclusion.mdx
lbourdois Jul 30, 2025
f6096ea
Update agents.mdx
lbourdois Jul 30, 2025
729c6ec
Update quiz1.mdx
lbourdois Jul 30, 2025
e79af30
Update tools.mdx
lbourdois Jul 30, 2025
86ff441
Update components.mdx
lbourdois Jul 30, 2025
e42e278
Update conclusion.mdx
lbourdois Jul 30, 2025
69fe64e
Update vision_agents.mdx
lbourdois Jul 30, 2025
1ccfb32
Update quiz2.mdx
lbourdois Jul 30, 2025
a936462
Update retrieval_agents.mdx
lbourdois Jul 30, 2025
e8435fc
Update code_agents.mdx
lbourdois Jul 30, 2025
ba17fb6
Update why_use_smolagents.mdx
lbourdois Jul 30, 2025
505569b
Update introduction.mdx
lbourdois Jul 30, 2025
0821b4d
Update actions.mdx
lbourdois Jul 30, 2025
e57518a
Update quiz1.mdx
lbourdois Jul 30, 2025
acd6fd9
Update what-are-agents.mdx
lbourdois Jul 30, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions units/en/unit0/introduction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,9 @@ We would like to extend our gratitude to the following individuals for their inv
- **[David Berenstein](https://huggingface.co/davidberenstein1957)** – For his help on the course content and moderation.
- **[XiaXiao (ShawnSiao)](https://huggingface.co/SSSSSSSiao)** – Chinese translator for the course.
- **[Jiaming Huang](https://huggingface.co/nordicsushi)** – Chinese translator for the course.
- **[Kim Noel](https://github.com/knoel99)** - French translator for the course.
- **[Loïck Bourdois](https://huggingface.co/lbourdois)** - French translator for the course from [CATIE](https://www.catie.fr/).


## I found a bug, or I want to improve the course [[contribute]]

Expand Down
68 changes: 34 additions & 34 deletions units/fr/_toctree.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,49 +3,49 @@
- local: unit0/introduction
title: Bienvenue dans le cours 🤗
- local: unit0/onboarding
title: Intégration
title: Embarquement
- local: unit0/discord101
title: (Optionnel) Discord 101
title: (Optionnel) Introduction à Discord
- title: Live 1. Comment fonctionne le cours et Q&R
sections:
- local: communication/live1
title: Live 1. Comment fonctionne le cours et Q&R
- title: Unité 1. Introduction aux Agents
sections:
- local: unit1/introduction
title: Introduction
title: Introduction aux agents
- local: unit1/what-are-agents
title: Qu'est-ce qu'un Agent ?
title: Qu'est-ce qu'un agent ?
- local: unit1/quiz1
title: Quiz rapide 1
- local: unit1/what-are-llms
title: Que sont les LLMs ?
title: Qu'est-ce qu'un LLM ?
- local: unit1/messages-and-special-tokens
title: Messages et Tokens Spéciaux
title: Messages et tokens spéciaux
- local: unit1/tools
title: Que sont les Outils ?
title: Que sont les outils ?
- local: unit1/quiz2
title: Quiz rapide 2
- local: unit1/agent-steps-and-structure
title: Comprendre les Agents IA à travers le cycle Raisonnement-Action-Observation
title: Comprendre les agents à travers le cycle Réflexion-Action-Observation
- local: unit1/thoughts
title: Raisonnement, Raisonnement Interne et l'Approche Re-Act
title: Réflexions, raisonnement interne et l'approche Re-Act
- local: unit1/actions
title: Actions, permettant à l'Agent d'interagir avec son environnement
title: Actions, permettre à l'agent d'interagir avec son environnement
- local: unit1/observations
title: Observer, intégrer les retours pour réfléchir et s'adapter
title: Observer, intégrer le retour d'information pour réfléchir et s'adapter
- local: unit1/dummy-agent-library
title: Bibliothèque d'Agents Factices
title: Bibliothèque d'agents factices
- local: unit1/tutorial
title: Créons notre premier Agent avec Smolagents
title: Créons notre premier agent avec smolagents
- local: unit1/final-quiz
title: Quiz Final de l'Unité 1
title: Quiz final de l'Unité 1
- local: unit1/conclusion
title: Conclusion
- title: Unité 2. Frameworks pour les Agents IA
- title: Unité 2. Frameworks pour les agents
sections:
- local: unit2/introduction
title: Frameworks pour les Agents IA
title: Frameworks pour les agents
- title: Unité 2.1 Le framework smolagents
sections:
- local: unit2/smolagents/introduction
Expand All @@ -55,19 +55,19 @@
- local: unit2/smolagents/quiz1
title: Quiz rapide 1
- local: unit2/smolagents/code_agents
title: Construire des Agents qui utilisent du code
title: Construire des agents qui utilisent du code
- local: unit2/smolagents/tool_calling_agents
title: Écrire des actions sous forme d'extraits de code ou de blobs JSON
- local: unit2/smolagents/tools
title: Outils
- local: unit2/smolagents/retrieval_agents
title: Agents de récupération
title: Construction de systèmes de RAG agentiques
- local: unit2/smolagents/quiz2
title: Quiz rapide 2
- local: unit2/smolagents/multi_agent_systems
title: Systèmes multi-agents
- local: unit2/smolagents/vision_agents
title: Agents de vision et de navigation
title: Agents visuel avec smolagents
- local: unit2/smolagents/final_quiz
title: Quiz final
- local: unit2/smolagents/conclusion
Expand All @@ -77,9 +77,9 @@
- local: unit2/llama-index/introduction
title: Introduction à LlamaIndex
- local: unit2/llama-index/llama-hub
title: Introduction à LlamaHub
title: Introduction au LlamaHub
- local: unit2/llama-index/components
title: Que sont les composants dans LlamaIndex ?
title: Que sont les components dans LlamaIndex ?
- local: unit2/llama-index/tools
title: Utiliser des outils dans LlamaIndex
- local: unit2/llama-index/quiz1
Expand Down Expand Up @@ -111,15 +111,15 @@
- title: Unité 3. Cas d'usage pour le RAG agentique
sections:
- local: unit3/agentic-rag/introduction
title: Introduction au cas d'usage pour le RAG agentique
title: Introduction au cas d'usage de RAG agentique
- local: unit3/agentic-rag/agentic-rag
title: Génération augmentée par récupération (RAG) agentique
title: RAG agentique
- local: unit3/agentic-rag/invitees
title: Créer un outil RAG pour les histoires d'invités
title: Création d'un RAG pour converser avec les invités
- local: unit3/agentic-rag/tools
title: Construire et intégrer des outils pour votre agent
title: Création et intégration d'outils pour votre agent
- local: unit3/agentic-rag/agent
title: Créer votre agent Gala
title: Création de l'agent pour le gala
- local: unit3/agentic-rag/conclusion
title: Conclusion
- title: Unité 4. Projet final - Créer, tester et certifier votre agent
Expand All @@ -131,19 +131,19 @@
- local: unit4/hands-on
title: Le projet pratique final
- local: unit4/get-your-certificate
title: Obtenez votre certificat d'excellence
title: Obtenez votre certificat
- local: unit4/conclusion
title: Conclusion du cours
- local: unit4/additional-readings
title: Que devriez-vous apprendre maintenant ?
title: Et maintenant ? Quels sujets devrais-je apprendre ?
- title: Unité bonus 1. Affiner un LLM pour l'appel de fonctions
sections:
- local: bonus-unit1/introduction
title: Introduction
- local: bonus-unit1/what-is-function-calling
title: Qu'est-ce que l'appel de fonctions ?
- local: bonus-unit1/fine-tuning
title: Affinons votre modèle pour l'appel de fonctions
title: Finetunons un modèle pour pouvoir faire de l'appel de fonctions
- local: bonus-unit1/conclusion
title: Conclusion
- title: Unité bonus 2. Observabilité et évaluation des agents
Expand All @@ -153,20 +153,20 @@
- local: bonus-unit2/what-is-agent-observability-and-evaluation
title: Qu'est-ce que l'observabilité et l'évaluation des agents ?
- local: bonus-unit2/monitoring-and-evaluating-agents-notebook
title: Surveiller et évaluer les agents
title: Observer et évaluer des agents
- local: bonus-unit2/quiz
title: Quiz
- title: Unité bonus 3. Agents dans les jeux avec Pokémon
sections:
- local: bonus-unit3/introduction
title: Introduction
- local: bonus-unit3/state-of-art
title: L'état de l'art dans l'utilisation des LLMs dans les jeux
title: L'état de l'art de l'utilisation des LLM dans les jeux
- local: bonus-unit3/from-llm-to-agents
title: Des LLMs aux agents IA
title: Des LLM aux agents
- local: bonus-unit3/building_your_pokemon_agent
title: Construisez votre propre agent de combat Pokémon
title: Construire un agent de combat Pokémon
- local: bonus-unit3/launching_agent_battle
title: Lancer votre agent de combat Pokémon
title: Lancer l'agent de combat Pokémon
- local: bonus-unit3/conclusion
title: Conclusion
10 changes: 5 additions & 5 deletions units/fr/bonus-unit1/conclusion.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

Félicitations pour avoir terminé cette première Unité Bonus 🥳

Vous venez de **maîtriser la compréhension de l'appel de fonctions et comment ajuster finement votre modèle pour faire de l'appel de fonctions** !
Vous **maîtrisez la compréhension de l'appel de fonctions et comment finetuner votre modèle sur cette tâche** !

Si nous avons un conseil maintenant, c'est d'essayer d'**ajuster finement différents modèles**. La **meilleure façon d'apprendre est en essayant.**
Nous vous conseillons à présent d'essayer de **finetuner différents modèles**. La **meilleure façon d'apprendre est en testant des choses.**

Dans la prochaine Unité, vous allez apprendre comment utiliser **des frameworks de pointe tels que `smolagents`, `LlamaIndex` et `LangGraph`**.
Dans la prochaine Unité, vous allez apprendre comment utiliser **des *frameworks* de pointe tels que `smolagents`, `LlamaIndex` et `LangGraph`**.

Enfin, nous aimerions **entendre ce que vous pensez du cours et comment nous pouvons l'améliorer**. Si vous avez des commentaires, alors s'il vous plaît 👉 [remplissez ce formulaire](https://docs.google.com/forms/d/e/1FAIpQLSe9VaONn0eglax0uTwi29rIn4tM7H2sYmmybmG5jJNlE5v0xA/viewform?usp=dialog)
Enfin, nous serions ravis **d'entendre ce que vous pensez du cours et comment nous pourrions l'améliorer**. Si vous avez des retours, n'hésitez pas à 👉 [remplir ce formulaire](https://docs.google.com/forms/d/e/1FAIpQLSe9VaONn0eglax0uTwi29rIn4tM7H2sYmmybmG5jJNlE5v0xA/viewform?usp=dialog).

### Continuez à apprendre, restez impressionnants 🤗
### Continuez à apprendre, restez géniaux 🤗
40 changes: 20 additions & 20 deletions units/fr/bonus-unit1/fine-tuning.mdx
Original file line number Diff line number Diff line change
@@ -1,47 +1,47 @@
# Ajustons finement votre modèle pour l'appel de fonctions
# Finetunons un modèle pour pouvoir faire de l'appel de fonctions

Nous sommes maintenant prêts à ajuster finement notre premier modèle pour l'appel de fonctions 🔥.
Nous sommes maintenant prêts à finetuner notre premier modèle pour de l'appel de fonctions 🔥.

## Comment entraînons-nous notre modèle pour l'appel de fonctions ?
## Comment entraînons-nous un tel modèle ?

> Réponse : Nous avons besoin de **données**

Un processus d'entraînement de modèle peut être divisé en 3 étapes :
Un processus d'entraînement peut être divisé en 3 étapes :

1. **Le modèle est pré-entraîné sur une grande quantité de données**. Le résultat de cette étape est un **modèle pré-entraîné**. Par exemple, [google/gemma-2-2b](https://huggingface.co/google/gemma-2-2b). C'est un modèle de base et il sait seulement comment **prédire le prochain token sans fortes capacités de suivi d'instructions**.
1. **Le modèle est pré-entraîné sur une grande quantité de données**. Le résultat de cette étape est un **modèle pré-entraîné**. Par exemple, [google/gemma-2-2b](https://huggingface.co/google/gemma-2-2b). C'est un modèle de base et il sait seulement comment **prédire le prochain *token* sans fortes capacités de suivi d'instructions**.

2. Pour être utile dans un contexte de chat, le modèle doit ensuite être **ajusté finement** pour suivre des instructions. À cette étape, il peut être entraîné par les créateurs du modèle, la communauté open-source, vous, ou n'importe qui. Par exemple, [google/gemma-2-2b-it](https://huggingface.co/google/gemma-2-2b-it) est un modèle ajusté pour les instructions par l'équipe Google derrière le projet Gemma.
2. Pour être utile dans un contexte de conversation, le modèle doit ensuite être **finetuné** pour suivre des instructions. À cette étape, il peut être entraîné par les créateurs du modèle, la communauté open-source, vous, ou n'importe qui. Par exemple, [google/gemma-2-2b-it](https://huggingface.co/google/gemma-2-2b-it) est un modèle finetuné pour les instructions par l'équipe Google derrière le projet Gemma.

3. Le modèle peut ensuite être **aligné** selon les préférences du créateur. Par exemple, un modèle de chat de service client qui ne doit jamais être impoli avec les clients.
3. Le modèle peut ensuite être **aligné** selon les préférences du créateur. Par exemple, un modèle conversationnel d'un service client ne doit jamais être impoli avec l'utilisateur.

Habituellement, un produit complet comme *Gemini* ou *Mistral* **passera par les 3 étapes**, alors que les modèles que vous pouvez trouver sur *Hugging Face* ont complété une ou plusieurs étapes de cet entraînement.
Habituellement, un produit complet comme *Gemini* ou *Mistral* **sera passé par les 3 étapes**, alors que les modèles que vous pouvez trouver sur *Hugging Face* ont effectué une ou plusieurs étapes de cet entraînement.

Dans ce tutoriel, nous construirons un modèle d'appel de fonctions basé sur [google/gemma-2-2b-it](https://huggingface.co/google/gemma-2-2b-it). Nous choisissons le modèle ajusté finement [google/gemma-2-2b-it](https://huggingface.co/google/gemma-2-2b-it) au lieu du modèle de base [google/gemma-2-2b](https://huggingface.co/google/gemma-2-2b) parce que le modèle ajusté finement a été amélioré pour notre cas d'usage.
Dans ce tutoriel, nous allons construire un modèle d'appel de fonctions basé sur [google/gemma-2-2b-it](https://huggingface.co/google/gemma-2-2b-it). Nous choisissons le modèle [google/gemma-2-2b-it](https://huggingface.co/google/gemma-2-2b-it) au lieu du modèle de base [google/gemma-2-2b](https://huggingface.co/google/gemma-2-2b) parce que le modèle finetuné a été amélioré pour notre cas d'usage.

Partir du modèle pré-entraîné **nécessiterait plus d'entraînement pour apprendre le suivi d'instructions, le chat ET l'appel de fonctions**.

En partant du modèle ajusté pour les instructions, **nous minimisons la quantité d'informations que notre modèle doit apprendre**.
En partant du modèle finetuné pour les instructions, **nous minimisons la quantité d'informations que notre modèle doit apprendre**.

## LoRA (*Low-Rank Adaptation of Large Language Models*)
## LoRA (Low-Rank Adaptation of Large Language Models)

LoRA est une technique d'entraînement populaire et légère qui **réduit significativement le nombre de paramètres entraînables**.
LoRA est une technique d'entraînement populaire et légère qui **réduit significativement le nombre de paramètres à entraîner**.

Elle fonctionne en **insérant un plus petit nombre de nouveaux poids comme adaptateur dans le modèle à entraîner**. Cela rend l'entraînement avec LoRA beaucoup plus rapide, économe en mémoire, et produit des poids de modèle plus petits (quelques centaines de MB), qui sont plus faciles à stocker et partager.
Elle fonctionne en **insérant un lot d'adaptateurs constitués d'un petit nombre de nouveaux poids, dans le modèle à entraîner**. Cela rend l'entraînement avec LoRA beaucoup plus rapide, économe en mémoire, et produit des poids de modèle plus petits (quelques centaines de MB), qui sont plus faciles à stocker et partager.

<img src="https://huggingface.co/datasets/agents-course/course-images/resolve/main/en/unit1/blog_multi-lora-serving_LoRA.gif" alt="LoRA inference" width="50%"/>

LoRA fonctionne en ajoutant des paires de matrices de décomposition de rang aux couches *Transformer*, se concentrant typiquement sur les couches linéaires. Durant l'entraînement, nous "gèlerons" le reste du modèle et ne mettrons à jour que les poids de ces adaptateurs nouvellement ajoutés.
LoRA fonctionne en ajoutant des paires de matrices de décomposition de rang aux couches d'un *transformer* (typiquement les couches linéaires). Durant l'entraînement, nous gèlons le reste du modèle et ne mettons à jour uniquement les poids de ces adaptateurs ajoutés.

Ce faisant, le nombre de **paramètres** que nous devons entraîner chute considérablement car nous devons seulement mettre à jour les poids de l'adaptateur.
Ce faisant, le nombre de **paramètres** que nous devons entraîner diminue considérablement car nous devons seulement mettre à jour les poids des adaptateurs.

Durant l'inférence, l'entrée est passée dans l'adaptateur et le modèle de base, ou ces poids d'adaptateur peuvent être fusionnés avec le modèle de base, ne résultant en aucune surcharge de latence supplémentaire.
Durant l'inférence, l'entrée est passée dans les adaptateurs et le modèle de base. Ou bien les poids des adaptateurs peuvent être fusionnés avec le modèle de base, ne résultant en aucune surcharge de latence supplémentaire.

LoRA est particulièrement utile pour adapter des modèles de langage **larges** à des tâches ou domaines spécifiques tout en gardant les exigences de ressources gérables. Cela aide à réduire la mémoire **requise** pour entraîner un modèle.
LoRA est particulièrement utile pour adapter de **grands** modèles de langage à des tâches ou domaines spécifiques tout en gardant les exigences de ressources gérables. Cela aide à réduire la mémoire **requise** pour entraîner un modèle.

Si vous voulez en savoir plus sur comment LoRA fonctionne, vous devriez consulter ce [tutoriel](https://huggingface.co/learn/nlp-course/chapter11/4?fw=pt).

## Ajustement fin d'un modèle pour l'appel de fonctions
## Finetuning d'un modèle pour l'appel de fonctions

Vous pouvez accéder au notebook du tutoriel 👉 [ici](https://huggingface.co/agents-course/notebooks/blob/main/bonus-unit1/bonus-unit1.ipynb).
La suite de cette section se passe dans le *notebook* du tutoriel que vous pouvez accéder 👉 [ici](https://huggingface.co/agents-course/notebooks/blob/main/fr/bonus-unit1/bonus-unit1.ipynb).

Ensuite, cliquez sur [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/#fileId=https://huggingface.co/agents-course/notebooks/blob/main/bonus-unit1/bonus-unit1.ipynb) pour pouvoir l'exécuter dans un *Notebook Colab*.
Ensuite, cliquez sur [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/#fileId=https://huggingface.co/agents-course/notebooks/blob/main/fr/bonus-unit1/bonus-unit1.ipynb) pour pouvoir l'exécuter dans Colab.
Loading