로컬 모델
자체 하드웨어에서 서빙되는 모델로 PentAGI를 실행하여 프롬프트, tool output 및 finding이 서버 내에 유지되도록 합니다.
PentAGI는 사용자가 직접 호스팅하는 모델로 완전히 실행할 수 있습니다. 이때 agentagent — 에이전트PentAGI의 AI 에이전트: 고유한 프롬프트, 설정 및 도구를 갖추고 모의해킹, 코드 작성 또는 웹 검색과 같은 특정 작업을 수행하는 모델입니다.의 prompt, agent가 읽는 tooltool — 도구에이전트가 작업에 사용하는 수단입니다. 터미널, 격리된 브라우저, 웹 검색 같은 내장 기능이나 nmap, metasploit, sqlmap 같은 샌드박스 안의 프로그램입니다. 출력, 그리고 agent가 보고하는 findingfinding — 발견 사항호스트, 실행 중인 서비스 또는 취약점 등 테스트 중에 발견되어 기록된 항목입니다.은 모두 사용자의 서버에 남으며, 긴 flowflow — 플로우PentAGI의 한 번 실행: 목표, 사용자의 메시지에서 생성된 작업, 그리고 에이전트들이 수행한 모든 활동을 포함합니다.는 토큰 비용 대신 GPU 시간을 소모합니다. 두 가지 유형의 model server가 지원됩니다: 설정이 가장 빠른 Ollama와, 더 높은 처리량을 위한 vLLM 또는 OpenAI 호환 API를 제공하는 기타 server입니다.
Ollama
.env에서 PentAGI를 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구성 파일은 각 agent typeagent type — 에이전트 유형펜테스터, 코더 또는 서처와 같이 에이전트가 수행하는 역할입니다. 모델 설정은 에이전트 유형별로 선택됩니다.에 모델과 해당 매개변수를 할당합니다. 구성 파일이 없으면 OLLAMA_가 기본 모델을 설정합니다. 이미지에는 /에 준비된 구성 파일이 포함되어 있으며, 그중 ollama-qwen332b-fp16-tc.provider.yml와 ollama-qwq32b-fp16-tc.provider.yml가 있습니다.
Ollama의 기본 context window는 flow에 필요한 크기보다 훨씬 작습니다. agent는 일반적으로 약 64K 토큰을 사용하며, PentAGI는 110K로 설정되어 있습니다. Ollama는 모델을 생성할 때만 context 크기를 설정하므로, 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.1ollama create qwen3:32b-fp16-tc -f ModelfilevLLM 및 기타 OpenAI 호환 server
vLLM, LocalAI 및 기타 OpenAI 호환 API를 갖춘 server는 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이미지에는 vLLM용 여러 Qwen 빌드에 대한 구성 파일이 포함되어 있으며, -no-think 변형 버전은 reasoning을 비활성화합니다. Agent는 tool calltool call — 도구 호출터미널 명령이나 웹 검색과 같은 에이전트의 도구를 실행하도록 모델이 보내는 요청입니다.을 통해 작동하므로, 모델에 권장되는 tool-call parser와 chat templatetemplate — 템플릿PentAGI가 재사용하는 저장된 텍스트입니다. Templates에 저장한 템플릿은 새 플로우의 첫 메시지를 채웁니다. Enterprise에서는 보고서 템플릿이 보고서의 섹션과 순서를 정하므로, 다양한 템플릿은 고객, 엔지니어 및 관리자를 위해 서로 다른 문서를 생성합니다.을 사용하여 server를 시작해야 합니다. 잘못된 parser를 사용하면 tool-call 인수가 손상되어 flow가 몇 단계 후에 중단됩니다.
모델 선택
- 구성 파일에서
primary_,agent pentester및adviser에는 가장 강력한 모델을 할당하고,searcher,enricher및 요약 작업에는 경량 모델을 사용할 수 있습니다. - 매개변수가 32B 미만인 모델의 경우 execution monitoring and task planning을 활성화하세요. 이는 토큰과 시간이 2~3배 더 소모되지만 결과 품질을 대략 두 배로 향상시킵니다.
- 메모리를 계획하세요: 예를 들어 FP16의 QwQ 32B는 약 71GB의 GPU 메모리가 필요합니다.
나머지 스택을 로컬로 유지
| 부분 | 설정 |
|---|---|
| Embeddings | EMBEDDING_의 embedding 모델을 사용하는 EMBEDDING_는 동일한 Ollama server를 사용합니다. 로컬 OpenAI 호환 server는 EMBEDDING_, EMBEDDING_의 주소 및 비어 있지 않은 EMBEDDING_와 함께 작동합니다 |
| Web search | Search는 agent의 쿼리를 인터넷으로 전송합니다. DuckDuckGo은 기본적으로 활성화되어 있으며, DUCKDUCKGO_로 비활성화하고 자체 SearXNG와 같이 허용하는 engines만 유지하세요 |
| Knowledge graphknowledge graph — 지식 그래프이 선택적 기능이 활성화되면 PentAGI가 테스트 중에 구축하는 호스트, 서비스, 취약점 및 이들 간의 접근 관계를 나타내는 그래프입니다. 발견 사항들이 어떻게 연결되는지 보여줍니다. | 기본적으로 비활성화되어 있습니다. 활성화하면 Graphiti는 OpenAI를 호출하지만, GRAPHITI_이면 LLM_의 서버를 사용하고, 임베딩도 그 서버에 EMBEDDING_에 지정된 모델로 요청합니다(이 값이 비어 있으면 text-embedding-3-small). 해당 서버가 그 모델을 제공하지 않으면 GRAPHITI_로 설정하세요. 그러면 Graphiti는 PentAGI가 사용하는 EMBEDDING_, EMBEDDING_, EMBEDDING_ 값을 사용하므로, 이 값들은 OpenAI 호환 서버를 가리켜야 합니다 — Knowledge graph 참조 |
| Observability | 번들된 Langfuse 및 Grafana 스택은 호스트에서 실행됩니다 — Observability 참조 |
| Update check | UPDATE_로 비활성화합니다; Security에는 전송되는 내용이 나열되어 있습니다 |
| Images | Docker는 자체 설정으로 Docker Hub에서 sandboxsandbox — 샌드박스에이전트가 도구를 실행하는 격리된 Docker 컨테이너입니다. 인터페이스에서는 Terminal로 표시됩니다. 이미지를 pull합니다. 폐쇄된 네트워크에서는 Docker daemon을 registry 미러로 지정하세요 |
최종 업데이트: