File size: 736 Bytes
5d9ee9d
 
 
 
 
 
8347505
5d9ee9d
 
 
 
 
7cdafef
5d9ee9d
 
 
f25b0af
5d9ee9d
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from typing import Any, Optional
from smolagents.tools import Tool
from gradio_client import Client

class BroadfieldWebsearch(Tool):
  client = Client("broadfield-dev/browser")
  name = "broadfield_web_search"
  description = "Searches the web with common web search engines."
  inputs = {'query': {'type': 'any', 'description': 'The query terms to use for the web search.'}}
  output_type = "any"

  def forward(self, query: Any) -> Any:
    result = result = self.client.predict(
      action="Search",
      query=query,
      browser_name="firefox",
      search_engine_name="Ecosia",
      api_name="/web_browse"
    )

    return result['markdown_content']

  def __init__(self, *args, **kwargs):
    self.is_initialized = False