Saltar al contenido
PentAGI
Despliegue

Modelos locales

Ejecuta PentAGI en modelos servidos desde tu propio hardware, para que los prompts, la salida de las herramientas y los findings se queden en tus servidores.

PentAGI puede ejecutarse completamente con modelos que sirvas tú mismo. Los prompts de los agents, la salida de las tools que leen y los findings que reportan permanecen entonces en tus servidores, y un flow largo consume tiempo de GPU en lugar de tokens. Se admiten dos tipos de servidores de modelos: Ollama, el más rápido de configurar, y vLLM o cualquier otro servidor con una API compatible con OpenAI, para un mayor rendimiento.

Ollama

Apunta PentAGI al servidor de Ollama en .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

El archivo de configuración asigna un modelo y sus parámetros a cada agent type; sin uno, OLLAMA_SERVER_MODEL establece el modelo predeterminado. La imagen incluye configuraciones listas en /opt/pentagi/conf/, entre ellas ollama-qwen332b-fp16-tc.provider.yml y ollama-qwq32b-fp16-tc.provider.yml.

La ventana de contexto predeterminada de Ollama es mucho más pequeña de lo que necesita un flow: los agents suelen usar alrededor de 64K tokens, y PentAGI está configurado para 110K. Ollama establece el tamaño del contexto solo cuando crea un modelo, así que construye una variante desde 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 y otros servidores compatibles con OpenAI

vLLM, LocalAI y otros servidores con una API compatible con OpenAI se conectan como el proveedor personalizado:

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

La imagen incluye configuraciones para varias compilaciones de Qwen en vLLM; las variantes -no-think desactivan el reasoning. Los agents trabajan mediante tool calls, así que inicia el servidor con el parser de tool calls y la template de chat recomendadas para tu modelo: con un parser incorrecto, los argumentos de los tool calls vuelven rotos y un flow se detiene tras unos pocos pasos.

Elegir un modelo

  • Asigna tu modelo más potente a primary_agent, pentester y adviser en el archivo de configuración; los más ligeros pueden servir para searcher, enricher y los resúmenes.
  • Para modelos de menos de 32B de parámetros, activa el monitoreo de ejecución y la planificación de tasks. Esto duplica aproximadamente la calidad de los resultados a costa de consumir dos o tres veces más tokens y tiempo.
  • Planifica la memoria: QwQ 32B en FP16, por ejemplo, necesita unos 71 GB de memoria de GPU.

Mantén el resto de la pila en local

ParteConfiguración
EmbeddingsEMBEDDING_PROVIDER=ollama con un modelo de embedding en EMBEDDING_MODEL usa el mismo servidor de Ollama; un servidor local compatible con OpenAI funciona con EMBEDDING_PROVIDER=openai, su dirección en EMBEDDING_URL y cualquier EMBEDDING_KEY no vacío
Búsqueda webSearch envía las consultas de los agents a internet. DuckDuckGo está activado por defecto; desactívalo con DUCKDUCKGO_ENABLED=false y mantén solo los motores que aceptes, como tu propio SearXNG
Knowledge graphDesactivado por defecto. Cuando está activado, Graphiti llama a OpenAI a menos que GRAPHITI_LLM_CLIENT_TYPE=custom lo envíe al servidor en LLM_SERVER_URL, al que luego solicita también embeddings con el modelo nombrado en EMBEDDING_MODEL, o text-embedding-3-small cuando esté vacío. Si ese servidor no sirve ese modelo, configura GRAPHITI_SEPARATE_EMBEDDING=true: Graphiti toma entonces EMBEDDING_URL, EMBEDDING_KEY y EMBEDDING_MODEL, los valores que usa PentAGI, y deben apuntar a un servidor compatible con OpenAI — consulta Knowledge graph
ObservabilidadLas pilas incluidas de Langfuse y Grafana se ejecutan en tu host — consulta Observability
Comprobación de actualizacionesUPDATE_CHECK_INTERVAL=0 la desactiva; Security enumera lo que envía
ImágenesDocker extrae las imágenes del sandbox desde Docker Hub con su propia configuración; en una red cerrada, apunta el demonio de Docker a un espejo de registro

Última actualización el