让模型自动执行任务Open WebUI 工具调用三步指南【免费下载链接】open-webuiUser-friendly AI Interface (Supports Ollama, OpenAI API, ...)项目地址: https://gitcode.com/GitHub_Trending/op/open-webuiOpen WebUI 是一款支持 Ollama 与 OpenAI 兼容模型的自托管 AI 聊天界面。本文用三步讲清它的核心能力——工具调用Function Calling让模型按描述自己找到并调用工具。新手和有经验的开发者都能靠一条命令部署十分钟完成验证。能力速写模型从此有了自己的工具箱工具调用之前模型只能凭已有知识作答接入之后它能查外部数据、调你自己的接口并把结果写回对话。可以把它想象成一位手握全屋钥匙的管家你只说有点闷他自己决定开窗还是开空调先动手再汇报无需你教他操作每台设备。关键在两点工具清单要备好描述要写得清。全流程四步信息在流动角色在分工投递清单对话发起时后端把当前用户可用的工具清单——名称、用途描述、参数格式即 OpenAPI 规格——连同你的消息一起发给模型。模型决策模型对照描述判断是否需要工具若需要产出一条含函数名和 JSON 参数的结构化调用指令。执行工具后端按名字匹配到工具运行对应 Python 函数或把请求转发到已接入的 OpenAPI/MCP 工具服务器取回返回值。组装回复执行结果送回模型由它整理成自然语言后展示给你。想看实现backend/open_webui/models/tools.py 定义工具的存储结构backend/open_webui/routers/tools.py 是增删改查与权限校验入口backend/open_webui/utils/tools.py 负责执行与服务器对接backend/open_webui/tools/builtin.py 内置了网络搜索、代码执行等能力。整条链路的分水岭是描述卡描述越准决策越准。从部署到验证的三步第一步部署git clone https://gitcode.com/GitHub_Trending/op/open-webui后执行docker compose up -d。观察页面正常打开登录框。确认服务已跑通。第二步验证内置能力在聊天里问帮我查一下某个知名开源框架的最新版本号。观察模型自动调用内置网络搜索工具并整理答案。确认工具调用链路可用。第三步创建自定义工具进入 工作区 → 工具 点新建粘贴一段小 Python 函数及其 OpenAPI 规格。观察保存后在聊天中提相关问题工具被自动调用。确认自定义工具注册成功。两个可立刻复现的情境情境一值班时查服务状态困扰服务异常时要登进监控面板逐条翻错误记录。触发直接问过去一小时下单服务有没有报错系统做了什么模型调用接好的监控 API 工具自动填上服务名与时间范围取回错误列表。省掉了什么反复登录面板和手工复制答案直接出现在对话里。情境二周报统计困扰每周手工按类别统计工单量再排序。触发统计上周工单按类别汇总并排序。系统做了什么模型调用工单系统查询工具取数并可再调内置代码执行工具完成汇总。省掉了什么十来分钟的表格筛选且统计口径可直接沉淀进工具描述复用。出问题时先查这四类现象原因处理动作别人看不到、用不了工具默认仅创建者和管理员有权限在工具的访问控制里授权给目标用户或用户组模型只口头回答、不调工具模型不支持函数调用或工具描述模糊无法匹配换支持函数调用的模型把描述改写成何时使用 返回什么工具调用超时外部接口响应慢撞上全局超时上限缩短工具内部耗时或把大工具拆成几个小工具改了工具代码不生效工具模块被缓存在内存中刷新页面再验证或重启后端服务进阶的三个手法不写代码接入外部能力在添加工具服务器页面填入 OpenAPI 文档地址或 MCP 服务服务上的工具会自动列出来直接用。按角色分发把敏感工具只授权给特定用户组其他用户的聊天里根本看不到一套系统服务多团队。控制工具数量工具一多模型选错率上升。保持每个工具单一职责同类能力合并成一个带参数的入口。收束跑通只看两件事工具调用好不好用取决于描述写得清不清、权限发得对不对。下一步用 docker compose 部署后先跑一次内置网络搜索再接入你的第一个接口。更多环境配置见仓库根目录的 README.md。【免费下载链接】open-webuiUser-friendly AI Interface (Supports Ollama, OpenAI API, ...)项目地址: https://gitcode.com/GitHub_Trending/op/open-webui创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考