Spaces:
Running
Running
import requests | |
from duckduckgo_search import DDGS | |
# --- Clase de Agente --- | |
class BasicAgent: | |
def __init__(self): | |
print("BasicAgent initialized.") | |
def __call__(self, question: str) -> str: | |
""" | |
Este agente ahora realizará una búsqueda en DuckDuckGo | |
si detecta que la consulta parece una pregunta sobre búsqueda web. | |
""" | |
print(f"Agent received question (first 50 chars): {question[:50]}...") | |
# Si la pregunta contiene "buscar", realizamos una búsqueda en DuckDuckGo | |
if "buscar" in question.lower(): | |
fixed_answer = self.web_search(question) | |
else: | |
fixed_answer = "This is a default answer." | |
print(f"Agent returning answer: {fixed_answer}") | |
return fixed_answer | |
def web_search(self, query: str) -> str: | |
""" | |
Realiza una búsqueda en DuckDuckGo y devuelve los primeros resultados. | |
""" | |
try: | |
results = DDGS().text(query, max_results=3) | |
return "\n".join([r["body"] for r in results]) | |
except Exception as e: | |
return f"Error en la búsqueda: {str(e)}" | |