Open WebUI 工具调用详解:从一句话到模型自己上手干活
发布时间:2026/8/28 16:26:03 作者:尧图编辑部 阅读量:1,286

Open WebUI 工具调用详解从一句话到模型自己上手干活【免费下载链接】open-webuiUser-friendly AI Interface (Supports Ollama, OpenAI API, ...)项目地址: https://gitcode.com/GitHub_Trending/op/open-webuiOpen WebUI 是一个自托管的大模型 Web 界面支持对接 Ollama 和 OpenAI 兼容接口。它的核心功能之一是工具调用tool calling当模型判断需要查网页、执行代码或翻文件时它会主动调用相应工具完成实际操作而不是只回一段文字。对普通用户来说这意味着总结这份文档把数据画成图表这类任务可以直接在对话里完成不用再切换工具。工具调用到底在做什么普通对话里模型只负责生成文本。而在 Open WebUI 中每个已注册的工具——无论内置的还是你自己写的——都会被翻译成一份函数说明书名字、参数、类型、返回值。你发消息时这份说明书会和你的问题一起交给模型模型看完后自行决定是否需要调工具、调哪一个、参数填什么。后端执行完把结果塞回上下文模型再基于结果组织回答。所以常被说成模式匹配的环节本质是模型依据函数说明做的选择。这也解释了为什么工具描述写得清楚与否直接决定模型选不选对它。输入一句话之后系统分几步走完拿搜一下某语言的更新日志并总结当例子完整流程是模型从工具列表里挑出search_web和fetch_url先查后读后端真实执行这两个工具拿到网页正文工具结果回到模型手里模型输出带出处的总结。整个过程你不需要点名请用搜索工具只说目标即可。内置工具清单已经相当全网页搜索与抓取、图片生成与编辑、代码执行、知识库检索、笔记读写、定时任务都预置在backend/open_webui/tools/builtin.py里。一条工具链涉及哪些文件想读源码的话一个工具的一生分布在四个位置backend/open_webui/models/tools.py工具的数据结构把 Python 源码、函数规格和访问权限存进数据库backend/open_webui/routers/tools.py工具管理接口的增删改查以及工具模块的加载入口backend/open_webui/utils/tools.py把工具的 Python 函数转换成 OpenAI 风格的函数规格并负责实际执行分发src/lib/apis/tools/index.ts前端拉取工具列表、提交新增修改的请求层。你在管理面板里保存一个新工具改动的其实就是前两块里的那份源码与规格调用环节由 utils 层统一处理不必每个工具各写一套。写第一个自定义工具的思路工具本质上就是一个 Python 函数函数名即工具名docstring 即模型看到的说明参数类型注解即输入规格。想让模型选对工具最有效的手法是把 docstring 写成给同事看的用法说明——它做什么、吃什么参数、回什么结果、什么场景下该用它。保存后后端会编译校验并把工具注册进列表如果工具需要密钥等配置项放进 valves 里管理员就能在界面上统一修改而不用动代码。上手建议先开启内置的search_web和execute_code让模型完成一个查资料加算数的小任务验证链路通了再写自己的工具写工具时第一件事不是实现逻辑而是把 docstring 打磨到没有歧义。【免费下载链接】open-webuiUser-friendly AI Interface (Supports Ollama, OpenAI API, ...)项目地址: https://gitcode.com/GitHub_Trending/op/open-webui创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考