Перейти к содержимому
PentAGI
Развёртывание

Локальные модели

Запускайте PentAGI на моделях, обслуживаемых вашим собственным оборудованием, чтобы промпты, вывод инструментов и findings оставались на ваших серверах.

PentAGI может работать полностью на моделях, которые вы обслуживаете самостоятельно. Промпты агентов, вывод инструментов, который они читают, и findings, о которых они сообщают, остаются на ваших серверах, а длительный flow обходится во время работы GPU вместо токенов. Поддерживаются два вида серверов моделей: Ollama, самый быстрый в настройке, и vLLM или любой другой сервер с OpenAI-совместимым API для более высокой пропускной способности.

Ollama

Укажите PentAGI на сервер Ollama в .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

Файл конфигурации назначает модель и её параметры каждому agent type; без него OLLAMA_SERVER_MODEL устанавливает модель по умолчанию. Образ содержит готовые конфигурации в /opt/pentagi/conf/, среди них ollama-qwen332b-fp16-tc.provider.yml и ollama-qwq32b-fp16-tc.provider.yml.

Контекстное окно Ollama по умолчанию намного меньше, чем нужно для flow: агенты обычно используют около 64K токенов, а PentAGI настроен на 110K. Ollama устанавливает размер контекста только при создании модели, поэтому создайте вариант из 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 и другие OpenAI-совместимые серверы

vLLM, LocalAI и другие серверы с OpenAI-совместимым API подключаются как custom 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

Образ содержит конфигурации для нескольких сборок Qwen на vLLM; варианты -no-think отключают reasoning. Агенты работают через tool calls, поэтому запускайте сервер с парсером tool call и chat template, рекомендованными для вашей модели: при неправильном парсере аргументы tool call возвращаются повреждёнными, и flow останавливается после нескольких шагов.

Выбор модели

  • Предоставьте вашу самую мощную модель для primary_agent, pentester и adviser в файле конфигурации; более лёгкие могут обслуживать searcher, enricher и суммаризацию.
  • Для моделей менее 32B параметров включите execution monitoring and task planning. Это примерно удваивает качество результатов за счёт увеличения расхода токенов и времени в два-три раза.
  • Планируйте использование памяти: например, QwQ 32B в FP16 требует около 71 ГБ видеопамяти GPU.

Остальную часть стека держите локально

ЧастьНастройка
EmbeddingsEMBEDDING_PROVIDER=ollama с embedding model в EMBEDDING_MODEL использует тот же сервер Ollama; локальный OpenAI-совместимый сервер работает с EMBEDDING_PROVIDER=openai, его адресом в EMBEDDING_URL и любым непустым EMBEDDING_KEY
Web searchSearch отправляет запросы агентов в интернет. DuckDuckGo включён по умолчанию; отключите его с помощью DUCKDUCKGO_ENABLED=false и оставьте только те engines, которые вы принимаете, например, ваш собственный SearXNG
Knowledge graphОтключён по умолчанию. При включении Graphiti обращается к OpenAI, если только GRAPHITI_LLM_CLIENT_TYPE=custom не направляет его на сервер в LLM_SERVER_URL, у которого затем также запрашивает эмбеддинги с моделью, указанной в EMBEDDING_MODEL, или text-embedding-3-small, если это поле пусто. Если этот сервер не обслуживает данную модель, задайте GRAPHITI_SEPARATE_EMBEDDING=true: тогда Graphiti возьмёт EMBEDDING_URL, EMBEDDING_KEY и EMBEDDING_MODEL — значения, которые использует PentAGI, — и они должны указывать на сервер, совместимый с OpenAI; см. Knowledge graph
ObservabilityВстроенные стеки Langfuse и Grafana работают на вашем хосте — см. Observability
Update checkUPDATE_CHECK_INTERVAL=0 отключает её; Security перечисляет, что она отправляет
ImagesDocker загружает образы sandbox из Docker Hub со своими собственными настройками; в закрытой сети направьте демон Docker на зеркало реестра

Последнее обновление: