• Acerca de Milvus
  • Empezar
  • Conceptos
  • Guía del usuario
  • Importación de datos
  • Herramientas de IA
  • Guía de administración
  • Herramientas
  • Integraciones
    • Orquestación
    • Agentes
    • Evaluación y observabilidad
    • Modelos de incrustación
    • LLM
    • Ingeniería del conocimiento
    • Fuentes de datos
    • Otros
  • Tutoriales
  • Preguntas frecuentes
  • API Reference

Búsqueda con Jev y Milvus

La búsqueda vectorial encuentra información relacionada con una consulta. Crear una aplicación de búsqueda útil también implica tomar decisiones: qué fragmentos responden realmente a la pregunta, si se puede reutilizar una respuesta anterior y si un agente tiene pruebas suficientes para detener la búsqueda.

Milvus y Jev se encargan de diferentes partes de este flujo de trabajo. Milvus almacena representaciones y recupera registros candidatos, con filtros de metadatos para restricciones como la versión del producto o el alcance de la base de conocimiento. Jev evalúa el significado del texto recuperado en función de las instrucciones. Tu aplicación puede utilizar sus valoraciones para seleccionar pruebas o controlar el siguiente paso de la búsqueda.

¿Qué hace Jev?

Una solicitud a Jev proporciona contexto y una o más preguntas de valoración. Sus resultados tipificados incluyen una elección entre opciones fijas, una puntuación ordenada y una probabilidad de «sí» o «no». Estos resultados permiten que el código de la aplicación tome una decisión sin necesidad de analizar una explicación de formato libre. Un modelo de generación puede seguir redactando una respuesta o una consulta de búsqueda de seguimiento cuando sea necesario.

Por ejemplo, un usuario pregunta cómo instalar Atlas v2. Milvus puede limitar la recuperación a la documentación de la v2 y devolver pasajes similares sobre la instalación, las actualizaciones y la resolución de problemas. A continuación, Jev evalúa qué pasajes explican la configuración inicial. La aplicación pasa la evidencia seleccionada a un modelo generador de respuestas.

Las responsabilidades son claras:

  1. Recuperar con Milvus: encontrar candidatos dentro de las restricciones de metadatos requeridas.
  2. Evaluar con Jev: evaluar esos candidatos en función de la pregunta y de un criterio específico de la tarea.
  3. Actuar en el código de la aplicación: reordenar los resultados, filtrar el contexto, reutilizar una respuesta o continuar la búsqueda.

Algunas decisiones se toman antes de la recuperación. Jev puede elegir un ámbito de búsqueda o evaluar los documentos entrantes antes de que pasen a formar parte de una colección. El control de acceso y los filtros exactos siguen siendo responsabilidad de la aplicación.

Explora los escenarios de búsqueda

La colección «Buscar con Jev» contiene nueve tutoriales ejecutables. Cada uno utiliza un pequeño conjunto de datos sintéticos y muestra los registros recuperados, las valoraciones y la acción resultante.

Seleccionar mejores pruebas

  • Reordenar los resultados de la búsqueda: reordenar la documentación y los recuerdos del agente de codificación. Un recuerdo sobre un error en el puerto de un ordenador portátil puede parecerse a un problema de conexión de un contenedor; un recuerdo más útil registra la solución real del contenedor-host.
  • Filtra el contexto recuperado: distingue las instrucciones de instalación inicial de los pasajes sobre actualizaciones y resolución de problemas después de que Milvus aplique el filtro de versión.
  • Reordenar las relaciones del grafo: responder a una pregunta sobre el lugar de nacimiento del autor de un libro seleccionando tanto el enlace «libro-autor» como la relación «autor-lugar de nacimiento», y luego conservar esa clasificación al recuperar los pasajes de las fuentes.

Controlar la búsqueda y la reutilización de respuestas

  • Decidir cuándo detener la búsqueda: un modelo de generación propone búsquedas a partir de la evidencia acumulada, mientras que Jev evalúa si la pregunta original tiene respuesta. Los ejemplos abarcan una respuesta directa, una pregunta de dos pasos y un dato no disponible que alcanza el límite de búsqueda sin obtener respuesta.
  • Enrutar las consultas de búsqueda: selecciona la búsqueda en documentación, facturación o memoria y, a continuación, aplica el filtro Milvus correspondiente. Una consulta fuera de ámbito sigue una ruta independiente.
  • Validar la reutilización de la caché semántica: recuperar una solicitud similar almacenada en caché y, a continuación, comprobar si su respuesta también cumple los requisitos de tarea, lenguaje y contexto de la nueva solicitud.

