langchain_community.utilities.searx_search.SearxSearchWrapperΒΆ
- class langchain_community.utilities.searx_search.SearxSearchWrapper[source]ΒΆ
Bases:
BaseModelWrapper for Searx API.
To use you need to provide the searx host by passing the named parameter
searx_hostor exporting the environment variableSEARX_HOST.In some situations you might want to disable SSL verification, for example if you are running searx locally. You can do this by passing the named parameter
unsecure. You can also pass the host url scheme ashttpto disable SSL.Example
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)
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
- param aiosession: Optional[Any] = NoneΒΆ
- param categories: Optional[List[str]] = []ΒΆ
- param engines: Optional[List[str]] = []ΒΆ
- param headers: Optional[dict] = NoneΒΆ
- param k: int = 10ΒΆ
- param params: dict [Optional]ΒΆ
- param query_suffix: Optional[str] = ''ΒΆ
- param searx_host: str = ''ΒΆ
- param unsecure: bool = FalseΒΆ
- async aresults(query: str, num_results: int, engines: Optional[List[str]] = None, query_suffix: Optional[str] = '', **kwargs: Any) List[Dict][source]ΒΆ
Asynchronously query with json results.
Uses aiohttp. See results for more info.
- Parameters
query (str) β
num_results (int) β
engines (Optional[List[str]]) β
query_suffix (Optional[str]) β
kwargs (Any) β
- Return type
List[Dict]
- async arun(query: str, engines: Optional[List[str]] = None, query_suffix: Optional[str] = '', **kwargs: Any) str[source]ΒΆ
Asynchronously version of run.
- Parameters
query (str) β
engines (Optional[List[str]]) β
query_suffix (Optional[str]) β
kwargs (Any) β
- Return type
str
- classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) ModelΒΆ
Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = βallowβ was set since it adds all passed values
- Parameters
_fields_set (Optional[SetStr]) β
values (Any) β
- Return type
Model
- copy(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, update: Optional[DictStrAny] = None, deep: bool = False) ModelΒΆ
Duplicate a model, optionally choose which fields to include, exclude and change.
- Parameters
include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) β fields to include in new model
exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) β fields to exclude from new model, as with values this takes precedence over include
update (Optional[DictStrAny]) β values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data
deep (bool) β set to True to make a deep copy of the model
self (Model) β
- Returns
new model instance
- Return type
Model
- dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) DictStrAnyΒΆ
Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
- Parameters
include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) β
exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) β
by_alias (bool) β
skip_defaults (Optional[bool]) β
exclude_unset (bool) β
exclude_defaults (bool) β
exclude_none (bool) β
- Return type
DictStrAny
- classmethod from_orm(obj: Any) ModelΒΆ
- Parameters
obj (Any) β
- Return type
Model
- json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) unicodeΒΆ
Generate a JSON representation of the model, include and exclude arguments as per dict().
encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().
- Parameters
include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) β
exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) β
by_alias (bool) β
skip_defaults (Optional[bool]) β
exclude_unset (bool) β
exclude_defaults (bool) β
exclude_none (bool) β
encoder (Optional[Callable[[Any], Any]]) β
models_as_dict (bool) β
dumps_kwargs (Any) β
- Return type
unicode
- classmethod parse_file(path: Union[str, Path], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) ModelΒΆ
- Parameters
path (Union[str, Path]) β
content_type (unicode) β
encoding (unicode) β
proto (Protocol) β
allow_pickle (bool) β
- Return type
Model
- classmethod parse_obj(obj: Any) ModelΒΆ
- Parameters
obj (Any) β
- Return type
Model
- classmethod parse_raw(b: Union[str, bytes], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) ModelΒΆ
- Parameters
b (Union[str, bytes]) β
content_type (unicode) β
encoding (unicode) β
proto (Protocol) β
allow_pickle (bool) β
- Return type
Model
- results(query: str, num_results: int, engines: Optional[List[str]] = None, categories: Optional[List[str]] = None, query_suffix: Optional[str] = '', **kwargs: Any) List[Dict][source]ΒΆ
Run query through Searx API and returns the results with metadata.
- Parameters
query (str) β The query to search for.
query_suffix (Optional[str]) β Extra suffix appended to the query.
num_results (int) β Limit the number of results to return.
engines (Optional[List[str]]) β List of engines to use for the query.
categories (Optional[List[str]]) β List of categories to use for the query.
**kwargs (Any) β extra parameters to pass to the searx API.
- Returns
- {
snippet: The description of the result. title: The title of the result. link: The link to the result. engines: The engines used for the result. category: Searx category of the result.
}
- Return type
Dict with the following keys
- run(query: str, engines: Optional[List[str]] = None, categories: Optional[List[str]] = None, query_suffix: Optional[str] = '', **kwargs: Any) str[source]ΒΆ
Run query through Searx API and parse results.
You can pass any other params to the searx query API.
- Parameters
query (str) β The query to search for.
query_suffix (Optional[str]) β Extra suffix appended to the query.
engines (Optional[List[str]]) β List of engines to use for the query.
categories (Optional[List[str]]) β List of categories to use for the query.
**kwargs (Any) β extra parameters to pass to the searx API.
- Returns
The result of the query.
- Return type
str
- Raises
ValueError β If an error occurred with the query.
Example
This will make a query to the qwant engine:
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")
- classmethod schema(by_alias: bool = True, ref_template: unicode = '#/definitions/{model}') DictStrAnyΒΆ
- Parameters
by_alias (bool) β
ref_template (unicode) β
- Return type
DictStrAny
- classmethod schema_json(*, by_alias: bool = True, ref_template: unicode = '#/definitions/{model}', **dumps_kwargs: Any) unicodeΒΆ
- Parameters
by_alias (bool) β
ref_template (unicode) β
dumps_kwargs (Any) β
- Return type
unicode
- classmethod update_forward_refs(**localns: Any) NoneΒΆ
Try to update ForwardRefs on fields based on this Model, globalns and localns.
- Parameters
localns (Any) β
- Return type
None
- classmethod validate(value: Any) ModelΒΆ
- Parameters
value (Any) β
- Return type
Model