Este proyecto es una implementación basada en JavaScript que utiliza la innovadora arquitectura de recuperación-generación aumentada (RAG) a través de LangChainJS. Este sistema combina eficazmente un recuperador de documentos y un generador de respuestas para manejar consultas complejas con alta precisión. El componente "Retriever" actúa como una herramienta de búsqueda de precisión dentro de un corpus de documentos, extrayendo la información más relevante en función de las consultas de los usuarios. Luego de la recuperación, el "Generador" sintetiza esta información en respuestas coherentes y contextualmente relevantes. Este enfoque de doble componente es ideal para tareas que requieren una profunda síntesis y comprensión del contenido, como generar resúmenes detallados o responder preguntas multifacéticas de una amplia gama de fuentes de documentos. Esta aplicación maneja numerosos documentos y consultas complejas con facilidad, lo que la convierte en una herramienta valiosa para investigadores, creadores de contenido y analistas de datos.
El proyecto utiliza Ollama con LangChainJS, así que asegúrese de tener Ollama instalado. Después de la instalación, ejecute
$ ollama pull gemma:2b-instruct-q5_0
$ ollama pull nomic-embed-text
en powershell.
El proyecto también utiliza ChromaDB como base de datos para el almacenamiento de vectores, así que descargue e instale Docker desde https://www.docker.com/ y ejecútelo.
$ docker pull chromadb/chroma
$ docker run -p 8000:8000 chromadb/chroma
en powershell para extraer una imagen de chromaDB e iniciar un contenedor de chromaDB. Las incrustaciones se crearán y almacenarán dentro del contenedor chromaDB que se crea en la ventana acoplable.
Clona el repositorio usando git clone
.
Después de la clonación, vaya al directorio raíz y ejecute npm install
en la terminal para instalar los paquetes.
Una vez que los paquetes se hayan instalado correctamente, ejecute npm start
en la terminal. Recibirá un error la primera vez, luego ejecutará npm start
nuevamente para que el código funcione.
¡Las contribuciones al proyecto son bienvenidas! Cree solicitudes de extracción o envíe problemas para sugerir cambios en el repositorio o informar errores.
Este proyecto tiene la licencia MIT; consulte el archivo de LICENCIA para obtener más detalles.