# Modèles locaux

> Exécutez PentAGI sur des modèles hébergés sur votre propre matériel, afin que les prompts, les sorties d'outils et les findings restent sur vos serveurs.

PentAGI peut fonctionner entièrement avec des modèles que vous hébergez vous-même. Les prompts des [agents](https://pentagi.com/fr/docs/glossary/#agent), la sortie des outils qu’ils lisent et les [findings](https://pentagi.com/fr/docs/glossary/#finding) qu’ils rapportent restent alors sur vos serveurs, et un long [flow](https://pentagi.com/fr/docs/glossary/#flow) coûte du temps GPU au lieu de tokens. Deux types de serveurs de modèles sont pris en charge : Ollama, le plus rapide à configurer, et vLLM ou tout autre serveur disposant d’une API compatible OpenAI, pour un débit plus élevé.

## [Ollama](https://pentagi.com/fr/docs/deployment/local-models/#ollama)

Indiquez à PentAGI le serveur Ollama dans `.env` :

```bash
OLLAMA_SERVER_URL=http://ollama-server:11434
OLLAMA_SERVER_CONFIG_PATH=/opt/pentagi/conf/ollama-qwen332b-fp16-tc.provider.yml
OLLAMA_SERVER_PULL_MODELS_ENABLED=false   # true downloads missing models at startup
OLLAMA_SERVER_LOAD_MODELS_ENABLED=false   # true lists the models the server already has
```

Le fichier de configuration attribue un modèle et ses paramètres à chaque [agent type](https://pentagi.com/fr/docs/glossary/#agent-type) ; sans celui-ci, `OLLAMA_SERVER_MODEL` définit le modèle par défaut. L’image inclut des configurations prêtes à l’emploi dans `/opt/pentagi/conf/`, parmi lesquelles `ollama-qwen332b-fp16-tc.provider.yml` et `ollama-qwq32b-fp16-tc.provider.yml`.

La fenêtre de contexte par défaut d’Ollama est bien plus petite que ce dont un flow a besoin : les agents utilisent généralement environ 64K tokens, et PentAGI est configuré pour 110K. Ollama définit la taille du contexte uniquement lors de la création d’un modèle, donc construisez une variante à partir d’un Modelfile :

```dockerfile
FROM qwen3:32b-fp16
PARAMETER num_ctx 110000
PARAMETER temperature 0.3
PARAMETER top_p 0.8
PARAMETER min_p 0.0
PARAMETER top_k 20
PARAMETER repeat_penalty 1.1
```

```bash
ollama create qwen3:32b-fp16-tc -f Modelfile
```

## [vLLM et autres serveurs compatibles OpenAI](https://pentagi.com/fr/docs/deployment/local-models/#vllm-and-other-openai-compatible-servers)

vLLM, LocalAI et d’autres serveurs disposant d’une API compatible OpenAI se connectent en tant que [provider personnalisé](https://pentagi.com/fr/docs/configuration/llm-providers/#custom-and-openai-compatible-endpoints) :

```bash
LLM_SERVER_URL=http://vllm-server:8000/v1
LLM_SERVER_KEY=local                      # any non-empty value when the server has no key
LLM_SERVER_MODEL=Qwen/Qwen3.6-27B-FP8
LLM_SERVER_CONFIG_PATH=/opt/pentagi/conf/vllm-qwen3.6-27b-fp8.provider.yml
```

L’image inclut des configurations pour plusieurs builds Qwen sur vLLM ; les variantes `-no-think` désactivent le reasoning. Les agents fonctionnent via des [tool calls](https://pentagi.com/fr/docs/glossary/#tool-call), donc démarrez le serveur avec le parser de tool call et le [template](https://pentagi.com/fr/docs/glossary/#template) de chat recommandés pour votre modèle : avec un parser incorrect, les arguments des tool calls arrivent corrompus et un flow s’arrête après quelques étapes.

## [Choisir un modèle](https://pentagi.com/fr/docs/deployment/local-models/#choosing-a-model)

* Attribuez votre modèle le plus puissant à `primary_agent`, `pentester` et `adviser` dans le fichier de configuration ; des modèles plus légers peuvent servir `searcher`, `enricher` et la summarization.
* Pour les modèles de moins de 32B paramètres, activez [la surveillance de l’exécution et la planification des tasks](https://pentagi.com/fr/docs/concepts/agents/#safeguards). Cela double approximativement la qualité des résultats, au prix de deux à trois fois plus de tokens et de temps.
* Prévoyez la mémoire : QwQ 32B en FP16, par exemple, nécessite environ 71 Go de mémoire GPU.

## [Garder le reste de la stack en local](https://pentagi.com/fr/docs/deployment/local-models/#keep-the-rest-of-the-stack-local)

| Partie                                             | Paramètre                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Embeddings                                         | `EMBEDDING_PROVIDER=ollama` avec un modèle d’embedding dans `EMBEDDING_MODEL` utilise le même serveur Ollama ; un serveur local compatible OpenAI fonctionne avec `EMBEDDING_PROVIDER=openai`, son adresse dans `EMBEDDING_URL` et n’importe quel `EMBEDDING_KEY` non vide                                                                                                                                                                                                                                                                                                                                                                                       |
| Recherche web                                      | Search envoie les requêtes des agents sur Internet. DuckDuckGo est activé par défaut ; désactivez-le avec `DUCKDUCKGO_ENABLED=false` et ne conservez que les [engines](https://pentagi.com/fr/docs/configuration/search-engines/) que vous acceptez, telles que votre propre SearXNG                                                                                                                                                                                                                                                                                                                                                                                                   |
| [Knowledge graph](https://pentagi.com/fr/docs/glossary/#knowledge-graph) | Désactivé par défaut. Lorsqu’il est activé, Graphiti appelle OpenAI sauf si `GRAPHITI_LLM_CLIENT_TYPE=custom` l’envoie vers le serveur dans `LLM_SERVER_URL`, auquel cas il lui demande également des embeddings avec le modèle nommé dans `EMBEDDING_MODEL`, ou `text-embedding-3-small` lorsque celui-ci est vide. Si ce serveur ne propose pas ce modèle, définissez `GRAPHITI_SEPARATE_EMBEDDING=true` : Graphiti utilise alors `EMBEDDING_URL`, `EMBEDDING_KEY` et `EMBEDDING_MODEL`, les valeurs que PentAGI emploie, et elles doivent pointer vers un serveur compatible OpenAI — voir [Knowledge graph](https://pentagi.com/fr/docs/concepts/memory/#knowledge-graph-optional) |
| Observabilité                                      | Les stacks Langfuse et Grafana incluses s’exécutent sur votre hôte — voir [Observability](https://pentagi.com/fr/docs/configuration/observability/)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Vérification des mises à jour                      | `UPDATE_CHECK_INTERVAL=0` la désactive ; [Security](https://pentagi.com/fr/docs/configuration/security/#update-check) liste ce qu’elle envoie                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Images                                             | Docker récupère les images de [sandbox](https://pentagi.com/fr/docs/glossary/#sandbox) depuis Docker Hub avec ses propres paramètres ; dans un réseau fermé, pointez le daemon Docker vers un mirror de registry                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |