15 puntos por GN⁺ 2025-02-28 | 1 comentarios | Compartir por WhatsApp
  • 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
      1. Impacto cultural y relevancia social
      1. Evolución de personajes, humor y trama
      1. Cambios en la animación y en lo técnico
      1. 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

 
GN⁺ 2025-02-28
Opiniones de Hacker News
  • Este sistema no usa un LLM local, así que no es un sistema realmente local

    • Me pregunto si existe un buscador profundo que pueda usar LLM locales alojados por Ollama y LM Studio
  • Me interesa compararlo con la versión open source de HuggingFace

    • La versión de HF usa un LLM de razonamiento que navega por la web, recopila resultados, los evalúa y luego sintetiza el resultado final
    • Esta versión parece mostrar un almacén vectorial de documentos generados a partir del rastreo web
  • 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

    • Las búsquedas de Bing/Brave no parecen ofrecer esa capacidad
    • Me pregunto si existe algún servicio así
  • Me gustan los distintos enfoques hacia Deep Research

    • Estoy probando nuevos flujos de trabajo usando Flow
  • Hay dos publicaciones de blog relacionadas

    • Comparten la experiencia de construir Deep Research usando open source
  • 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

    • En teoría, me pregunto si podría usarse para leer artículos desde Sci-Hub y generar investigación válida a nivel de posgrado
    • Podría ser útil para comparar informes escritos con DeepSeek R1, GPT-4o y otros modelos grandes
    • El código open source podría exponer más rápido las limitaciones de varios LLM y ayudar a desarrollar mejores bucles de razonamiento para necesidades específicas
  • Estaba buscando una herramienta de Deep Research que pudiera conectarse con mis notas personales (Obsidian) y con la web

    • Parece que esta herramienta tiene esa capacidad
    • Ahora lo que falta es encontrar una forma de exportar los resultados de Deep Research a Obsidian
  • De hecho lo probé y me encontré con algunos problemas, así que tuve que reemplazar los embeddings de texto de openAI por MilvusEmbedding

    • La respuesta del QuickStart fue buena
  • La verdadera bala de plata mágica es buscar en lib-gen y sci-hub