news 2026/9/14 4:25:41

如何用 Ollama Modelfile 创建 110K 上下文的自定义模型供 PentAGI 使用?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用 Ollama Modelfile 创建 110K 上下文的自定义模型供 PentAGI 使用?

如何用 Ollama Modelfile 创建 110K 上下文的自定义模型供 PentAGI 使用?

【免费下载链接】pentagiFully autonomous AI Agents system capable of performing complex penetration testing tasks项目地址: https://gitcode.com/GitHub_Trending/pe/pentagi

PentAGI 的 agent 工作流对上下文窗口的要求高于 Ollama 的默认配置:典型 agent 流程大约消耗 64K tokens,而 PentAGI 出于安全余量和复杂渗透测试场景的考虑,使用 110K 的上下文规模。由于num_ctx参数只能在模型创建时通过 Modelfile 设置,创建之后无法修改、运行时也无法覆盖,所以要用本地 Ollama 模型驱动 PentAGI,必须先用 Modelfile 构建一个带num_ctx 110000的自定义模型,再把 PentAGI 指向引用该模型的 provider 配置文件。

前提条件

按 Ollama Provider 文档 的要求准备本地环境:

  1. 按 Ollama 官方安装指南安装并启动 Ollama server,默认监听http://localhost:11434
  2. 确认基础模型已可用,或先执行ollama pull qwen3:32b-fp16拉取本文示例使用的基础模型。

编写 Modelfile 并构建自定义模型

以文档给出的 Qwen3 32B FP16 示例为例,创建名为Modelfile_qwen3_32b_fp16_tc的 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

其中FROM指向 Ollama 中已存在的基础模型,num_ctx 110000即 110K 上下文,其余PARAMETER行为文档给出的采样参数原值。然后执行构建:

ollama create qwen3:32b-fp16-tc -f Modelfile_qwen3_32b_fp16_tc

构建成功后得到标签为qwen3:32b-fp16-tc的自定义模型。可以用 Ollama 文档提到的ollama list查看系统上当前可用的模型,确认新模型出现在列表中。

将 PentAGI 指向自定义模型

PentAGI 的 Docker 镜像内置了引用这些自定义模型的 provider 配置文件,位于容器内/opt/pentagi/conf/

  • ollama-qwen332b-fp16-tc.provider.yml(对应 示例配置)
  • ollama-qwq32b-fp16-tc.provider.yml(对应 示例配置)

以 Qwen3 配置为例,该文件把所有 agent 类型(simplesimple_jsonprimary_agentassistantgeneratorrefineradviserreflectorsearcherenrichercoderinstallerpentester)统一指定为qwen3:32b-fp16-tcn: 1max_tokens: 40000。因此只需在.env中配置 Ollama 连接与配置路径:

# Basic local Ollama setup OLLAMA_SERVER_URL=http://localhost:11434 OLLAMA_SERVER_MODEL=qwen3:32b-fp16-tc # Production setup with auto-pull and model discovery OLLAMA_SERVER_URL=http://ollama-server:11434 OLLAMA_SERVER_PULL_MODELS_ENABLED=true OLLAMA_SERVER_PULL_MODELS_TIMEOUT=900 OLLAMA_SERVER_LOAD_MODELS_ENABLED=true # Using pre-built configurations from Docker image OLLAMA_SERVER_CONFIG_PATH=/opt/pentagi/conf/ollama-qwen332b-fp16-tc.provider.yml

几点适用条件说明:

  • 容器访问宿主机上的 Ollama 时,OLLAMA_SERVER_URL需要改成容器可达的地址,文档示例中使用的是http://ollama-server:11434
  • OLLAMA_SERVER_PULL_MODELS_ENABLED=true会在启动时自动下载配置中指定的模型,首次启动可能耗时数分钟,OLLAMA_SERVER_PULL_MODELS_TIMEOUT=900将下载超时设为 15 分钟;
  • OLLAMA_SERVER_LOAD_MODELS_ENABLED=true会通过 API 查询 Ollama 模型列表,额外增加 1-2 秒启动延迟;追求最快启动时,两个开关都关闭并静态指定模型即可(见 Ollama Provider 文档 的 Recommended Settings)。

用 ctester 验证配置

PentAGI 内置ctester工具用于测试和校验 LLM agent 配置是否可用。在运行中的 PentAGI 容器内针对该 Ollama 配置执行:

