renwei2024 commited on
Commit
97e92b1
·
1 Parent(s): ebe6efc

Fix the incorrect usage of serpapi

Browse files

serpapi does not have `GoogleSearch` module. See https://pypi.org/project/serpapi/

Files changed (1) hide show
  1. tools/text_web_browser.py +4 -3
tools/text_web_browser.py CHANGED
@@ -4,8 +4,10 @@ import mimetypes
4
  import os
5
  import pathlib
6
  import re
 
7
  import time
8
  import uuid
 
9
  from datetime import datetime
10
  from typing import Any
11
  from urllib.parse import unquote, urljoin, urlparse
@@ -13,7 +15,6 @@ from urllib.parse import unquote, urljoin, urlparse
13
  import pathvalidate
14
  import requests
15
  from duckduckgo_search import DDGS
16
- from serpapi import GoogleSearch
17
 
18
  from smolagents import Tool
19
 
@@ -41,6 +42,7 @@ class SimpleTextBrowser:
41
  self.viewport_pages: list[tuple[int, int]] = list()
42
  self.set_address(self.start_page)
43
  self.serpapi_key = serpapi_key
 
44
  self.request_kwargs = request_kwargs
45
  self.request_kwargs["cookies"] = COOKIES
46
  self._mdconvert = MarkdownConverter()
@@ -214,12 +216,11 @@ class SimpleTextBrowser:
214
  params = {
215
  "engine": "google",
216
  "q": query,
217
- "api_key": self.serpapi_key,
218
  }
219
  if filter_year is not None:
220
  params["tbs"] = f"cdr:1,cd_min:01/01/{filter_year},cd_max:12/31/{filter_year}"
221
 
222
- search = GoogleSearch(params)
223
  results = search.get_dict()
224
  self.page_title = f"{query} - Search"
225
  if "organic_results" not in results.keys():
 
4
  import os
5
  import pathlib
6
  import re
7
+ import serpapi
8
  import time
9
  import uuid
10
+
11
  from datetime import datetime
12
  from typing import Any
13
  from urllib.parse import unquote, urljoin, urlparse
 
15
  import pathvalidate
16
  import requests
17
  from duckduckgo_search import DDGS
 
18
 
19
  from smolagents import Tool
20
 
 
42
  self.viewport_pages: list[tuple[int, int]] = list()
43
  self.set_address(self.start_page)
44
  self.serpapi_key = serpapi_key
45
+ self.serpapi_client = serpapi.Client(api_key=serpapi_key) if serpapi_key else None
46
  self.request_kwargs = request_kwargs
47
  self.request_kwargs["cookies"] = COOKIES
48
  self._mdconvert = MarkdownConverter()
 
216
  params = {
217
  "engine": "google",
218
  "q": query,
 
219
  }
220
  if filter_year is not None:
221
  params["tbs"] = f"cdr:1,cd_min:01/01/{filter_year},cd_max:12/31/{filter_year}"
222
 
223
+ search = self.serpapi_client.search(params)
224
  results = search.get_dict()
225
  self.page_title = f"{query} - Search"
226
  if "organic_results" not in results.keys():