File size: 898 Bytes
1ca3697
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from smolagents import Tool
from typing import Any, Optional

class SimpleTool(Tool):
    name = "extract_news_article_content"
    description = "This tool extracts the content of a news article from its URL."
    inputs = {"url":{"type":"string","description":"The URL of the news article."}}
    output_type = "string"

    def forward(self, url: str) -> str:
        """
        This tool extracts the content of a news article from its URL.

        Args:
            url (str): The URL of the news article.

        Returns:
            str: The content of the news article.
        """
        import requests
        from bs4 import BeautifulSoup

        response = requests.get(url)
        soup = BeautifulSoup(response.text, 'html.parser')
        content = ""
        for paragraph in soup.find_all('p'):
            content += paragraph.get_text().strip() + " "
        return content