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] )