SearxSearchWrapper#

class langchain_community.utilities.searx_search.SearxSearchWrapper[source]#

基础类: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")
Example with SSL disabled:
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][pydantic_core.ValidationError]。

self 被显式地设为仅位置参数,以允许 self 作为字段名称。

param aiosession: Any | None = None#
param categories: List[str] | None = []#
param engines: List[str] | None = []#
param headers: dict | None = None#
param k: int = 10#
param params: dict [Optional]#
param query_suffix: str | None = ''#
param searx_host: str = ''#
param unsecure: bool = False#
async aresults(query: str, num_results: int, engines: List[str] | None = None, query_suffix: str | None = '', **kwargs: Any) List[Dict][source]#

异步查询并返回JSON结果。

使用aiohttp。更多信息请参见results

Parameters:
  • query (str)

  • num_results (int)

  • engines (List[str] | None)

  • query_suffix (str | None)

  • kwargs (Any)

Return type:

列表[字典]

async arun(query: str, engines: List[str] | None = None, query_suffix: str | None = '', **kwargs: Any) str[来源]#

run的异步版本。

Parameters:
  • query (str)

  • engines (List[str] | None)

  • query_suffix (str | None)

  • kwargs (Any)

Return type:

字符串

results(query: str, num_results: int, engines: List[str] | None = None, categories: List[str] | None = None, query_suffix: str | None = '', **kwargs: Any) List[Dict][来源]#

通过Searx API运行查询并返回带有元数据的结果。

Parameters:
  • query (str) – 要搜索的查询。

  • query_suffix (str | None) – 附加到查询的额外后缀。

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

  • engines (List[str] | None) – 用于查询的引擎列表。

  • categories (List[str] | None) – 用于查询的类别列表。

  • **kwargs (Any) – 传递给searx API的额外参数。

Returns:

{

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

}

Return type:

包含以下键的字典

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

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

您可以向searx查询API传递任何其他参数。

Parameters:
  • query (str) – 要搜索的查询。

  • query_suffix (str | None) – 附加到查询的额外后缀。

  • engines (List[str] | None) – 用于查询的引擎列表。

  • categories (List[str] | None) – 用于查询的类别列表。

  • **kwargs (Any) – 传递给searx API的额外参数。

Returns:

查询的结果。

Return type:

字符串

Raises:

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 的示例