1. 部署完 MiniMax M2它开口就说自己是 ChatGPT你大概率也遇到过这个画面在 OpenWebUI 里问「你是谁」对面一本正经地回答「我是 ChatGPT由 OpenAI 开发」。明明后端跑的是自己拉起来的 MiniMax M2MoE 架构、2300 亿总参数、100 亿激活参数结果自我介绍直接串台。第一反应是「我是不是下错权重了」第二反应是「这模型是不是拿 ChatGPT 数据蒸馏的」。先把结论放前面模型权重本身不会凭空变成 ChatGPT绝大多数「自称 ChatGPT」都是对话模板chat template没对齐或者系统提示词被上游覆盖导致的。MiniMax M2 是开源权重ChatGPT 是闭源服务两者不存在「部署时被替换」的可能。真正会翻车的地方在配置层OpenWebUI 发给后端的 messages 结构、vLLM/SGLang 启动时加载的 tokenizer 配置、以及默认注入的 system prompt。这篇就按我实际在九章智算云上部署 MiniMax M2 OpenWebUI 的流程走一遍把可复制的config.toml、settings.json骨架、TaoToken 统一 Key 接入步骤、以及模型身份校验和对话回归验证动作都交付出来。你看完能自己判断到底是配置翻车还是模型真香。MiniMax M2 本身的定位很清晰——紧凑、快速、经济高效的 MoE 模型专为编码和智能体任务打造。在 Terminal-Bench、(Multi-)SWE-Bench 这类任务上表现突出第三方评测里以 61 分拿到开源模型第一紧随 Claude 4.5 Sonnet。所以它「像 ChatGPT」不是因为能力像而是因为输出风格被模板带偏了。2. 前置准备TaoToken 统一 Key 与九章智算云环境在动手排查身份问题之前先把两件事理清楚一是模型服务怎么起二是 Key 怎么统一管理。很多人卡在「OpenWebUI 连不上后端」或者「Key 到处散落」其实和模型身份问题是两码事但会互相干扰排查。2.1 为什么用 TaoToken 统一 Key如果你同时接 MiniMax M2、Claude、GPT 系列做对比测试每个平台一套 Key、一套 base_urlOpenWebUI 里配置会非常乱。TaoToken 的作用是把这些统一到一个入口OpenAI 兼容格式base_url 填https://taotoken.net/apiKey 用同一个模型名区分即可。这样你在 OpenWebUI 里只需要维护一份连接配置排查「自称 ChatGPT」时也不会被多套 Key 干扰。注册和拿 Key 的入口在这里官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 进 console 后到 API Keys 页面生成。注意 base_url 用https://taotoken.net/api不要带 UTM 参数否则部分客户端会拼错路径。2.2 九章智算云上起 MiniMax M2 服务云容器实例的创建流程按官方文档走产品 → 云容器实例 → 新建云容器 → 选三区 → 4 卡 GPU → 选私有镜像或自己打镜像→ 按需定时关机 → 开通。开通后点 web 连接进容器先拉模型再起服务hf download MiniMaxAI/MiniMax-M2 --local-dir /root/userdata/MiniMax-M2 sh /opt/start.sh服务默认监听 8000回到云容器实例点「开放端口」输入 8000 生成映射。这一步拿到的地址就是后面 OpenWebUI 要填的OPENAI_API_BASE_URLS形如http://你的公网IP:映射端口/v1。注意端口映射出来的地址每次重建容器可能变建议记到自己的配置笔记里别硬编码在脚本里。2.3 OpenWebUI 侧环境变量OpenWebUI 同样在九章智算云上开一个实例选五区GPU 按需进容器后设置环境变量再启动export WEBUI_AUTHfalse export ENABLE_OLLAMA_APIfalse export OPENAI_API_BASE_URLShttp://MiniMax M2 地址:端口/v1 export OPENAI_API_KEYS你的 TaoToken Key 或本地占位 Key sh dev.sh启动端口是 8080同样去「开放端口」里映射 8080。到这里链路就通了但「自称 ChatGPT」的问题往往就在这一步之后暴露。3. 可复制配置config.toml 与 settings.json 骨架身份错乱的核心八成出在对话模板和默认系统提示。下面给两份可直接改的骨架。3.1 后端推理服务 config.toml如果你用的是 vLLM 或 SGLang 起 MiniMax M2重点是chat_template和tool_call_parser要对齐官方 tokenizer 配置。MiniMax M2 是 MoE 工具调用型模型模板错了会导致角色标记被当成普通文本模型就会「自由发挥」编身份。[model] name MiniMaxAI/MiniMax-M2 dtype bfloat16 tensor_parallel_size 4 trust_remote_code true [server] host 0.0.0.0 port 8000 served_model_name MiniMax-M2 [chat] # 关键使用模型自带的 chat template不要手动拼字符串 chat_template auto add_generation_prompt true # 关闭任何会注入默认 system 的开关 default_system_prompt [tool] tool_call_parser minimax enable_auto_tool_choice truedefault_system_prompt 这一行是重点。有些封装镜像会默认塞一句「You are a helpful assistant powered by ChatGPT」模型照抄自我介绍就串了。3.2 OpenWebUI settings.json 骨架OpenWebUI 侧要确认两件事模型列表里显示的是MiniMax-M2以及没有全局系统提示覆盖。{ openai: { enable: true, api_base_urls: [http://MiniMax M2 地址:端口/v1], api_keys: [你的 TaoToken Key], api_configs: { 0: { enable: true, model_ids: [MiniMax-M2], prefix_id: } } }, ui: { default_models: MiniMax-M2, default_prompt_suggestions: [] }, task: { title_generation: false, tags_generation: false } }task.title_generation和tags_generation建议先关掉这两个功能会额外发请求早期版本里会用默认模型生成容易在日志里制造「ChatGPT 风格」的噪声干扰你判断。3.3 身份校验用的最小请求配置改完别急着在 UI 里问先用 curl 直连后端排除 OpenWebUI 的干扰curl http://MiniMax M2 地址:端口/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer 你的 Key \ -d { model: MiniMax-M2, messages: [ {role: system, content: 你是一个AI助手请如实说明你的模型名称。}, {role: user, content: 你是谁你的模型名称是什么} ], temperature: 0.2, max_tokens: 128 }如果这里回答正常说明后端没问题问题在 OpenWebUI 的提示注入如果这里也自称 ChatGPT那就是模板或权重加载的问题。4. 验证请求与成功结果身份校验 对话回归排查要分两层身份层和能力层。身份层确认模型知道自己是谁能力层确认 MoE 激活、工具调用、编码任务都正常。4.1 身份校验三连问固定三个问题每次改配置后都跑一遍形成回归基线# 问题1直接问身份 你是谁请只回答模型名称。 # 问题2问训练方 你是由哪家公司训练的 # 问题3问能力边界 你能调用工具吗请说明你的工具调用格式。正常结果应该是模型名称为 MiniMax-M2 或 MiniMax 系列训练方为 MiniMax工具调用格式符合官方定义。如果三个问题里有两个以上指向 ChatGPT/OpenAI基本可以判定是模板或系统提示被污染。4.2 对话回归验证身份对了不代表能力对。MiniMax M2 的卖点是编码和智能体用下面两个任务做回归# 回归1多文件编辑能力 我有一个 Python 项目main.py 里调用了 utils.py 的 parse_config 函数 但 utils.py 里没有这个函数。请给出两个文件的修改方案。 # 回归2工具调用格式 请用 JSON 格式输出一次工具调用工具名为 get_weather参数 city北京。回归1 看它能不能给出跨文件的修改建议回归2 看工具调用格式是否规范。这两项过了说明 MoE 激活和模板都正常可以放心用。4.3 通过 TaoToken 做多模型对照想确认「是不是只有 MiniMax M2 这样」可以在 TaoToken 里同时挂 MiniMax M2 和另一个模型用同一组问题对比。模型对话入口在 https://taotoken.net/api 控制台里切换模型名即可。对照之后你会发现身份错乱是配置问题不是模型问题——换个模型用同样的错误模板一样会串台。5. 本篇常见错排查把我在部署过程中踩到的坑列出来按出现频率排序。5.1 模型自称 ChatGPT 的四个根因第一chat template 没加载。手动拼 messages 字符串时角色标记格式和模型训练时不一致模型把 system 内容当成用户输入的一部分于是自由发挥。解决chat_template auto让推理框架读 tokenizer_config.json。第二默认 system prompt 被注入。部分封装镜像或 OpenWebUI 插件会默认加一句「You are ChatGPT」。解决后端default_system_prompt OpenWebUI 里检查「系统提示词」是否为空。第三模型名映射错误。OpenWebUI 里model_ids填错请求打到了别的后端。解决curl 直连确认served_model_name和请求里的model字段一致。第四缓存了旧对话。OpenWebUI 会缓存历史消息改了配置但旧对话还在。解决新建对话再测别在旧会话里追问。5.2 连接类报错Connection refused一般是端口映射没生效回云容器实例确认 8000/8080 是否开放。401 Unauthorized是 Key 不对检查 TaoToken Key 是否复制完整、有没有多余空格。404 Not Found多半是 base_url 少了/v1OpenAI 兼容接口必须带这个后缀。5.3 性能类异常如果响应特别慢先看 GPU 利用率。MiniMax M2 是 2300 亿总参数、100 亿激活4 卡部署时张量并行度要匹配。tensor_parallel_size设错会导致显存溢出或利用率低下。另外max_tokens别设太大交互式场景 512 到 1024 足够批量采样再调高。5.4 工具调用不生效MiniMax M2 的工具调用依赖tool_call_parser。如果解析器名字写错模型输出的工具调用会被当成普通文本。确认解析器名称和推理框架版本文档一致不同版本命名可能不同。6. 接入与排障入口如果你已经按上面的步骤走完身份校验和对话回归都过了那这套部署就是真香而不是翻车。MiniMax M2 在编码和智能体任务上的表现配合九章智算云的容器实例日常开发和批量采样都够用。后续要长期跑编码任务或者接 Agent 工作流建议用 Coding Plan 管理配额和模型路由入口在 https://taotoken.net/api 。如果只是临时验证模型身份、做多模型对照直接用模型对话页面最快。接入过程中遇到 Key 或 base_url 问题去 API Keys 页面重新生成接入文档里有各客户端的完整配置示例。最后留一个实用习惯每次改完config.toml或settings.json先跑第 4 节的三连问和两个回归任务把结果记下来。下次再出现「自称 ChatGPT」对照基线就能秒定位是模板问题还是连接问题不用从头猜。