#### <u><font color="#92cddc">Paramètres utilisés pour les modèles:</font></u>

| ==**Paramètre**==         | ==**Description**==                                                                                  | ==**Valeurs typiques recommandées**==        |
| :------------------------ | :--------------------------------------------------------------------------------------------------- | :------------------------------------------- |
| ==**temperature**==       | Contrôle la créativité du modèle (variablilité des réponses)                                         | 0.1 (précis) à 1.0+(créatif)                 |
| ==**top_p**==             | (sampling nucleus) Sélectionne des tokens parmi les plus probables jusqu'à atteindre la somme top_p. | 0.9 à 0.99                                   |
| ==**top_k**==             | Sélectionne les tokens parmi les top K les plus probables uniquement.                                | 40 à 100                                     |
| ==**num_ctx**==           | Longueur maximale du contexte (nombre de tokens)                                                     | selon modèle (ex: 4096, 8192, 32000, 128000) |
| ==**repeat_penalty**==    | pénalise les répétitions de phrases ou mots déjà utilisés.                                           | 1.0 (désactivé), typiquement 1.1 à 1.3       |
| ==**presence_penalty**==  | Pénalise la présence répétée de mots, encourage diversité.                                           | 0.0 à 1.0                                    |
| ==**frequency_panalty**== | Pénalise les répétitions fréquents de même mots.                                                     | 0.0 à 1.0                                    |
| ==**mirostat**==          | Contrôle adaptaif de la perplexité (cohérence/répétition).                                           | 0 (désactivé), & ou 2 (activé)               |
| ==**mirostat_tau**==      | Ajuste précisément le niveau cible de perplexité(avec mirostat)                                      | typiquement 5.0 à 8.0                        |
| ==**mirostat_eta**==      | Vitesse d'ajustement adaptatif de mirostat                                                           | typiquement 0.1                              |
| ==**stop**==              | Liste de mots ou tokens qui arrêtent automatiquement la génération.                                  | ex: ["\n", "</s>, ""]                        |
| ==**num_predict**==       | Nombre maximal de tokens générés pour la réponse.                                                    | typiquement 128 à 2048+                      |
| ==**seed**==              | Seed (graine) pour garantir la reproductibilité des réponses.                                        | entier fixe (42 par exemple)                 |
Exemple d'utilisation de ces paramètres lors de l'initialisation d'un agent:

```python
from base_agent import BaseOllamaAgent

class AdvancedQwenCoderAgent(BaseOllamaAgent):
    def __init__(self):
        super().__init__(
            model_name="hf.co/unsloth/Qwen2.5-Coder-32B-Instruct-128K-GGUF:Q8_0",
            options={
                - "temperature": 0.2,
                "top_p": 0.95,
                "top_k": 50,
                "repeat_penalty": 1.2,
                "frequency_penalty": 0.5,
                "presence_penalty": 0.3,
                "num_ctx": 128000,
                "mirostat": 1,
                "mirostat_tau": 5.5,
                "mirostat_eta": 0.1,
                "num_predict": 1024,
                "seed": 42
            }
        )

```

#### <u><font color="#92cddc">Recherche sur paramètres llama_vision3.2 90b paramétrage optimal:</font></u>

1. <font color="#974806">**Tests sur des Images:**</font>
 - **<font color="#76923c">Description d'images:</font>**
	- **Objectif:** Evaluer la capacité du modèle à générer des descriptions et détaillées des images fournies.  [DOC : Llama 3.2 Overview — NVIDIA NIM for Vision Language Models (VLMs)](https://docs.nvidia.com/nim/vision-language-models/1.2.0/examples/llama3-2/overview.html)
	- **Paramètres recommandés :**
		- **Température :** 0,7
			- *Justification* : Une température modérée favorise la créativité tout en mainteant la cohérence des descriptions.
		- **Top-p (nucléus sampling) :** 0,9
			- *Justification* : Cettte valeur permet au modèle de considérer un large éventail de mots probables, améliorant ainsi la richesse des descriptions.
	
- **<font color="#76923c">Questions-Réponses Basées sur des Images :</font>**
	- **Objectif :** Tester la capacité du modèle à répondre avec précision à des questions spécifiques concernant le contenu d'une image.
		- **Paramètres recommandés :**
			- **Température:** 0,5
				- *Justification :* Une température plus basse favorise des réponses plus précises et factuelles.
			- **Top-p:** 0.8 [DOC : Llama 3.2 Vision Models — NVIDIA NeMo Framework User Guide](https://docs.nvidia.com/nemo-framework/user-guide/latest/vlms/mllama.html)
				- *Justification :* Cette valeur réduit la probabilité de réponses incohérents en limitant la sélection aux mots les plus probables.

- **<font color="#76923c">Reconnaissance de Concepts Visuels :</font>**
	- **Objectif :** Evaluer la capacité du modèle à identifier et comprendre des objets, scènes ou actions spécifiques dans une image.
	- **Paramètres recommandés :**
		- **Température** : 0,6
			- *Justification :* Un équilibre entre créativité et précision est nécessaire pour cette tâche.
		- **Top-p** : 0,85
			- *Justification*: Cette valeur assure que le modèle considère les options les plus probables tout en conservant une certaine diversité.

---
 
2.**<font color="#974806"> Tests sur des Fichiers JSON</font>**

- **<font color="#76923c">Validation de la Structure JSON :</font>**
	- **Objectif :** Vérifier la capacité du modèle à identifier des erreurs de structure dans des fichiers JSON.
	- **Paramètres recommandés :**
		- **Température** : 0,3
			- Justification : Une température basse est idéale pour des tâches nécessitant une analyse précise et factuelle.
		- **Top-p** : 0,7
			- Justification : Cette valeur limite la génération à des options hautement probables, réduisant les risques d'erreurs.

- **<font color="#76923c">Extraction d'informations :</font>**
	- **Objectif:** Tester la capacité du modèle à extraire des informations spécifiques à partir de fichiers JSON complexes.
	- **Paramètres recommandés:**
		- **Température :** 0,4
			- *Justification* : Favorise la précision lors de l'extraction d'informations spécifiques.
		- **Top-p :** 0,75 [DOC : Llama 3.2 \| Model Cards and Prompt formats](https://www.llama.com/docs/model-cards-and-prompt-formats/llama3_2/)
			- *Justification* : Assure que le modèle se concentre sur les informations les plus pertinentes.

- **<font color="#76923c">Transformation de Données :</font>**
	- **Objectif :** Evaluer la capacité du modèle à transformer des données JSON d'un format à un autre.
	- **Paramètres recommandés:**
		- **Température :** 0,5 
			- *Justification :* Un équilibre entre créativité et précision est nécessaire pour reformater les données correctement.
		- **Top-p :** 0,8
			- *Justification:* Permet une certaine flexibilité tout en maintenant la cohérence dans la transformation des données.

- **<font color="#76923c">Génération de Fichiers JSON :</font>**
	- **Objectif :** Tester la capacité du modèle à générer des structures JSON valides à partir de descriptions textuelles ou de spécifications.
	- **Paramètres recommandés :**
		- **Température :** 0,6
			- *Justification :*  Encourage une génération légèrement créative tout en respectant les structures attendues.
			- **Top-p :** 0,85
				- *Justification :* Assure que le modèle considère les options les plus probables pour maintenir la validité du JSON.
---
3. **<font color="#974806">Considérations Supplémentaires</font>**
	- longueur du Contexte : le modèle LLama 3.2 Vision 90B supporte une longueur de contexte allant jusqu'à 128K tokens, ce qui est particulièrement utile pour traiter de longs documents ou des images avec des descriptions détaillées.