- Implementa un agente de investigación de tipo Deep Research usando modelos y herramientas de código abierto (Milvus, LangChain, etc.)
- Han aumentado los casos que implementan una estructura de agente que realiza automáticamente investigación profunda sobre un tema o pregunta mediante búsqueda web y de documentos, y que elige acciones (buscar, organizar, etc.) en cada paso intermedio
- El artículo presenta el proyecto de código abierto DeepSearcher, que amplía estas ideas. Introduce enrutamiento de consultas, flujos de ejecución condicionales y uso de herramientas de web crawling
- DeepSearcher se ofrece como biblioteca de Python y CLI, por lo que permite ingresar documentos de múltiples fuentes y ajustar fácilmente mediante archivos la configuración del modelo de embeddings y de la base de datos vectorial
- Aunque es sencillo, sirve como una demostración de RAG basado en agentes y puede funcionar como punto de partida para desarrollar aplicaciones reales de IA
- Se enfatiza especialmente el problema de velocidad y eficiencia de los modelos de razonamiento, ya que el proceso de consulta y búsqueda requiere generar muchos tokens y los recursos de inferencia se vuelven el cuello de botella
- Al usar el modelo de razonamiento DeepSeek-R1, que corre sobre hardware personalizado de SambaNova, la velocidad de generación de tokens por segundo resulta más rápida que la de servicios competidores
- A través de estos servicios de inferencia en la nube, también se hace posible una inferencia eficiente para varios modelos como Llama 3.x, Qwen2.5 y QwQ
Definición y desglose de preguntas
- La consulta inicial del usuario se descompone en subconsultas detalladas
- De forma similar al artículo anterior, una consulta como "How has The Simpsons changed over time?" se divide en varias subconsultas como las siguientes
- Ej.: impacto cultural y social de la obra, cambios por temporada en personajes, humor y narrativa, cambios en animación y técnicas de producción, cambios en la reacción de la audiencia, etc.
- En etapas posteriores, si hace falta, también se pueden redefinir o ampliar las preguntas
Investigación y análisis
- A partir de las subconsultas, se pasa por etapas de enrutamiento de consultas, búsqueda vectorial, reflexión (reflection) y repetición condicional
- Enrutamiento de consultas
- Se diseña el prompt para que el LLM decida cuál de varias colecciones de base de datos usar
- Se recibe una respuesta en formato JSON para generar consultas de búsqueda por colección
- Búsqueda vectorial
- Se ejecuta una búsqueda por similitud usando embeddings almacenados en Milvus
- Al igual que en el artículo anterior, los datos fuente se dividen y vectorizan de antemano
- Reflexión (reflection)
- El LLM verifica, con base en las consultas y respuestas producidas en la etapa anterior, si se necesita información adicional
- Si hay vacíos, genera nuevas subconsultas e intenta volver a buscar
- Repetición condicional
- Si el resultado de la reflexión indica que se necesitan consultas adicionales, se repite el proceso anterior
- Si determina que ya no es necesario recopilar más información, pasa a la etapa de generación del informe final
Generación del informe final
- Se genera el informe usando un solo prompt que integra todas las subconsultas y resultados de búsqueda
- Se obtiene un informe con mayor consistencia y cohesión que en la demostración anterior
- Por ejemplo, el informe final sobre “How has The Simpsons changed over time?” ofrece contenido detallado con una estructura como la siguiente
-
- Impacto cultural y relevancia social
-
- Evolución de personajes, humor y trama
-
- Cambios en la animación y en lo técnico
-
- Cambios en la audiencia, reacciones y ratings
- Conclusión: el proceso por el cual la obra pasó de una sátira rebelde inicial a convertirse en un ícono popular, etc.
- Se puede comparar la versión generada con el modelo DeepSeek-R1 con la versión generada con el modelo GPT-4o mini
Dirección futura
- DeepSearcher todavía está en un nivel simple, pero puede evolucionar más con configuraciones de agentes adicionales, estructuración de informes y expansión de la repetición condicional
- Como los modelos de razonamiento a gran escala implican cómputo muy pesado, la velocidad de inferencia y el costo se vuelven temas clave del servicio
- Se indica que, usando el modelo DeepSeek-R1 de SambaNova, se realizaron 65 llamadas de inferencia, con cerca de 25k tokens de entrada y 22k tokens de salida, obteniendo una respuesta suficientemente rápida por un costo aproximado de 0.30 dólares
- El proyecto puede probarse directamente en el repositorio de DeepSearcher, y planean seguir compartiendo funciones y casos adicionales en el futuro
1 comentarios
Opiniones de Hacker News
Este sistema no usa un LLM local, así que no es un sistema realmente local
Me interesa compararlo con la versión open source de HuggingFace
La magia de la implementación de Grok parece ser, en gran parte, que tiene en caché la mayoría de los sitios web, por eso se siente muy rápido
Me gustan los distintos enfoques hacia Deep Research
Hay dos publicaciones de blog relacionadas
Como las principales empresas de IA ya hicieron el mismo producto de Deep Research, probablemente tenga sentido enfocarse en una plataforma open source compartida
Me pregunto cuál es el significado práctico de integrar rastreo web
Estaba buscando una herramienta de Deep Research que pudiera conectarse con mis notas personales (Obsidian) y con la web
De hecho lo probé y me encontré con algunos problemas, así que tuve que reemplazar los embeddings de texto de openAI por MilvusEmbedding
La verdadera bala de plata mágica es buscar en lib-gen y sci-hub