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)