这是一个搜索插件,还有缩写翻译,还有图片搜索
tavily搜索引擎可以前往官网注册后获得密钥
You搜索引擎需要在官网 获取 API Key;Live News / Images 为 early access,需账号权限)
为了确保插件正常工作,您需要安装Python依赖。在你的麦麦的运行环境中于本插件的根目录下执行以下命令即可:
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
如果是uv安装,在pip前面加上uv即可,如uv pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
注意:一键包用户在“点我启动!!!.bat”后选择"11. 交互式安装pip模块",在其中输入requirements.txt的路径即可!(如:"E:\Downloads\MaiBotOneKey\modules\MaiBot\plugins\google_search_plugin\requirements.txt")
- 接收问题: 插件接收到用户的原始问题。
- 查询重写: 插件内部的LLM结合聊天上下文,将原始问题重写为一个或多个精确的搜索关键词。
- 后端搜索: 使用重写后的关键词,调用Google、Bing等搜索引擎执行搜索。
- 内容抓取: (可选) 抓取搜索结果网页的主要内容。
- 阅读总结: 内部LLM阅读所有搜索到的材料。
- 生成答案: LLM根据阅读的材料,生成最终的总结性答案并返回。
插件的配置在 plugins/google_search_plugin/config.toml 文件中(在第一次启动后会自动生成)。
此插件默认使用系统配置的主模型进行智能搜索,但你也可以通过以下配置项进行微调。
model_name(str, 下拉 choices): 指定用于搜索/总结的模型。可选:replyer,utils,tool_use,planner,vlm,lpmm_entity_extract,lpmm_rdf_build,lpmm_qa。默认replyer。temperature(float): 单独设置本次搜索时模型的温度。默认为 0.7。context_time_gap(int): 获取最近多少秒的全局聊天记录作为上下文。默认 300。context_max_limit(int): 最多获取多少条全局聊天记录作为上下文。默认 15。
这里配置供模型调用的“后端”搜索引擎的行为。
default_engine(str, 下拉 choices): 默认使用的搜索引擎 (google,bing,sogou,duckduckgo,tavily,you,you_news)。max_results(int): 每次搜索返回给模型阅读的结果数量。timeout(int): 后端搜索引擎的超时时间。proxy(str): 用于后端搜索的HTTP/HTTPS代理地址,例如 'http://127.0.0.1:7890'。默认为空字符串,表示不使用代理。fetch_content(bool): 是否抓取网页正文供模型阅读。content_timeout(int): 网页抓取的超时时间。max_content_length(int): 抓取的单个网页最大内容长度。
对每个具体搜索引擎的可选配置项:
google_enabled(bool, 默认 false): 是否启用 Google。google_language(str): Google 搜索语言。bing_enabled(bool, 默认 true): 是否启用 Bing。bing_region(str): Bing 区域代码。sogou_enabled(bool, 默认 true): 是否启用搜狗。duckduckgo_enabled(bool, 默认 true): 是否启用 DuckDuckGo。duckduckgo_region(str): 区域代码,例如wt-wt、us-en。duckduckgo_backend(str): 后端,默认auto。duckduckgo_safesearch(str, choices: on/moderate/off): 安全级别。duckduckgo_timelimit(str, choices: none/d/w/m/y): 时间限制,none 表示不限。tavily_enabled(bool): 是否启用 Tavily(需 API key)。tavily_api_keys(list[str]) /tavily_api_key(str): Tavily key 列表或单个。tavily_search_depth(str, choices: basic/advanced): Tavily 搜索深度。tavily_include_answer(bool): 是否返回 Tavily 的答案。tavily_include_raw_content(bool): 是否返回网页正文片段。tavily_topic(str): 主题参数,如general或news;留空表示由插件内部模型按问题自动判断(也可由工具调用方传入tavily_topic覆写)。tavily_turbo(bool): Tavily Turbo 模式。you_enabled(bool): 是否启用 You Search。you_news_enabled(bool): 是否启用 You Live News(early access)。you_api_keys(list[str]) /you_api_key(str): You API key 列表或单个(也可用环境变量YOU_API_KEY)。you_freshness(str): 时间范围(day/week/month/year 或日期范围)。you_offset(int): 分页 offset(0-9)。you_country(str): 国家代码(如 CN/US)。you_language(str): 语言(BCP 47)。you_safesearch(str): 安全级别(off/moderate/strict)。you_livecrawl(str): livecrawl 范围(web/news/all)。you_livecrawl_formats(str): livecrawl 内容格式(html/markdown)。you_contents_enabled(bool): 是否启用 You Contents 抓取。you_contents_format(str): Contents 返回内容格式(html/markdown)。you_contents_force(bool): 强制使用 Contents,不受引擎来源限制。you_images_enabled(bool): 是否启用 You Images(early access)。
当你向麦麦提出需要外部知识或最新信息的问题时,它会自动被触发。
你可以像和朋友聊天一样,直接提出你的问题。
例如:
"能搜一下最近很火的《Ave Mujica》吗?"
"我是爱厨,找一张千早爱音图片给我~"
麦麦会自动调用本插件,搜索相关信息,并给你一个总结好的答案。
你只需要自然地与麦麦对话,当她认为需要“上网查一下”的时候,这个插件就会被激活
