Skip to content

Brave search

BraveSearchToolSpec #

Bases: BaseToolSpec

Brave搜索工具规范。

Source code in llama_index/tools/brave_search/base.py
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
class BraveSearchToolSpec(BaseToolSpec):
    """Brave搜索工具规范。"""

    spec_functions = ["brave_search"]

    def __init__(self, api_key: str) -> None:
        """
        使用参数进行初始化。
        """
        self.api_key = api_key

    def _make_request(self, params: Dict) -> requests.Response:
        """向 Brave Search API 发出请求。

Args:
    params (dict): 要传递给API的参数。

Returns:
    requests.Response: 来自API的响应。
"""
        headers = {
            "Accept": "application/json",
            "Accept-Encoding": "gzip",
            "X-Subscription-Token": self.api_key,
        }
        url = SEARCH_URL_TMPL.format(params=urllib.parse.urlencode(params))

        response = requests.get(url, headers=headers)
        response.raise_for_status()
        return response

    def brave_search(
        self, query: str, search_lang: str = "en", num_results: int = 5
    ) -> [Document]:
        """向Brave Search引擎发出查询,以接收结果列表。

Args:
    query (str): 要传递给Brave Search的查询。
    search_lang (str): 搜索语言偏好 (ISO 639-1),默认为 "en"。
    num_results (int): 响应中返回的搜索结果数量,默认为 5。

Returns:
    [Document]: 包含搜索结果的文档列表。
"""
        search_params = {
            "q": query,
            "search_lang": search_lang,
            "count": num_results,
        }

        response = self._make_request(search_params)
        return [Document(text=response.text)]
brave_search(
    query: str,
    search_lang: str = "en",
    num_results: int = 5,
) -> [Document]

向Brave Search引擎发出查询,以接收结果列表。

Parameters:

Name Type Description Default
query str

要传递给Brave Search的查询。

required
search_lang str

搜索语言偏好 (ISO 639-1),默认为 "en"。

'en'
num_results int

响应中返回的搜索结果数量,默认为 5。

5

Returns:

Type Description
[Document]
Source code in llama_index/tools/brave_search/base.py
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
    def brave_search(
        self, query: str, search_lang: str = "en", num_results: int = 5
    ) -> [Document]:
        """向Brave Search引擎发出查询,以接收结果列表。

Args:
    query (str): 要传递给Brave Search的查询。
    search_lang (str): 搜索语言偏好 (ISO 639-1),默认为 "en"。
    num_results (int): 响应中返回的搜索结果数量,默认为 5。

Returns:
    [Document]: 包含搜索结果的文档列表。
"""
        search_params = {
            "q": query,
            "search_lang": search_lang,
            "count": num_results,
        }

        response = self._make_request(search_params)
        return [Document(text=response.text)]