File size: 787 Bytes
b156b8a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from abc import ABC, abstractmethod

class WebSearchInterface(ABC):
    """
    Interface pour les outils de recherche d'information.

    Cette interface définit une méthode abstraite :
    - recherche_internet : pour effectuer une recherche web via DuckDuckGo.

    Toute classe implémentant cette interface doit fournir des implémentations
    concrètes pour cette méthode.
    """


    @abstractmethod
    def web_search(self, query: str) -> str:
        """
        Effectue une recherche Internet via DuckDuckGo et retourne les meilleurs résultats.

        Args:
            query (str): La requête à rechercher en ligne.

        Returns:
            str: Une liste formatée de résultats (titre, lien, description), ou un message d’erreur.
        """
        pass