# Modelos locais

> Execute o PentAGI em modelos servidos pelo seu próprio hardware, para que prompts, saída de ferramentas e findings permaneçam nos seus servidores.

O PentAGI pode rodar inteiramente com modelos que você serve por conta própria. Os prompts dos [agents](https://pentagi.com/pt-br/docs/glossary/#agent), a saída das [tools](https://pentagi.com/pt-br/docs/glossary/#tool) que eles leem e os [findings](https://pentagi.com/pt-br/docs/glossary/#finding) que eles reportam permanecem nos seus servidores, e um [flow](https://pentagi.com/pt-br/docs/glossary/#flow) longo custa tempo de GPU em vez de tokens. Dois tipos de model servers são suportados: Ollama, o mais rápido de configurar, e vLLM ou qualquer outro server com uma API compatível com OpenAI, para maior throughput.

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

Aponte o PentAGI para o servidor Ollama em `.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
```

O arquivo de configuração atribui um modelo e seus parâmetros a cada [agent type](https://pentagi.com/pt-br/docs/glossary/#agent-type); sem ele, `OLLAMA_SERVER_MODEL` define o modelo padrão. A imagem traz configurações prontas em `/opt/pentagi/conf/`, entre elas `ollama-qwen332b-fp16-tc.provider.yml` e `ollama-qwq32b-fp16-tc.provider.yml`.

A janela de contexto padrão do Ollama é muito menor do que um flow precisa: os agents normalmente usam cerca de 64K tokens, e o PentAGI está configurado para 110K. O Ollama define o tamanho do contexto apenas quando cria um modelo, então crie uma variante a partir de um 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 e outros servidores compatíveis com OpenAI](https://pentagi.com/pt-br/docs/deployment/local-models/#vllm-and-other-openai-compatible-servers)

vLLM, LocalAI e outros servidores com uma API compatível com OpenAI conectam-se como o [provider customizado](https://pentagi.com/pt-br/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
```

A imagem traz configurações para várias builds do Qwen no vLLM; as variantes `-no-think` desativam o reasoning. Os agents trabalham por meio de [tool calls](https://pentagi.com/pt-br/docs/glossary/#tool-call), então inicie o servidor com o parser de tool call e o [template](https://pentagi.com/pt-br/docs/glossary/#template) de chat recomendados para o seu modelo: com um parser errado, os argumentos do tool call voltam corrompidos e um flow para após alguns passos.

## [Escolhendo um modelo](https://pentagi.com/pt-br/docs/deployment/local-models/#choosing-a-model)

* Destine seu modelo mais potente para `primary_agent`, `pentester` e `adviser` no arquivo de configuração; modelos mais leves podem atender `searcher`, `enricher` e sumarização.
* Para modelos com menos de 32B de parâmetros, ative o [monitoramento de execução e o planejamento de tasks](https://pentagi.com/pt-br/docs/concepts/agents/#safeguards). Eles aproximadamente dobram a qualidade dos resultados ao custo de duas a três vezes mais tokens e tempo.
* Planeje a memória: QwQ 32B em FP16, por exemplo, precisa de cerca de 71 GB de memória de GPU.

## [Mantenha o restante da stack local](https://pentagi.com/pt-br/docs/deployment/local-models/#keep-the-rest-of-the-stack-local)

| Parte                                              | Configuração                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| -------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Embeddings                                         | `EMBEDDING_PROVIDER=ollama` com um modelo de embedding em `EMBEDDING_MODEL` usa o mesmo servidor Ollama; um servidor local compatível com OpenAI funciona com `EMBEDDING_PROVIDER=openai`, seu endereço em `EMBEDDING_URL` e qualquer `EMBEDDING_KEY` não vazio                                                                                                                                                                                                                                                                                                                                                                                 |
| Web search                                         | A Search envia as consultas dos agents para a internet. O DuckDuckGo vem ativado por padrão; desative-o com `DUCKDUCKGO_ENABLED=false` e mantenha apenas os [engines](https://pentagi.com/pt-br/docs/configuration/search-engines/) que você aceita, como seu próprio SearXNG                                                                                                                                                                                                                                                                                                                                                                                            |
| [Knowledge graph](https://pentagi.com/pt-br/docs/glossary/#knowledge-graph) | Desativado por padrão. Quando ativado, o Graphiti chama a OpenAI, a menos que `GRAPHITI_LLM_CLIENT_TYPE=custom` o envie para o servidor em `LLM_SERVER_URL`, do qual então solicita também embeddings com o modelo nomeado em `EMBEDDING_MODEL`, ou `text-embedding-3-small` quando este estiver vazio. Se esse servidor não atender esse modelo, defina `GRAPHITI_SEPARATE_EMBEDDING=true`: o Graphiti então usa `EMBEDDING_URL`, `EMBEDDING_KEY` e `EMBEDDING_MODEL`, os valores que o PentAGI utiliza, e eles devem apontar para um servidor compatível com OpenAI — veja [Knowledge graph](https://pentagi.com/pt-br/docs/concepts/memory/#knowledge-graph-optional) |
| Observability                                      | As stacks Langfuse e Grafana incluídas rodam no seu host — veja [Observability](https://pentagi.com/pt-br/docs/configuration/observability/)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Verificação de atualização                         | `UPDATE_CHECK_INTERVAL=0` desativa isso; [Security](https://pentagi.com/pt-br/docs/configuration/security/#update-check) lista o que é enviado                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Imagens                                            | O Docker baixa as imagens do [sandbox](https://pentagi.com/pt-br/docs/glossary/#sandbox) do Docker Hub com suas próprias configurações; em uma rede fechada, aponte o daemon do Docker para um espelho de registry                                                                                                                                                                                                                                                                                                                                                                                                                                                       |