File size: 612 Bytes
eb4c6e5
 
6c39801
 
 
 
 
eb4c6e5
 
6c39801
 
eb4c6e5
6c39801
 
 
 
eb4c6e5
 
 
 
 
 
 
 
 
 
6c39801
eb4c6e5
 
 
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
26
27
28
29
30
from langchain.tools import BaseTool

import requests
from bs4 import BeautifulSoup


class WebSearchTool(BaseTool):
    name = "Web Search Tool"
    description = "Searches web content"

    def _run(self, query: str):

        url = f"https://duckduckgo.com/html/?q={query}"

        response = requests.get(url)

        soup = BeautifulSoup(
            response.text,
            "html.parser"
        )

        results = soup.find_all(
            "a",
            class_="result__a",
            limit=5
        )

        return "\n".join(
            [result.get_text() for result in results]
        )