Documentación
El propósito de este paquete es ofrecer un conveniente sistema de respuesta a preguntas (RAG) con una configuración simple basada en YAML que permite la interacción con múltiples colecciones de documentos locales. Se presta especial atención a las mejoras en varios componentes del sistema, además de los RAG básicos basados en LLM : mejor análisis de documentos, búsqueda híbrida, búsqueda habilitada para HyDE, historial de chat, enlaces profundos, reclasificación, capacidad de personalizar incrustaciones y más. . El paquete está diseñado para funcionar con modelos de lenguaje grande (LLM) personalizados, ya sea de OpenAI o instalados localmente.
Formatos soportados
.md
: divide archivos según componentes lógicos como títulos, subtítulos y bloques de código. Admite funciones adicionales como limpiar enlaces de imágenes, agregar metadatos personalizados y más..pdf
: analizador basado en MuPDF..docx
: analizador personalizado, admite tablas anidadas.Unstructured
:Compatibilidad con el análisis de tablas a través de gmft de código abierto (https://github.com/conjuncts/gmft) o Azure Document Intelligence.
Soporte opcional para el análisis de imágenes utilizando la API de Gemini.
Admite múltiples colecciones de documentos y filtra los resultados por colección.
Capacidad de actualizar las incrustaciones de forma incremental, sin necesidad de volver a indexar toda la base de documentos.
Genera incrustaciones densas a partir de una carpeta de documentos y las almacena en una base de datos vectorial (ChromaDB).
multilingual-e5-base
.instructor-large
.Genera incrustaciones dispersas usando SPLADE (https://github.com/naver/splade) para habilitar la búsqueda híbrida (escasa + densa).
Admite la estrategia "Recuperar y reclasificar" para búsqueda semántica, consulte aquí.
ms-marco-MiniLM
original, se admite bge-reranker
más moderno.Admite HyDE (incrustaciones de documentos hipotéticos): consulte aquí.
Soporte para consultas múltiples, inspirado en RAG Fusion
: https://towardsdatascience.com/forget-rag-the-future-is-rag-fusion-1147298d8ad1
Admite historial de chat opcional con contextualización de preguntas
Permite la interacción con documentos incrustados, soportando internamente los siguientes modelos y métodos (incluidos los alojados localmente):
Interoperabilidad con LiteLLM + Ollama a través de OpenAI API, compatible con cientos de modelos diferentes (consulte Configuración del modelo para LiteLLM)
Otras características
Explorar documentación