Weaviate
Maneja la búsqueda y el almacenamiento de documentos en Weaviate, permitiendo a los usuarios indexar textos y recuperar información relevante mediante embeddings.
¿Cómo funciona?
El componente se conecta a un servidor Weaviate a través de su URL y, opcionalmente, una API Key que se configura en la sección de credenciales de Nappai. Cuando se ingresa texto, el componente convierte cada documento en un vector usando el modelo de embeddings seleccionado y lo almacena en el índice especificado. Para las búsquedas, envía la consulta al servidor Weaviate y devuelve los documentos más similares según el número de resultados configurado.
Operaciones
Este componente ofrece varias operaciones que puedes seleccionar según lo que necesites hacer. Solo puedes usar una operación a la vez:
- Add: Indexa nuevos documentos en el índice de Weaviate.
- Search: Busca documentos similares a una consulta de texto.
- Retriever: Crea un objeto Retriever que puede usarse en flujos de trabajo posteriores.
Para usar el componente, primero selecciona la operación que necesitas en el campo “Operation” (Operación).
Entradas
Campos de Entrada
Los siguientes campos están disponibles para configurar este componente. Cada campo puede estar visible en diferentes operaciones:
- Embedding: Modelo de embeddings que convierte texto en vectores.
- Visible en: Add, Search, Retriever
- Ingest Data: Documentos que se agregarán al índice.
- Visible en: Add
- Operation: Selecciona la operación que se ejecutará.
- Visible en: Add, Search, Retriever
- Index Name: Nombre del índice de Weaviate donde se almacenarán los documentos.
- Visible en: Add, Search, Retriever
- Number of Results: Número de resultados que se devolverán en una búsqueda.
- Visible en: Add, Search, Retriever
- Search By Text: Si se activa, la búsqueda se realiza directamente con texto en lugar de embeddings.
- Visible en: Add, Search, Retriever
- Search Query: Consulta de texto que se usará para buscar documentos. Dejarlo vacío recuperará todos los documentos.
- Visible en: Search
- Text Key: Nombre del campo que contiene el texto en los documentos.
- Visible en: Add, Search, Retriever
Nota: Este componente requiere una credencial de tipo Weaviate API. Primero configura la credencial en la sección de credenciales de Nappai y luego selecciónala en el campo “Credential” del componente.
Salidas
- Retriever: Un objeto que permite recuperar documentos en flujos de trabajo posteriores.
- Results: Lista de documentos encontrados durante una búsqueda.
- Vector Store: El objeto Weaviate que representa el almacén de vectores.
Ejemplo de Uso
Operación Add
- Selecciona Add en el campo Operation.
- Conecta la salida de un componente que genere documentos a Ingest Data.
- Elige un modelo de embeddings en Embedding.
- Especifica el nombre del índice en Index Name.
- Haz clic en “Run” y el componente indexará los documentos en Weaviate.
Operación Search
- Selecciona Search en el campo Operation.
- Ingresa una frase de búsqueda en Search Query.
- Ajusta Number of Results si deseas más o menos resultados.
- Haz clic en “Run” y el componente devolverá los documentos más relevantes en Results.
Componentes Relacionados
- Weaviate Vector Store – El mismo componente con una interfaz más directa para usuarios que solo necesitan almacenar y recuperar vectores.
- LangChain Weaviate – Biblioteca de LangChain que facilita la integración de Weaviate en flujos de trabajo de IA.
Consejos y Mejores Prácticas
- Usa embeddings de alta calidad: Modelos como OpenAI o SentenceTransformers suelen ofrecer mejores resultados de búsqueda.
- Mantén índices organizados: Crea índices separados por dominio o tipo de documento para evitar confusiones.
- Limita el número de resultados: Un valor alto puede ralentizar la respuesta; 4-10 suele ser suficiente para la mayoría de los casos.
Consideraciones de Seguridad
- Protege tu API Key: Asegúrate de que la credencial de Weaviate esté almacenada de forma segura y no se exponga en logs.
- Control de acceso: Configura permisos en Weaviate para limitar quién puede leer o escribir en cada índice.
- Validación de entrada: Evita inyecciones de código o consultas maliciosas sanitizando los datos antes de enviarlos a Weaviate.