Vai al contenuto
PentAGI
Distribuzione

Modelli locali

Esegui PentAGI su modelli ospitati sul tuo hardware, così che prompt, output degli strumenti e finding rimangano sui tuoi server.

PentAGI può funzionare interamente con modelli che servi tu stesso. I prompt degli agent, l'output dei tool che leggono e i finding che riportano rimangono sui tuoi server, e un flow lungo costa tempo GPU invece di token. Sono supportati due tipi di server di modelli: Ollama, il più rapido da configurare, e vLLM o qualsiasi altro server con un'API compatibile con OpenAI, per un throughput più elevato.

Ollama

Indica a PentAGI il server Ollama in .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

Il file di configurazione assegna un modello e i suoi parametri a ogni agent type; senza di esso, OLLAMA_SERVER_MODEL imposta il modello predefinito. L'immagine include configurazioni pronte in /opt/pentagi/conf/, tra cui ollama-qwen332b-fp16-tc.provider.yml e ollama-qwq32b-fp16-tc.provider.yml.

La finestra di contesto predefinita di Ollama è molto più piccola di quanto necessiti un flow: gli agent usano tipicamente circa 64K token, e PentAGI è configurato per 110K. Ollama imposta la dimensione del contesto solo quando crea un modello, quindi costruisci una variante da un 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 altri server compatibili con OpenAI

vLLM, LocalAI e altri server con un'API compatibile con OpenAI si connettono come provider personalizzato:

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'immagine include configurazioni per diverse build di Qwen su vLLM; le varianti -no-think disattivano il reasoning. Gli agent lavorano tramite tool call, quindi avvia il server con il parser delle tool call e il template di chat consigliati per il tuo modello: con un parser sbagliato, gli argomenti delle tool call arrivano corrotti e un flow si interrompe dopo pochi passi.

Scegliere un modello

  • Assegna il tuo modello più potente a primary_agent, pentester e adviser nel file di configurazione; quelli più leggeri possono servire searcher, enricher e il riassunto.
  • Per modelli con meno di 32B di parametri, attiva monitoraggio dell'esecuzione e pianificazione dei task. Raddoppiano approssimativamente la qualità dei risultati al costo di due o tre volte più token e tempo.
  • Pianifica la memoria: QwQ 32B in FP16, ad esempio, richiede circa 71 GB di memoria GPU.

Mantieni locale il resto dello stack

ParteImpostazione
EmbeddingEMBEDDING_PROVIDER=ollama con un modello di embedding in EMBEDDING_MODEL usa lo stesso server Ollama; un server locale compatibile con OpenAI funziona con EMBEDDING_PROVIDER=openai, il suo indirizzo in EMBEDDING_URL e qualsiasi EMBEDDING_KEY non vuoto
Ricerca webSearch invia le query degli agent a internet. DuckDuckGo è attivo per impostazione predefinita; disattivalo con DUCKDUCKGO_ENABLED=false e mantieni solo i motori di ricerca che accetti, come il tuo SearXNG personale
Knowledge graphDisattivato per impostazione predefinita. Quando è attivo, Graphiti chiama OpenAI a meno che GRAPHITI_LLM_CLIENT_TYPE=custom non lo invii al server in LLM_SERVER_URL, al quale chiede poi anche gli embedding con il modello indicato in EMBEDDING_MODEL, oppure text-embedding-3-small quando questo è vuoto. Se quel server non fornisce quel modello, imposta GRAPHITI_SEPARATE_EMBEDDING=true: Graphiti usa allora EMBEDDING_URL, EMBEDDING_KEY e EMBEDDING_MODEL, i valori che PentAGI utilizza, e devono puntare a un server compatibile con OpenAI — vedi Knowledge graph
OsservabilitàGli stack Langfuse e Grafana inclusi girano sul tuo host — vedi Osservabilità
Controllo aggiornamentiUPDATE_CHECK_INTERVAL=0 lo disattiva; Sicurezza elenca cosa invia
ImmaginiDocker scarica le immagini della sandbox da Docker Hub con le proprie impostazioni; in una rete chiusa, punta il demone Docker a un mirror del registry

Ultimo aggiornamento il