Construir un sistema RAG usando Langflow con Milvus
Esta guía muestra cómo utilizar Langflow para construir un sistema de generación mejorada por recuperación (RAG) con Milvus.
El sistema RAG mejora la generación de texto recuperando primero los documentos relevantes de una base de conocimientos y generando después nuevas respuestas basadas en este contexto. Milvus se utiliza para almacenar y recuperar incrustaciones de texto, mientras que Langflow facilita la integración de la recuperación y la generación en un flujo de trabajo visual.
Langflow permite construir fácilmente canalizaciones RAG, en las que se incrustan trozos de texto, se almacenan en Milvus y se recuperan cuando se realizan consultas relevantes. Esto permite que el modelo lingüístico genere respuestas contextualmente informadas.
Milvus funciona como una base de datos vectorial escalable que encuentra rápidamente texto semánticamente similar, mientras que Langflow permite gestionar la forma en que la línea de producción gestiona la recuperación de texto y la generación de respuestas. Juntos, proporcionan una forma eficaz de construir una canalización RAG robusta para aplicaciones mejoradas basadas en texto.
Requisitos previos
Antes de ejecutar este cuaderno, asegúrese de tener instaladas las siguientes dependencias:
$ python -m pip install langflow -U
Tutorial
Una vez que todas las dependencias estén instaladas, inicie un dashboard Langflow escribiendo el siguiente comando:
$ python -m langflow run
A continuación, un tablero de instrumentos aparecerá como se muestra a continuación: langflow
Queremos crear un proyecto Vector Store, así que primero tenemos que hacer clic en el botón Nuevo Proyecto. Aparecerá un panel y elegiremos la opción Vector Store RAG: panel
Una vez creado con éxito el proyecto Vector Store Rag, el almacén vectorial por defecto es AstraDB, mientras que nosotros queremos utilizar Milvus. Así que necesitamos reemplazar estos dos módulos astraDB con Milvus para usar Milvus como almacén de vectores. astraDB
Pasos para reemplazar astraDB con Milvus:
- Elimine las tarjetas existentes de Vector Store. Haga clic en dos tarjetas AstraDB marcadas en rojo en la imagen anterior, y pulse retroceso para eliminarlas.
- Haga clic en la opción Vector Store de la barra lateral, elija Milvus y arrástrelo al lienzo. Haga esto dos veces ya que necesitamos 2 tarjetas Milvus, una para almacenar el flujo de trabajo de procesamiento de archivos y otra para el flujo de trabajo de búsqueda.
- Vincule los módulos Milvus al resto de los componentes. Vea la imagen de abajo como referencia.
- Configure las credenciales Milvus para ambos módulos Milvus. La forma más sencilla es utilizar Milvus Lite estableciendo Connection URI a milvus_demo.db. Si tiene un servidor Milvus autodesplegado o en Zilliz Cloud, establezca el URI de conexión al punto final del servidor y la contraseña de conexión al token (para Milvus es "
: " concatenado, para Zilliz Cloud es la clave API). Véase la siguiente imagen como referencia:
Demostración de la estructura de Milvus
Incrustar conocimientos en el sistema GAR
- Sube un archivo como base de conocimiento de LLM a través del módulo de archivos en la parte inferior izquierda. Aquí subimos un archivo que contiene una breve introducción a Milvus
- Ejecute el flujo de trabajo de inserción pulsando el botón de ejecución en el módulo Milvus en la parte inferior derecha. Esto insertará los conocimientos en el almacén vectorial de Milvus.
- Compruebe si los conocimientos están en la memoria. Abra la zona de juegos y pregunte cualquier cosa relacionada con el archivo que ha cargado.
por qué milvus