ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

PentAGI 手动安装后如何配置 LLM 与 Embedding 并通过 ctester、etester 验证?

PentAGI 手动安装后如何配置 LLM 与 Embedding 并通过 ctester、etester 验证? PentAGI 手动安装后如何配置 LLM 与 Embedding 并通过 ctester、etester 验证【免费下载链接】pentagiFully autonomous AI Agents system capable of performing complex penetration testing tasks项目地址: https://gitcode.com/GitHub_Trending/pe/pentagiPentAGI 是一个全自动 AI 渗透测试系统手动部署Docker Compose 方式之后系统不会替你检查 LLM 与 Embedding 是否真正可用.env里配了 key 不代表 agent 能正常发起工具调用也不代表向量库能正常读写。本文覆盖从手动安装到用ctester验证 LLM 各 agent 类型、用etester验证 Embedding 与 pgvector 连接的一条完整路径。适用前提机器已安装 Docker 和 Docker Compose或 Podman满足 2 vCPU、4 GB 内存、20 GB 空闲磁盘的最低要求并且有外网访问以拉取镜像和调用 LLM 服务至少拥有一个可认证的 LLM ProviderOpenAI、Anthropic、Gemini、AWS Bedrock 或本地 Ollama / OpenAI 兼容后端——没有可用的 LLM Provider 时 PentAGI 无法运行。手动安装建立可用的 .env 与 docker-compose.yml主路径是在一个 PentAGI 工作目录中操作。该目录里应有仓库根目录自带的 .env.example 和 docker-compose.yml。建立工作目录并生成.envmkdir pentagi cd pentagi cp .env.example .env如果手边没有源码目录README.md 的 Manual Installation 一节给出的是直接从上游下载.env.example和docker-compose.yml的curl命令可按文档中的地址下载后同样落盘为.env和docker-compose.yml。在.env中填写 LLM key 与安全相关变量。本阶段必做项至少一个 LLM Provider 的凭据见下一节COOKIE_SIGNING_SALT改为随机值PENTAGI_POSTGRES_PASSWORD、NEO4J_PASSWORD改为非默认值仅本机访问时PUBLIC_URL保持默认的https://localhost:8443即可PENTAGI_LISTEN_IP维持127.0.0.1默认行为。需要外部访问时再按 README 的 Accessing PentAGI from External Networks 一节配置PENTAGI_LISTEN_IP0.0.0.0、PUBLIC_URL与CORS_ORIGINS。启动并确认容器就绪docker compose up -d docker compose logs -f pentagi日志显示 backend 就绪后即可开始验证。此时先不要急着建 flowProvider 是否可用要用下面的两个测试器确认。配置 LLM Provider.env中按你选用的 Provider 填写。三种典型配置OpenAI主路径示例OPEN_AI_KEY你的OpenAI密钥 OPEN_AI_SERVER_URLhttps://api.openai.com/v1Ollama 本地推理OLLAMA_SERVER_URLhttp://localhost:11434 OLLAMA_SERVER_MODELllama3.1:8b-instruct-q8_0本地 Ollama 若需要自动拉取模型或查询可用模型文档给出的对应开关是OLLAMA_SERVER_PULL_MODELS_ENABLED与OLLAMA_SERVER_LOAD_MODELS_ENABLED默认均为false预置的 Ollama 配置可通过OLLAMA_SERVER_CONFIG_PATH/opt/pentagi/conf/ollama-llama318b.provider.yml等路径指定。注意 Ollama 模型的上下文要求PentAGI 按 110K context 配置运行普通 Ollama 模型往往num_ctx不够README 说明需要通过 Modelfile 在创建模型时设置num_ctx创建后无法再改。自定义 OpenAI 兼容端点LLM_SERVER_*系列LLM_SERVER_URLhttps://your-endpoint/v1 LLM_SERVER_KEY你的key LLM_SERVER_MODEL LLM_SERVER_CONFIG_PATH/opt/pentagi/conf/custom-openai.provider.yml LLM_SERVER_LEGACY_REASONINGtrue其中LLM_SERVER_CONFIG_PATH指向容器内的 agent 级模型配置仓库中 examples/configs/custom-openai.provider.yml 与 examples/configs/ollama-llama318b.provider.yml 是可对照的样例把LLM_SERVER_MODEL留空表示模型由配置文件指定。OpenAI 未认证组织账号需要LLM_SERVER_LEGACY_REASONINGtrue文档强调这是 OpenAI 兼容所必需。README 同时注明LLM_SERVER_*目前是实验性变量未来会变化现阶段用于指定自定义 LLM server 和一个供所有 agent 使用的模型。其他 ProviderAnthropic、Gemini、Bedrock、DeepSeek、GLM、Kimi、Qwen、MiniMax 等在 README.md 的 API Access 一节有各自的变量清单配置方式与上述同构填 key 加可选的 server URL。用 ctester 验证 LLMctester直接驱动各 agent 类型跑真实测试basic、advanced、json、knowledge 四个测试组覆盖 13 种 agentsimple 到 pentester并输出成功率与性能指标的报告。它比打开一个 flow 看能不能跑更早暴露工具调用问题。主路径在运行中的 pentagi 容器内执行使用容器当前的环境变量# 全量测试详细输出 docker exec -it pentagi /opt/pentagi/bin/ctester -verbose # 生成 Markdown 报告文件并取回宿主机 docker exec -it pentagi /opt/pentagi/bin/ctester -report /opt/pentagi/data/agent-test-report.md docker cp pentagi:/opt/pentagi/data/agent-test-report.md ./可选本地 Go 环境已克隆仓库且安装 Go在backend目录下cd backend go run cmd/ctester/*.go -verbose结果怎么判断报告按 agent 给出成功率-verbose时每个 agent 的逐条测试细节都会打印用于定位是哪类 agent 失败只测部分 agent 或测试组时用-agents simple,primary_agent或-groups basic,knowledge筛选如果失败集中在工具调用function-call类测试且你用的是 custom、llama.cpp、vLLM 或 SGLang 后端文档给出的结论是问题在该后端的 tool-call parser / chat template 配置而不是 PentAGI 本身。常见症状包括Failed to parse tool call arguments as JSON、flow 跑几步后无响应、工具调用反复循环不收敛以及一开始就报failed to select primary docker image via llm callflow 的第一个动作就是用 LLM 工具调用选容器镜像。排查时同时看docker compose logs -f pentagi和后端/代理自己的日志。配置 Embedding ProviderPentAGI 用语义向量做知识存储、记忆与检索。相关变量EMBEDDING_PROVIDERopenai EMBEDDING_MODELtext-embedding-3-small EMBEDDING_URL EMBEDDING_KEY EMBEDDING_BATCH_SIZE100 EMBEDDING_MAX_TEXT_BYTES8192 EMBEDDING_STRIP_NEW_LINEStrue要点均来自 README 的 Embedding Configuration and Testing 一节默认 Provider 是 OpenAI。当EMBEDDING_URL和EMBEDDING_KEY都为空且EMBEDDING_PROVIDERopenai时系统回退使用OPEN_AI_SERVER_URL与OPEN_AI_KEY——所以只配了 LLM 的 OpenAI key 而没配 Embedding 两项时Embedding 实际走的也是这套凭据key 写错同样会拖垮 Embedding支持的 Provideropenai、ollama、mistral、jina、huggingface、googleai、voyageai且各有能力限制Ollama 不支持EMBEDDING_KEY本地模型Mistral 不支持EMBEDDING_MODELHuggingFace 必须提供EMBEDDING_KEYGoogleAI 不支持EMBEDDING_URL且必须有EMBEDDING_KEY任何暴露 OpenAI/embeddings接口的第三方都可以通过EMBEDDING_PROVIDERopenai加自定义EMBEDDING_URL接入出站走代理时确认PROXY_URL调用挂起而不是快速失败时HTTP_CLIENT_TIMEOUT默认 600 秒决定 PentAGI 等多久放弃。用 etester 验证 Embeddingetester的test子命令同时检查 Embedding Provider 和 pgvector 数据库连接且不需要启动任何 flow# 主路径运行中的容器内 docker exec -it pentagi /opt/pentagi/bin/etester test -verbose # 可选本地 Go 环境backend 目录 cd backend go run cmd/etester/main.go test -verbose # 查看向量库统计 docker exec -it pentagi /opt/pentagi/bin/etester info -verbose文档给出的判定逻辑是test失败即说明问题出在 Embedding 配置而非 flow 本身。test通过之后如果想确认检索链路可以补一条只读搜索文档示例命令docker exec -it pentagi /opt/pentagi/bin/etester search -query How to install PostgreSQL -limit 5失败现象、边界与后续操作flow 启动后卡住不推进文档指出的常见原因是 Embedding Provider 配置错误或不可达——flow 运行中每次存取向量记忆都要调 Embedding。先docker logs pentagi找认证错误401/403、模型不存在404、连接超时或 TLS 证书错误再跑etester test -verbose复核。更换 Embedding Provider 或模型之后必须重新生成向量避免新旧向量混库# 重新计算全部文档的嵌入推荐在换 Provider 后使用 docker exec -it pentagi /opt/pentagi/bin/etester reindex # 注意副作用flush 会删除向量库中全部文档仅在确认可接受数据丢失时执行 docker exec -it pentagi /opt/pentagi/bin/etester flushctester 与 etester 都要过才算完成首次配置examples/guides/installation_configuration.md 的首次运行检查清单把至少一个 LLM Provider 配置且通过 ctester和Embedding Provider 配置且通过 etester列为启动后的必确认项改动过任何 Provider 设置后要重跑这两个测试器。全部验证通过后的收尾访问https://localhost:8443用新安装默认账号adminpentagi.com/admin登录并在首次登录后立即修改密码。此后 Provider 的运行时配置用户级 provider profile、prompt、API token可在 Web 控制台 Settings 页管理而 LLM/搜索凭据、Langfuse、Graphiti 等仍属于服务端.env配置这一划分见 README 的 Current Web Settings Coverage 一节。ctester、etester、ftester三个工具的定位区别模型能力、向量链路、单个系统函数在 README 的 Testing LLM Agents / Embedding Configuration and Testing / Function Testing with ftester 三节有完整说明需要调试单个 agent 行为时可继续深入。【免费下载链接】pentagiFully autonomous AI Agents system capable of performing complex penetration testing tasks项目地址: https://gitcode.com/GitHub_Trending/pe/pentagi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表