10分钟上手 Open WebUI 自定义模型:不改一行代码打造专属助手
【免费下载链接】open-webuiUser-friendly AI Interface (Supports Ollama, OpenAI API, ...)项目地址: https://gitcode.com/GitHub_Trending/op/open-webui
团队里的 AI 助手总爱答非所问?想让客服、研发各有一套统一话术的模型?不用重新训练。Open WebUI 的自定义模型功能,让你基于一个现成的基础模型,配上系统提示词和采样参数,再圈定谁能看见它,10 分钟就把通用大模型改成有边界、有角色、有权限的专属助手。
🚀 快速上手:先跑起来看到效果
Docker 部署最快,一条命令拉起来:
docker run -d -p 3000:8080 \ --add-host=host.docker.internal:host-gateway \ -v open-webui:/app/backend/data \ --name open-webui --restart always \ ghcr.io/open-webui/open-webui:main验证服务是否就绪:
curl http://localhost:3000/api/version返回版本号就说明服务正常。打开http://localhost:3000用管理员登录。注意:自定义模型要挂在一个"基础模型"上,首次启动后请先确认 Ollama 或其他模型源已被 Open WebUI 发现(管理面板里能看到模型列表即可)。
核心流程:5 步创建你的第一个自定义模型
1. 打开模型创建页面
左侧导航点工作区→模型,再点右上角创建模型。此时会进入模型表单页(路由是/workspace/models/create)。
2. 选基础模型,起一个模型 ID
基础模型下拉框里是所有可用上游模型(Ollama 本地模型、OpenAI 兼容 API 模型都在里面),选一个你已经能正常对话的。
模型 ID是全站唯一标识,用于 API 调用,长度不超过 256 个字符,不能和任何现有模型或基础模型重名。比如填my-assistant。
3. 填显示名称与系统提示词
名称是给人看的名字,例如"企业知识库助手"。
系统提示词是真正塑造模型的地方,写清角色、回答范围、兜底话术,例如:
你是一位专业的客服助手。 只回答与公司产品相关的问题。 遇到不确定的内容,直接回答"无法确定"。4. 调整采样参数
在参数区域修改 temperature、top_p 等。常用推荐值见下表,不确定的可以先留默认。
5. 设置访问范围,保存
在访问控制中选择私有、公开或指定用户组,点保存。此时页面会提示"模型创建成功"并返回列表,模型列表里应能看到你新建的模型。表单字段对应后端的ModelForm(id / base_model_id / name / params / meta / access_grants),想深入了解实现,可以看 backend/open_webui/routers/models.py 和 backend/open_webui/models/models.py。
关键参数一张表看懂
| 参数 | 作用 | 推荐值 / 说明 |
|---|---|---|
| 模型 ID | API 调用时的唯一标识 | 与基础模型区分开,不超 256 字符 |
| 基础模型 | 真正处理请求的上游模型 | 选已同步、可正常对话的模型 |
| 系统提示词 | 定义角色、回答边界、兜底话术 | 角色 + 范围 + 兜底,三句起步 |
| temperature | 输出随机性 | 0.7 偏稳定,1.0 偏多样 |
| top_p | 核采样阈值 | 0.9 ~ 1.0 |
| 访问控制 | 谁能看见、使用该模型 | 默认私有,团队内再开放 |
| is_active | 启用/停用开关 | 默认启用,停用可保留配置 |
用起来:两种方式验证模型真的生效
方式一,直接对话。在聊天页顶部模型下拉里选中新模型,问一句"你是谁?能回答哪些问题?"。回复应明显带上系统提示词里的角色和边界,而不是通用大模型口吻。
方式二,API 调用。在管理→设置→用户里拿到 API Key:
curl http://localhost:3000/api/chat/completions \ -H "Authorization: Bearer <你的API Key>" \ -H "Content-Type: application/json" \ -d '{"model":"my-assistant","messages":[{"role":"user","content":"介绍一下你自己"}]}'请求返回正常内容,说明模型 ID、参数、权限整条链路都通了。
⚠️ 避坑指南
1. 保存时报"Model ID already exists"现象:提示 ID 已被占用。原因:ID 与现有模型或基础模型冲突。解决:换一个 ID,非管理员账号还要求必须填写基础模型,留空也会报权限错误。
2. 点创建直接提示无权限现象:普通用户打开创建页保存失败。原因:创建模型需要 admin 角色或workspace.models权限。解决:在管理面板给对应用户组授予该权限,或让管理员代建。
3. 聊天下拉框里看不到新模型现象:列表页有、聊天页没有。原因:基础模型还没同步进来,或模型被停用了。解决:在模型页触发同步,或检查该模型的启用开关。
4. 系统提示词"不生效"现象:回复口吻和创建前没区别。原因:提示词没写进系统提示字段,或保存后改了基础模型配置被覆盖。解决:重新编辑模型,确认提示词保存在系统提示输入框里再保存一次。
进阶:再往深走一步
- 挂上知识库:模型表单里可以关联文档与知识库(
meta.knowledge字段),让模型基于你的资料回答,检索实现在 backend/open_webui/retrieval/。 - 批量迁移:模型页支持导出/导入配置,方便把同一套自定义模型搬到其他 Open WebUI 实例。
自定义模型的价值,就是把"复用基础模型 + 提示词与参数约束 + 权限边界"这三件事做成了 10 分钟的操作。后续功能变化可以跟踪 CHANGELOG.md,排查问题先看 TROUBLESHOOTING.md。
【免费下载链接】open-webuiUser-friendly AI Interface (Supports Ollama, OpenAI API, ...)项目地址: https://gitcode.com/GitHub_Trending/op/open-webui
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考