Indexación de millones de artículos de Wikipedia con Upstash Vector
Este repositorio contiene el código y la documentación de nuestro proyecto sobre la indexación de millones de artículos de Wikipedia utilizando Upstash Vector, como se describe en nuestra publicación de blog.
Descripción general del proyecto
Hemos creado un motor de búsqueda semántica y Upstash RAG Chat SDK utilizando datos de Wikipedia para demostrar las capacidades de Upstash Vector y RAG Chat SDK. El proyecto implica:
- Preparar e incrustar artículos de Wikipedia.
- Indexación de los vectores utilizando Upstash Vector
- Construyendo un motor de búsqueda semántica de Wikipedia
- Implementando un chatbot RAG
Características clave
- Indexados más de 144 millones de vectores de artículos de Wikipedia en 11 idiomas
- Modelo de integración BGE-M3 usado para soporte multilingüe
- Búsqueda semántica implementada con capacidades multilingües.
- Creé un chatbot RAG usando Upstash RAG Chat SDK
Tecnologías utilizadas
- Upstash Vector: para almacenar y consultar incrustaciones de vectores
- Upstash Redis: para almacenar sesiones de chat
- Upstash RAG Chat SDK: para crear la aplicación RAG Chat
- SentenceTransformers: para generar incrustaciones
- Meta-Llama-3-8B-Instruct: como proveedor de LLM a través de las API de QStash LLM
Desarrollo
Para ejecutar el proyecto localmente, siga estos pasos:
- Vaya a Upstash Console para administrar sus bases de datos:
- Cree una nueva base de datos Vector con soporte para modelos de incrustación. Puede elegir el modelo BGE-M3 para soporte multilingüe.
- Cree una nueva base de datos de Redis para almacenar sesiones de chat.
- Copie las credenciales tanto para Redis como para Vector. Copie también las credenciales de QStash para utilizar los modelos LLM alojados en upstash.
Coloque las credenciales en un archivo .env
en la raíz del proyecto. Su archivo .env
debería verse así:
UPSTASH_VECTOR_REST_URL=
UPSTASH_VECTOR_REST_TOKEN=
UPSTASH_REDIS_REST_TOKEN=
UPSTASH_REDIS_REST_URL=
QSTASH_TOKEN=
- Complete su índice de vectores.
Este proyecto utiliza espacios de nombres para almacenar artículos en diferentes idiomas. Entonces debes insertar los vectores en el espacio de nombres correcto. Para inglés, inserte sus vectores en el espacio de nombres en
.
- Instale las dependencias:
- Ejecute el servidor de desarrollo:
Contribuyendo
Agradecemos contribuciones para mejorar este proyecto. No dude en enviar problemas o solicitudes de extracción.
Expresiones de gratitud
- Wikipedia por proporcionar el conjunto de datos.
- Upstash para su base de datos vectorial y RAG Chat SDK
- Todos los contribuyentes a las bibliotecas de código abierto utilizadas en este proyecto.
Contacto
Si tiene alguna pregunta o comentario sobre el proyecto o Upstash Vector, comuníquese con nosotros al (agregar información de contacto).
¡Vea nuestra demostración en vivo para ver el proyecto en acción!