Mejorar e inspeccionar el flujo de conocimiento

  • Seleccionar documentos antes de indexarlos: distinguir las orientaciones operativas sustantivas del material promocional o incompleto, con acciones separadas de indexación, revisión y exclusión.
  • Filtrar los fragmentos recuperados: identificar el texto que intenta desviar al asistente, conservando al mismo tiempo los consejos de seguridad habituales. Se trata de un paso de filtrado adicional, no de una garantía de seguridad.
  • Evaluar las pruebas de la búsqueda: juzgar la relevancia de los fragmentos, si las pruebas son suficientes y si una respuesta formula afirmaciones sin fundamento. Los ejemplos eliminan deliberadamente pruebas o añaden una afirmación sin fundamento para que la distinción resulte evidente.

Una interfaz de reordenación lista para usar

Milvus Model proporciona un JevRerankFunction del lado de la aplicación: se pasa una consulta y los textos de los documentos candidatos, y se reciben resultados puntuados con sus índices originales, ordenados por relevancia. Utiliza esos índices para reordenar los registros devueltos por Milvus.

Se ha incorporado la integración con Jev. Consulta la implementación y las opciones del constructor para la API actual. Acepta ` TYPESAFE_API_KEY ` y, por defecto, utiliza ` jev-latest`. Utiliza una versión del paquete que incluya esta integración.

El envoltorio actual utiliza un prompt de relevancia de tipo «afirmación y evidencia». Comprueba que este criterio se adapte a tu tarea. Para evaluaciones personalizadas, como la compatibilidad de memoria, la detención o el enrutamiento, sigue los tutoriales enlazados utilizando directamente la API TypeSafe. Los tutoriales muestran llamadas directas a la API desde el código de una aplicación en Python.

Pruébalo con Milvus

Abre el tutorial de reordenación en Colab para empezar con la recuperación y clasificación de candidatos. Para la configuración local y la lista completa de tutoriales, consulta el archivo README de la colección.

Los ejemplos utilizan una clave de API de Gemini para las representaciones y una clave de API de TypeSafe para Jev. El tutorial de búsqueda agencial también utiliza Gemini para la generación de consultas y respuestas. Se envía texto de muestra a estos proveedores de API, y las llamadas pueden consumir créditos.

Los tutoriales se ejecutan con Milvus Lite de forma predeterminada e incluyen opciones de conexión para un servidor de Milvus o Zilliz Cloud. La misma división del trabajo se aplica en todas las implementaciones: Milvus recupera los candidatos y la aplicación envía el texto relevante a Jev para su evaluación.

Considera los ejemplos como puntos de partida para establecer tus propios criterios y umbrales. Una puntuación de relevancia no garantiza que una respuesta sea correcta, y estos pequeños conjuntos de datos de entrenamiento no determinan la precisión ni la velocidad en entornos de producción.

Explora las implementaciones y los resultados de la evaluación

Los siguientes proyectos de código abierto aplican estas ideas a flujos de trabajo de búsqueda más amplios. Los informes enlazados explican los conjuntos de datos, las comparaciones y las limitaciones de cada experimento.

ProyectoCaso de uso de búsquedaTrabajo de Jev
MemSearchMemoria Markdown persistente para agentes de codificaciónImplementación de Jev · Evaluación
Grafo vectorial RAGRecuperación de vectores y grafos para preguntas de múltiples saltosImplementación en Jev · Evaluación
DeepSearcherBúsqueda iterativa sobre conocimiento privadoEjecutor de experimentos · Evaluación de interrupción de la búsqueda (experimento independiente)
GPTCacheReutilización de respuestas a solicitudes compatiblesImplementación de Jev · Evaluación

La contribución de DeepSearcher consiste en un experimento independiente de detención de la búsqueda. Los demás enlaces de implementación muestran integraciones de Jev específicas para cada tarea. Los resultados de estos proyectos deben interpretarse en su propio contexto de evaluación, en lugar de considerarse como un punto de referencia común.