#
Web Search (网络搜索)
为 LLM 提示添加网络搜索结果。
#
可用源
#
Selenium 插件
需要安装并启用官方服务器插件。
详见 SillyTavern-WebSearch-Selenium。
支持 Google 和 DuckDuckGo 搜索引擎。
#
Extras API
需要 websearch
模块和在主机上安装的 Chrome/Firefox 网络浏览器。
支持 Google 和 DuckDuckGo 搜索引擎。
#
SerpApi
需要 SerpApi 密钥并提供对 Google 搜索的访问。
在此处获取密钥:https://serpapi.com/dashboard
#
SearXNG
需要 SearXNG 实例 URL(私有或公共)。使用 HTML 格式显示搜索结果。
了解更多:https://docs.searxng.org/
#
Tavily AI
需要 API 密钥。在此处获取密钥:https://app.tavily.com/
#
KoboldCpp
必须在文本补全 API 设置中提供 KoboldCpp URL。KoboldCpp 版本必须 >= 1.81.1,并且必须在启动时启用 WebSearch 模块:在 GUI 启动器中启用 Network => Enable WebSearch,或在命令行中添加 --websearch
。
参见:https://github.com/LostRuins/koboldcpp/releases/tag/v1.81.1
#
如何使用
- 确保您使用的是最新版本的 SillyTavern。
- 通过 SillyTavern 中的"Download Extensions & Assets"菜单安装扩展。
- 打开"Web Search"扩展设置,设置您的 API 密钥或连接到 Extras,并启用扩展。
- 在聊天过程中,网络搜索结果将自然地添加到提示中。只有用户消息会触发搜索。
- 要更自然地包含搜索结果,请用单引号包裹搜索查询:
Tell me about the `latest Ryan Gosling movie`.
将产生搜索查询latest Ryan Gosling movie
。 - 您可以根据喜好配置设置。
#
设置
#
常规
- 启用 - 打开和关闭扩展。
- 源 - 设置搜索结果源。
- 缓存生命周期 - 搜索结果在您的提示中缓存的时间(以秒为单位)。默认 = 一周。
#
提示设置
- 提示预算 - 设置插入文本的最大容量(以文本字符为单位,而不是标记)。经验法则:1 个标记 ~ 3-4 个字符,根据您的模型上下文限制进行调整。默认 = 1500 个字符。
- 插入模板 - 结果如何插入到提示中。支持常用宏 + 特殊宏:{{query}} 用于搜索查询,{{text}} 用于搜索结果。
- 注入位置 - 结果在提示中的位置。与作者注释相同的选项:作为聊天内注入或在系统提示之前/之后。
#
搜索激活
- 使用函数工具 - 使用函数调用来激活搜索或抓取网页。必须使用支持的聊天补全 API,并在 AI 响应设置中启用。启用时禁用所有其他激活方法。
- 使用反引号 - 启用使用单引号包裹的单词进行搜索激活。
- 使用触发短语 - 启用使用触发短语进行搜索激活。
- 正则表达式 - 提供 JS 风格的正则表达式来匹配用户消息。如果正则表达式匹配,将触发具有给定查询的搜索。搜索查询支持 `` 和 $1 语法来引用匹配的组。示例:
/what is happening in (.*)/i
正则表达式,搜索查询为news in $1
,将匹配包含what is happening in New York
的消息,并触发查询news in New York
的搜索。 - 触发短语 - 逐个添加将触发搜索的短语。它可以在消息的任何位置,查询从触发词开始,总共跨越到"最大单词数"。要排除特定消息的处理,它必须以句点开头,例如
.What do you think?
。触发器优先级:首先按文本框中的顺序,然后是用户消息中的第一个。 - 最大单词数 - 搜索查询中包含的单词数(包括触发短语)。Google 每个提示的限制约为 32 个单词。默认 = 10 个单词。
#
页面抓取
- 访问链接 - 将从访问的搜索结果页面提取文本并保存到文件附件中。
- 访问计数 - 将访问和解析多少个链接的文本。
- 访问域名黑名单 - 要排除访问的网站域名。每行一个。
- 文件头 - 文件头模板,插入到文本文件的开头,有一个额外的 {{query}} 宏。
- 块头 - 链接块模板,与每个链接的解析内容一起插入。使用 {{link}} 宏表示页面 URL,{{text}} 表示页面内容。
- 保存目标 - 保存抓取结果的位置。可能的选项:触发消息附件,或 Data Bank 的聊天附件。
#
更多信息
最新查询的搜索结果将保留在提示中,直到找到下一个有效查询。 如果您想问额外的问题而不意外触发搜索,请以句点开始您的消息。
如果启用并可用,Web Search 函数工具始终会覆盖其他触发器。
触发器优先级(如果启用多个):
- 反引号。
- 正则表达式。
- 触发短语。
要丢弃所有先前查询的处理,请在用户消息开头加上感叹号,例如,用户消息 !Now let's talk about...
将丢弃此消息和它上面的每条消息。
此扩展还提供了一个 /websearch
斜杠命令,用于在 STscript 中使用。更多信息请参见:STscript 语言参考
/websearch (links=on|off snippets=on|off [query]) – 执行网络搜索查询。使用命名参数指定要返回的内容 - 页面片段(默认:on),完整解析页面(默认:off)或两者都返回。
示例:/websearch links=off snippets=on how to make a sandwich
#
搜索结果中可以包含什么?
#
SerpApi
- 答案框。问题的直接答案。
- 知识图谱。关于主题的百科知识。
- 页面片段(最多 10 个)。来自网页的相关摘录。
- 相关问题(最多 10 个)。类似主题的问题和答案。
#
Selenium 插件和 Extras API
- Google - 答案框、知识图谱、页面片段。
- DuckDuckGo - 页面片段。
#
SearXNG
- 信息框。
- 页面片段。
#
Tavily AI
- 答案。
- 页面内容。
#
KoboldCpp
- 页面标题。
- 页面片段。