Pular para o conteúdo
PentAGI
Implantação

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, a saída das tools que eles leem e os findings que eles reportam permanecem nos seus servidores, e um 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

Aponte o PentAGI para o servidor Ollama em .env:

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; 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:

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
ollama create qwen3:32b-fp16-tc -f Modelfile

vLLM e outros servidores compatíveis com OpenAI

vLLM, LocalAI e outros servidores com uma API compatível com OpenAI conectam-se como o provider customizado:

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, então inicie o servidor com o parser de tool call e o 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

  • 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. 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

ParteConfiguração
EmbeddingsEMBEDDING_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 searchA 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 que você aceita, como seu próprio SearXNG
Knowledge graphDesativado 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
ObservabilityAs stacks Langfuse e Grafana incluídas rodam no seu host — veja Observability
Verificação de atualizaçãoUPDATE_CHECK_INTERVAL=0 desativa isso; Security lista o que é enviado
ImagensO Docker baixa as imagens do sandbox do Docker Hub com suas próprias configurações; em uma rede fechada, aponte o daemon do Docker para um espelho de registry

Última atualização em