Spaces:
Sleeping
Sleeping
File size: 1,304 Bytes
c02d868 ae12037 667e88a ae12037 c02d868 ae12037 c02d868 ae12037 c02d868 ae12037 427cae4 ae12037 |
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 29 30 31 32 33 |
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
|