快速结论:在 TextGen WebUI 中调用 OpenAI 兼容接口 /v1/models 时,返回的却是固定的 GPT 占位模型(如 gpt-3.5-turbo、text-embedding-ada-002),而不是本地实际加载的模型。优先确认 WebUI 版本,v4.1 之前属于已知行为。
适用环境:Issue 中涉及 TextGen WebUI 的 OpenAI 兼容 API 扩展(extensions/openai/script.py),用户通过 http://127.0.0.1:5000/docs 或脚本访问接口;评论中提到使用 exllamav2-hf loader 加载 mixtral8x7b,并提到 Continue(VSCode/Codium 扩展)。Issue 未提供系统、Python、CUDA、显卡等具体版本信息。
最快修复方案:升级到 TextGen WebUI v4.1。该版本已修复 /v1/models,使其返回当前已加载模型而不是占位条目。
注意事项:v4.1 修复后 /v1/models 只返回当前已加载的模型,而不是所有可用模型;评论中有人据此指出文档描述与实际返回不一致。发送与当前已加载模型不同的模型名是否会触发模型重载,Issue 中未给出验证结论。
问题场景
用户在 TextGen WebUI 中启用 OpenAI 兼容 API,然后通过以下几种方式访问模型列表接口:直接打开 http://127.0.0.1:5000/docs 对比返回结果、用脚本调用 API,或使用 Continue(VSCode/Codium 扩展)的自动检测模型功能。结果发现 /v1/models 和内部接口 /v1/internal/model/list 返回的内容完全不同:前者永远是 GPT 占位模型,后者才反映本地实际模型。
报错原文
OpenAI API v1/models returns nothing that v1/internal/model/list does
{"object":"list","data":[{"id":"gpt-3.5-turbo","object":"model","created":0,"owned_by":"user"},{"id":"text-embedding-ada-002","object":"model","created":0,"owned_by":"user"}]}
用户反馈:无论当前加载了什么模型,/v1/models 都返回上述固定内容;加载 mixtral8x7b 时也照样返回 chatgpt3.5。这导致 Continue 等依赖 OpenAI 模型列表做自动检测的客户端“看不到”本地模型,只能手动写入其 config.json。
原因分析
评论中有人定位到 extensions/openai/script.py 第 148 行:控制器调用的是 response = OAImodels.list_dummy_models(),而不是 response = OAImodels.list_models()。因此 /v1/models 返回的是模拟 OpenAI 响应的占位模型,本地模型列表需要通过 /v1/internal/model/list 这个内部接口获取。
关于这是否属于有意设计,评论中存在分歧:有人认为这是刻意模仿 OpenAI 返回的行为,也有人认为真正的 OpenAI API 兼容性需要返回真实模型。最终该问题在 v4.1 中按修复方向处理。
环境排查
- 确认 TextGen WebUI 版本:v4.1 之前存在该问题,v4.1 已修复。
- 确认 OpenAI 兼容 API 扩展是否启用,以及接口是否运行在
127.0.0.1:5000。 - 确认当前加载的模型与 loader(评论中出现 exllamav2-hf)。
- 确认调用方是直接访问
/v1/models,还是内部接口/v1/internal/model/list。 - Issue 未提供 Python、CUDA、PyTorch、显卡等版本信息,暂无需据此排查。
解决步骤
- 升级 TextGen WebUI 到 v4.1 或更高版本。官方在 v4.1 发布说明中确认:
/v1/models现在返回当前已加载的模型,而不是占位条目。 - 升级后重启 WebUI,重新加载目标模型。
- 如果暂时无法升级,可继续使用内部接口
/v1/internal/model/list获取本地模型列表,或在客户端(如 Continue)中手动配置模型名。 - 如果使用依赖 OpenAI 模型列表自动检测的客户端,更新后重新触发自动检测,确认能识别到本地已加载模型。
验证方法
升级到 v4.1 后,重新访问 http://127.0.0.1:5000/v1/models,确认返回的 id 是当前实际加载的模型,而不是 gpt-3.5-turbo 或 text-embedding-ada-002。同时可对比 /v1/internal/model/list 的结果,或在 Continue 中重新执行自动检测,确认本地模型被正确列出。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。

![[Bug]: IndexError: list index out of range when using azure openai with claudecode](https://www.chat-gpts.plus/wp-content/uploads/2026/09/35785-b056b9a5-768x403.jpg)
