Zum Inhalt springen
PentAGI
Bereitstellung

Lokale Modelle

Führen Sie PentAGI mit Modellen aus, die auf Ihrer eigenen Hardware bereitgestellt werden, sodass Prompts, Tool-Ausgaben und Findings auf Ihren Servern verbleiben.

PentAGI kann vollständig mit Modellen laufen, die Sie selbst hosten. Die Prompts der Agents, die Tool-Ausgaben, die sie lesen, und die Findings, die sie berichten, verbleiben dann auf Ihren Servern, und ein langer Flow kostet GPU-Zeit statt Tokens. Es werden zwei Arten von Model-Servern unterstützt: Ollama, das am schnellsten einzurichten ist, und vLLM oder jeder andere Server mit einer OpenAI-kompatiblen API für höheren Durchsatz.

Ollama

Verweisen Sie PentAGI in .env auf den Ollama-Server:

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

Die Konfigurationsdatei weist jedem Agententyp ein Modell und dessen Parameter zu; ohne eine solche Datei legt OLLAMA_SERVER_MODEL das Standardmodell fest. Das Image enthält fertige Konfigurationen in /opt/pentagi/conf/, darunter ollama-qwen332b-fp16-tc.provider.yml und ollama-qwq32b-fp16-tc.provider.yml.

Das standardmäßige Kontextfenster von Ollama ist viel kleiner, als ein Flow benötigt: Agents verwenden typischerweise etwa 64K Tokens, und PentAGI ist für 110K konfiguriert. Ollama legt die Kontextgröße nur beim Erstellen eines Modells fest, erstellen Sie daher eine Variante aus einer 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 und andere OpenAI-kompatible Server

vLLM, LocalAI und andere Server mit einer OpenAI-kompatiblen API verbinden sich als benutzerdefinierter Provider:

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

Das Image enthält Konfigurationen für mehrere Qwen-Builds auf vLLM; die Varianten -no-think schalten das Reasoning aus. Agents arbeiten über Tool Calls, starten Sie den Server daher mit dem für Ihr Modell empfohlenen Tool-Call-Parser und Chat-Template: Bei einem falschen Parser kommen Tool-Call-Argumente beschädigt zurück und ein Flow stoppt nach wenigen Schritten.

Auswahl eines Modells

  • Weisen Sie Ihrem stärksten Modell in der Konfigurationsdatei primary_agent, pentester und adviser zu; leichtere Modelle können searcher, enricher und die Zusammenfassung bedienen.
  • Aktivieren Sie für Modelle mit weniger als 32B Parametern die Ausführungsüberwachung und Task-Planung. Dies verdoppelt annähernd die Ergebnisqualität bei Kosten von zwei- bis dreimal mehr Tokens und Zeit.
  • Planen Sie den Speicherbedarf: QwQ 32B in FP16 benötigt beispielsweise etwa 71 GB GPU-Speicher.

Halten Sie den Rest des Stacks lokal

TeilEinstellung
EmbeddingsEMBEDDING_PROVIDER=ollama mit einem Embedding-Modell in EMBEDDING_MODEL verwendet denselben Ollama-Server; ein lokaler OpenAI-kompatibler Server funktioniert mit EMBEDDING_PROVIDER=openai, seiner Adresse in EMBEDDING_URL und einem beliebigen nicht-leeren EMBEDDING_KEY
WebsucheSearch sendet die Queries der Agents ins Internet. DuckDuckGo ist standardmäßig aktiviert; schalten Sie es mit DUCKDUCKGO_ENABLED=false aus und behalten Sie nur die Engines bei, die Sie akzeptieren, wie z. B. Ihre eigene SearXNG
Knowledge GraphStandardmäßig deaktiviert. Wenn aktiviert, ruft Graphiti OpenAI auf, es sei denn, GRAPHITI_LLM_CLIENT_TYPE=custom leitet es an den Server in LLM_SERVER_URL weiter, von dem es dann auch Embeddings mit dem in EMBEDDING_MODEL genannten Modell anfordert, oder mit text-embedding-3-small, wenn dieses Feld leer ist. Wenn dieser Server dieses Modell nicht bereitstellt, setzen Sie GRAPHITI_SEPARATE_EMBEDDING=true: Graphiti verwendet dann EMBEDDING_URL, EMBEDDING_KEY und EMBEDDING_MODEL, die Werte, die PentAGI nutzt, und diese müssen auf einen OpenAI-kompatiblen Server verweisen — siehe Knowledge Graph
ObservabilityDie gebündelten Langfuse- und Grafana-Stacks laufen auf Ihrem Host — siehe Observability
Update-CheckUPDATE_CHECK_INTERVAL=0 schaltet ihn aus; Security listet auf, was gesendet wird
ImagesDocker pullt die Sandbox-Images mit seinen eigenen Einstellungen von Docker Hub; weisen Sie in einem geschlossenen Netzwerk den Docker-Daemon auf einen Registry-Mirror

Zuletzt aktualisiert am