在open-webui中使用gemini原生搜索,适用于uni-api

前面大佬发了 给openwebui的gemini加上读取网页 联网和代码执行适用于one-hub,我自己用的站内佬的uni-api [开源] (支持o1,道德审查)开发了一个适合宝宝体质的 API 转发器 uni-api,目前已经 200+ star,于是请Claude将大佬的函数改了一下,方便使用uni-api的佬们使用。
实现方式有差别,uni-api提供了gemini原生的搜索功能,但要在模型后面加-search,在open-webui中使用搜索的话要切换不同的模型,不够优雅。此函数要做的就是在点下标签使用搜索的时候自动为当前模型加上-research,省去了切换模型的步骤。


此时会自动为2.5-flash加上-research参数

注意:要在uni-api中添加-search模型才能成功调用。

uni-api也是支持读取网页的

函数如下:

"""
title: 联网搜索
description: 原生联网搜索
"""

from pydantic import BaseModel, Field
from typing import Optional, List, Dict, Any


class Filter:
    class Valves(BaseModel):
        priority: int = Field(default=100, description="优先级")
        pass

    def __init__(self):
        self.valves = self.Valves()
        self.toggle = True
        self.icon = """data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlLXdpZHRoPSIxLjc1IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgY2xhc3M9InNpemUtNSI+PHBhdGggc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJNMTIgMjFhOS4wMDQgOS4wMDQgMCAwIDAgOC43MTYtNi43NDdNMTIgMjFhOS4wMDQgOS4wMDQgMCAwIDEtOC43MTYtNi43NDdNMTIgMjFjMi40ODUgMCA0LjUtNC4wMyA0LjUtOVMxNC40ODUgMyAxMiAzbTAgMThjLTIuNDg1IDAtNC41LTQuMDMtNC41LTlTOS41MTUgMyAxMiAzbTAgMGE4Ljk5NyA4Ljk5NyAwIDAgMSA3Ljg0MyA0LjU4Mk0xMiAzYTguOTk3IDguOTk3IDAgMCAwLTcuODQzIDQuNTgybTE1LjY4NiAwQTExLjk1MyAxMS45NTMgMCAwIDEgMTIgMTAuNWMtMi45OTggMC01Ljc0LTEuMS03Ljg0My0yLjkxOG0xNS42ODYgMEE4Ljk1OSA4Ljk1OSAwIDAgMSAyMSAxMmMwIC43NzgtLjA5OSAxLjUzMy0uMjg0IDIuMjUzbTAgMEExNy45MTkgMTcuOTE5IDAgMCAxIDEyIDE2LjVjLTMuMTYyIDAtNi4xMzMtLjgxNS04LjcxNi0yLjI0N20wIDBBOS4wMTUgOS4wMTUgMCAwIDEgMyAxMmMwLTEuNjA1LjQyLTMuMTEzIDEuMTU3LTQuNDE4Ij48L3BhdGg+PC9zdmc+"""
        pass

    def inlet(self, body: dict, user: Optional[dict] = None) -> dict:
        model_name = body.get("model")
        if isinstance(model_name, str):
            if model_name.startswith("gemini"):
                # 检查模型名称是否已经包含"-search"后缀
                if not model_name.endswith("-search"):
                    # 在模型名称后面添加"-search"后缀
                    body["model"] = model_name + "-search"
        return body
'''
2 Likes

感谢大佬 !

可以,更方便了