Source code for langchain_community.tools.brave_search.tool

from __future__ import annotations

from typing import Any, Optional

from langchain_core.callbacks import CallbackManagerForToolRun
from langchain_core.tools import BaseTool

from langchain_community.utilities.brave_search import BraveSearchWrapper


[docs]class BraveSearch(BaseTool): """查询BraveSearch的工具。""" name: str = "brave_search" description: str = ( "a search engine. " "useful for when you need to answer questions about current events." " input should be a search query." ) search_wrapper: BraveSearchWrapper
[docs] @classmethod def from_api_key( cls, api_key: str, search_kwargs: Optional[dict] = None, **kwargs: Any ) -> BraveSearch: """从api密钥创建一个工具。 参数: api_key:要使用的api密钥。 search_kwargs:要传递给搜索包装器的任何额外kwargs。 **kwargs:要传递给工具的任何额外kwargs。 返回: 一个工具。 """ wrapper = BraveSearchWrapper(api_key=api_key, search_kwargs=search_kwargs or {}) return cls(search_wrapper=wrapper, **kwargs)
def _run( self, query: str, run_manager: Optional[CallbackManagerForToolRun] = None, ) -> str: """使用这个工具。""" return self.search_wrapper.run(query)