恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Open WebUI 工具调用:让 AI 从「只会聊天」到「真的能干活」的 5 个机制

  • 首页
  • 资讯中心
  • /
  • Open WebUI 工具调用:让 AI 从「只会聊天」到「真的能干活」的 5 个机制

相关资讯

3步让Claude Code跑起智能测试生成,测试编写时间省一半 2026/8/28 15:57:36
漏洞样本与指标的准备 2026/8/28 15:52:36
Spring入门基础 2026/8/28 15:52:36

最新资讯

下载 | Win11 LTSC纯净精简版,系统占用空间极少!(8月更新、Win11 IoT物联网 LTSC版、适合老电脑安装使用)
下载 | Win10 2021纯净精简版,预装应用极少!(8月更新、Win10 IoT LTSC 2021版、适合老电脑)
vxe-table 表格组件实现数据滚动轮播
C++ 逗号运算符详解
维普AIGC值太高怎么降?手把手教你快速过审
基于Tate-Shafarevich群的不完备性、物理常数、自由意志算术统一理论(完整版精细推演)

今日推荐

2026学术工具专业测评|Paperxie全维度性能实测报告[特殊字符]
凭什么稳居论文工具顶流[特殊字符]Paperxie综合实力深度全解析
2026论文工具深度测评|为什么Paperxie是目前最稳的学术工具✅

本周热门

Nextcloud 桌面客户端:把同步交给它,你只管改文件
如何将 HTML 转成 Word 文档且格式不丢失?html-to-docx 使用教程
Anki 批量操作卡片完整指南:一次搞定上千张,不再逐张修改

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

Open WebUI 工具调用:让 AI 从「只会聊天」到「真的能干活」的 5 个机制

发布时间:2026/8/28 15:57:36
Open WebUI 工具调用:让 AI 从「只会聊天」到「真的能干活」的 5 个机制 Open WebUI 工具调用让 AI 从「只会聊天」到「真的能干活」的 5 个机制【免费下载链接】open-webuiUser-friendly AI Interface (Supports Ollama, OpenAI API, ...)项目地址: https://gitcode.com/GitHub_Trending/op/open-webui你问 AI「帮我总结这份 PDF」它却只会泛泛而谈。Open WebUI 作为一套自托管 AI 对话平台靠工具调用与智能匹配机制把任意 LLM 接到外部工具上让聊天机器人变成能干活的智能助手。这篇文章用 5 个机制把「一句话怎么变成一次动作」从头到尾讲清楚。从一份 PDF 说起为什么 LLM「只会动嘴」大语言模型本质是文字预测机进文字、出文字。你手里的 PDF、仓库里的代码、数据库中的记录它一概摸不到。工具调用系统就是给模型装上「手脚」你仍然只跟模型对话模型决定「伸哪只手」Open WebUI 在后台执行再把结果塞回对话让它接着回答。整个过程对模型没有魔法它只是把一句自然语言拆成了一次结构化的函数请求。这个小小的分工撑起了后面所有机制。 机制一给工具办一张「营业执照」一个工具在 Open WebUI 里就是一段 Python 代码加一份规格说明它的入库结构非常简洁class Tool(Base): name Column(Text) # 人类可读的标签 content Column(Text) # Python 源码 specs Column(JSONField) # OpenAPI 风格的函数规格 valves Column(JSONField) # 管理员可配置的运行时参数specs是模型眼中的「菜单」每个函数的名字、参数、返回值都用 OpenAPI 格式描述模型按这份菜单点菜。这套定义放在backend/open_webui/models/tools.py。valves阀门参数——你可以理解为管理员在后台给每个工具预留的一排「旋钮」不改代码就能调运行行为。敏感项比如 API Key存储时会被加密不会明文躺在库里。 机制二模型怎么知道该用哪个工具每次对话开始时系统把当前可用工具的 specs 打包成清单交给 LLM。模型据此选函数、填参数输出一个 tool_calls 请求——注意它只「申请」从不直接执行。所以函数文档字符串写得好不好直接决定智能匹配的准头模型几乎全靠描述来判断。看内置的网页搜索工具async def search_web(query: str, count: Optional[int] None) - str: Search the public web... Best for current events, external references...描述里一句「适合时事、外部引用」模型碰到「最近新闻」类问题就会优先选它而不是去翻内部知识库。机制三从「申请」到「结果回填」模型请求发出后执行逻辑落在backend/open_webui/utils/middleware.py按顺序做三件事参数过滤不在 spec 里声明的参数直接丢掉模型传「野参数」没用调用对应的异步函数执行把结果包一层放回对话顺带生成引用来源。出了异常也不会炸错误被捕获成一段 JSON 还给模型它能「看到」失败并自己重试。而且执行全程异步模型一次会话连要多个工具时请求并行发出、谁先完成谁先回填不互相阻塞。 机制四权限不够时它会自动做什么每个工具都有属主和一份访问名单。拼工具清单之前backend/open_webui/utils/tools.py里的get_tools会逐个核对是不是你自己的、所在分组有没有授权、是否存在 grant 记录。不满足就静默剔除——模型根本不知道这个工具存在自然也不会调用。这比「调用时报错」更安全敏感能力连暴露面都不给。管理员也可以反向操作把工具分享给指定分组不用动账号体系。 机制五内置工具箱与两条扩展路径开箱即用的内置工具在backend/open_webui/tools/builtin.pyexecute_code 跑代码、view_file 读文件、search_web 搜网页、query_knowledge_bases 查知识库还有笔记、记忆、频道管理等一整套。扩展有两条路自己写 Python 工具一个 async 函数加一份好文档字符串就够或接入外部 MCP 工具服务器——远端函数清单被拉进来后按同一套规则管理。自定义工具和内置工具在执行层完全同权权限、valves 机制通用。 动手试一遍三步接上第一个工具拉下来跑起来git clone https://gitcode.com/GitHub_Trending/op/open-webui按仓库说明启动后端前端指向它写一个最小工具一个 async 函数docstring 里写清「什么时候用我」在前端 Tools 页面新建、粘贴代码、分配给模型然后问一句能触发它的话——「申请 → 执行 → 回填」的循环就在你眼前跑通了。想继续深入把backend/open_webui/tools/builtin.py打开逐个看每个工具怎么写参数、怎么校验权限——它本身就是最好的工具调用实例教材。【免费下载链接】open-webuiUser-friendly AI Interface (Supports Ollama, OpenAI API, ...)项目地址: https://gitcode.com/GitHub_Trending/op/open-webui创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号