# Test with Ollama Qwen3 32B configuration (requires custom model creation) docker exec -it pentagi /opt/pentagi/bin/ctester -config /opt/pentagi/conf/ollama-qwen332b-fp16-tc.provider.yml

ctester 会对 basic completion、JSON 响应、function calling 和渗透测试知识等测试项进行并行测试,并生成带成功率与性能指标的 markdown 报告;也可以只测部分 agent 类型,例如-agents simple,primary_agent,coder,或用-verbose输出详细过程。

可选分支:QwQ 32B FP16

文档给出了第二个示例,ModelfileModelfile_qwq_32b_fp16_tc

FROM qwq:32b-fp16 PARAMETER num_ctx 110000 PARAMETER temperature 0.2 PARAMETER top_p 0.7 PARAMETER min_p 0.0 PARAMETER top_k 40 PARAMETER repeat_penalty 1.2
ollama create qwq:32b-fp16-tc -f Modelfile_qwq_32b_fp16_tc

注意文档明确标注:QwQ 32B FP16 推理大约需要71.3 GB VRAM,尝试使用该模型前必须先确认 GPU 显存足够。对应的验证命令为:

# Test with Ollama QwQ 32B configuration (requires custom model creation and 71.3GB VRAM) docker exec -it pentagi /opt/pentagi/bin/ctester -config /opt/pentagi/conf/ollama-qwq32b-fp16-tc.provider.yml

其 provider 配置(ollama-qwq32b-fp16-tc.provider.yml)同样覆盖全部 agent 类型,另外在simplesimple_json中设置了repetition_penalty: 1

排查与限制

  • 连接失败:确认 Ollama server 正在运行且OLLAMA_SERVER_URL从 PentAGI 侧可达(Ollama Provider 文档 Troubleshooting 第 1 条);
  • Model not found:先执行ollama pull <model-name>拉取模型(同上文档 Troubleshooting 第 2 条);
  • num_ctx 不可事后调整:若需要不同的上下文规模,只能新建 Modelfile 并重新ollama create一个模型,已创建模型无法在运行时覆盖num_ctx
  • 显存不足:大模型下用系统资源监控观察内存占用(Troubleshooting 第 4 条),QwQ 32B FP16 的 71.3 GB VRAM 要求是最直接的硬约束。

【免费下载链接】pentagiFully autonomous AI Agents system capable of performing complex penetration testing tasks项目地址: https://gitcode.com/GitHub_Trending/pe/pentagi

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/14 4:23:54

数学建模也能Agent化:多智能体协作全流程实战

我去年年底开始认真琢磨一件事&#xff1a;数学建模这个场景&#xff0c;能不能被Agent化。先说背景。我本职做算法工程&#xff0c;业余会帮学生辅导数学建模竞赛&#xff0c;也接一些企业里的小型建模咨询。前几年大家普遍的做法&#xff0c;是把ChatGPT当高级搜索引擎用——…

作者头像 李华
网站建设 2026/9/14 4:23:40

4F相关器系统Matlab仿真:从透镜傅里叶变换到相关峰定位

简介&#xff1a;基于透镜傅立叶变换特性的4F相关器系统的Matlab仿真项目&#xff0c;聚焦光学信息处理与傅立叶光学中的频谱分析&#xff0c;适用于光电、通信、自动化等专业学生完成毕业设计、课程设计或大作业&#xff0c;也可作为相关科研人员的入门参考。压缩包共12个文件…

作者头像 李华
网站建设 2026/9/14 4:23:25

MongoDB Stable API:API 版本兼容性规则与 IDL 兼容性检查机制全解

MongoDB Stable API&#xff1a;API 版本兼容性规则与 IDL 兼容性检查机制全解 【免费下载链接】mongo The MongoDB Database 项目地址: https://gitcode.com/GitHub_Trending/mo/mongo 本文围绕 MongoDB 官方文档 STABLE_API_README.md 展开&#xff0c;讲清楚 Stable …

作者头像 李华
网站建设 2026/9/14 4:22:43

ESPHome 30元一个下午搭好漏水检测报警

ESPHome 30元一个下午搭好漏水检测报警 【免费下载链接】esphome ESPHome is a system to control your ESP32, ESP8266, BK72xx, RP2040 by simple yet powerful configuration files and control them remotely through Home Automation systems. 项目地址: https://gitcod…

作者头像 李华