前言
首先非常感谢各位佬友这 50 天来对我的支持,今天我三级啦!
我也没啥好给大家抽的,就速速给大家献上 Infinite Search For Open WebUI 的 v0.2 吧!
前文:
之前我们无法获得完美的体验,主要是因为当时 Open WebUI 还不支持流式函数调用。而在 0.3.15 版本,Michael 大佬为 Open WebUI 添加了这方面的支持。
经过研究和仔细考虑,我对 Michael 大佬的示例函数进行了一些修改:
- 因为一些佬友可能在使用模型重定向功能,所以我添加了模型白名单功能,方便大家调用非 OpenAI / 不符合要求的模型
- 为了防止 Langfuse 对函数调用过程的检测功能被一些人滥用,我移除了相关部分
使用教学
导入并开启流式函数调用支持函数
https://openwebui.com/f/cooksleep/openai_react_agent_added_whitelist_version
上面就是修改后的流式函数调用支持函数了,我们需要先:
- 访问并点击页面中的 “Get”
- 修改弹窗中的 Open WebUI 地址为你自己的
- 点击 “Import to WebUI”
已修复由于 Open WebUI 未支持最新版
langchain-openai
导致的该函数导入错误问题
这样,这个函数就被导入你的 Open WebUI 了!接下来我们要对这个函数进行设置。
- 回到 工作空间 - 函数界面
- 点击 “OpenAI ReAct agent_Added Whitelist Version” 右侧的 设置小齿轮按钮
- 按照如下指示填写值:
- Openai Base Url: 你使用的 OpenAI API 地址
- Openai Api Key: 你的 Key
- Model Prefix: 想要在支持函数调用的模型名称前填写的前缀
默认的
ReAct
效果如下:
- Whitelist Models: 不想被过滤的白名单模型
当前仅支持 OpenAI API 中支持函数调用的模型,请勿填写其他模型
如果你想为自定义模型添加这个流式函数调用支持函数,请在它的 设置 - 基础模型(来自)中选择对应的ReAct/xxx
模型
- 点击 保存
- 稍等几秒,刷新网页,对应的模型就会在模型列表中出现了!
现在,你可以为 ReAct/xxx
模型在聊天的左下角开启想使用的工具了(接下来会教你导入 Infinite Search 本体,现在看不到它是正常的),它们会被像在 GPTs 中一样正常调用!
导入 Infinite Search 工具
https://openwebui.com/t/cooksleep/infinite_search
上面就是 Infinite Search 工具本体了!还是一样的导入方式:
- 访问并点击页面中的 “Get”
- 修改弹窗中的 Open WebUI 地址为你自己的
- 点击 “Import to WebUI”
现在,你就可以按刚刚图中的示例方法使用了,我觉得效果远超 GPTs(OpenAI 的 Bing 搜索)和 Open WebUI 的几个默认网络搜索工具(包含内置的和官方做的)!
目前在搜索方面,默认让它挑 1-3 个最相关的搜索结果,使用 reade_url 函数去读取全文,然后总结。
当然,受限于 Open WebUI 的函数调用实现方法,你给模型的其他系统提示不能太多(比如账号设置里的),不然可能不太能遵循。
上面只演示了网络搜索(它会自行从 Google、Bing、百度中选择最合适的搜索引擎),它还可以单独读取网页链接内容,不过现版本暂未加入 Cookies 访问和代理访问功能,可能无法访问一些需要登录或风控严格的网站,但这是 Reader API 支持的,过段时间我会继续研究。
具体使用哪个模型取决于大家自己的想法,要质量好就 gpt-4o-2024-08-06
,便宜快速就 gpt-4o-mini
。
chatgpt-4o-latest
似乎还不支持函数调用(?),至少我自己无法使用成功。
最新版镜像中,官方说优化了自带的搜索功能…… 有佬友发出来的效果看起来比之前好了很多。
从旧版更新到最新镜像后,可能会使函数的参数丢失,请重新导入、填写!