langchain_community.utilities.searx_search.SearxSearchWrapper

class langchain_community.utilities.searx_search.SearxSearchWrapper[源码]

基类: BaseModel

Searx API的包装器。

要使用它,您需要通过传递命名参数searx_host或导出环境变量SEARX_HOST来提供searx主机。

在有些情况下,您可能希望禁用SSL验证,例如,如果您在本地运行searx。您可以通过传递命名参数unsecure来实现这一点。您还可以传递主机URL方案为http以禁用SSL。

示例

from langchain_community.utilities import SearxSearchWrapper
searx = SearxSearchWrapper(searx_host="http://localhost:8888")
禁用SSL的示例
from langchain_community.utilities import SearxSearchWrapper
# note the unsecure parameter is not needed if you pass the url scheme as
# http
searx = SearxSearchWrapper(searx_host="http://localhost:8888",
                                        unsecure=True)

通过解析和验证从关键字参数输入的数据来创建一个新的模型。

如果输入数据无法解析成有效的模型,则抛出ValidationError。

参数 aiosession: Optional[Any] = None
参数 categories: Optional[List[str]] = []
参数 engines: Optional[List[str]] = []
参数 headers: Optional[dict] = None
参数 k : int = 10
参数 params: dict [可选]
参数 :query_suffix: Optional[str]] 默认值: ''
参数 :searx_host: str 默认值: ''
参数 :unsecure: bool 默认值: False
异步 aresults(query: str, num_results: int, engines: Optional[List[str]] = None, query_suffix: Optional[str] = '', **kwargs: Any) List[Dict][源代码]

异步查询带有JSON结果的查询。

使用aiohttp。有关更多信息,请参阅结果

参数
  • query (字符串) –

  • num_results (整数) –

  • engines (可选[字符串列表]) –

  • query_suffix (可选[字符串]) –

  • kwargs (任何数据类型) –

返回类型

字典列表

async arun(query: str, engines: Optional[List[str]] = None, query_suffix: Optional[str] = '', kwargs: Any) str[源代码]

异步版本的 run 方法。

参数
  • query (字符串) –

  • engines (可选[字符串列表]) –

  • query_suffix (可选[字符串]) –

  • kwargs (任何数据类型) –

返回类型

str

results(query: str, num_results: int, engines: Optional[List[str]] = None, categories: Optional[List[str]] = None, query_suffix: Optional[str] = '', **kwargs: Any) List[Dict][源代码]

通过 Searx API 运行查询并返回包含元数据的搜索结果。

参数
  • query (str) – 要搜索的查询。

  • query_suffix (可选[str]) – 查询后附加的额外后缀。

  • num_results (int) – 限制返回的结果数量。

  • engines (可选[List[str]]) – 用于查询的搜索引擎列表。

  • categories (可选[List[str]]) – 用于查询的分类列表。

  • **kwargs (任何) – 传递给 Searx API 的额外参数。

返回值

{

snippet: 结果的描述。title: 结果的标题。link: 结果的链接。engines: 用于结果的引擎。category: Searx 结果的类别。

}

返回类型

包含以下键的字典

run(query: str, engines: Optional[List[str]] = None, categories: Optional[List[str]] = None, query_suffix: Optional[str] = '', **kwargs: Any) str[source]

通过 Searx API 运行查询并解析结果。

您可以传递任何其他参数到 Searx 查询 API。

参数
  • query (str) – 要搜索的查询。

  • query_suffix (可选[str]) – 查询后附加的额外后缀。

  • engines (可选[List[str]]) – 用于查询的搜索引擎列表。

  • categories (可选[List[str]]) – 用于查询的分类列表。

  • **kwargs (任何) – 传递给 Searx API 的额外参数。

返回值

查询的结果。

返回类型

str

引发

ValueError – 如果查询发生错误。

示例

这将向 Qwant 引擎发起查询

from langchain_community.utilities import SearxSearchWrapper
searx = SearxSearchWrapper(searx_host="http://my.searx.host")
searx.run("what is the weather in France ?", engine="qwant")

# the same result can be achieved using the `!` syntax of searx
# to select the engine using `query_suffix`
searx.run("what is the weather in France ?", query_suffix="!qwant")

使用 SearxSearchWrapper 的示例