Spaces:
Sleeping
Sleeping
import requests | |
import urllib.parse | |
class DuckDuckGoAgent: | |
def __init__(self): | |
print("DuckDuckGoAgent initialized.") | |
def get_duckduckgo_answer(self, query: str) -> str: | |
# Crear una consulta de búsqueda para DuckDuckGo | |
search_query = urllib.parse.quote(query) | |
url = f"https://api.duckduckgo.com/?q={search_query}&format=json&no_html=1&skip_disambig=1" | |
# Realizar la solicitud a DuckDuckGo | |
response = requests.get(url) | |
if response.status_code == 200: | |
data = response.json() | |
# Tomamos el primer resultado de la respuesta (si existe) | |
if 'AbstractText' in data and data['AbstractText']: | |
answer = data['AbstractText'] | |
# Limitamos la respuesta a 200 caracteres | |
return answer[:200] | |
else: | |
return "No se encontró una respuesta adecuada en DuckDuckGo." | |
else: | |
return "Error al contactar con DuckDuckGo." | |
def __call__(self, question: str) -> str: | |
print(f"Agent received question (first 50 chars): {question[:50]}...") | |
# Obtener respuesta de DuckDuckGo | |
answer = self.get_duckduckgo_answer(question) | |
print(f"Agent returning answer: {answer}") | |
return answer | |