RAGLite: una eficaz herramienta de generación de aumento de la recuperación (RAG) que admite múltiples bases de datos y modelos lingüísticos.
Últimos recursos sobre IAPublicado hace 9 meses Círculo de intercambio de inteligencia artificial 11.4K 00
Introducción general
RAGLite es un conjunto de herramientas Python para la Generación Aumentada de Recuperaciones (RAG) con soporte para bases de datos PostgreSQL o SQLite. Proporciona opciones de configuración flexibles que permiten a los usuarios elegir distintos modelos de lenguaje y reordenadores.RAGLite es conocido por sus características ligeras y eficientes, funciona en una amplia gama de sistemas operativos y admite diversas opciones de aceleración, como Metal y CUDA.

Lista de funciones
- Compatibilidad con múltiples modelos lingüísticos, incluidos los modelos nativos llama-cpp-python.
- Compatible con PostgreSQL y SQLite como bases de datos de búsqueda por palabras clave y vectores.
- Múltiples opciones de reordenación disponibles, incluido FlashRank multilingüe
- Dependencias ligeras, ¡no requiere PyTorch ni LangChain!
- Conversión de PDF a Markdown
- Incrustación multivectorial y encabezamientos de bloque contextuales
- Permite personalizar ChatGPT Front-end de clase con soporte para Web, Slack y Teams
- Admite la inserción y recuperación de documentos para varios tipos de archivos
- Proporcionar herramientas para recuperar y generar evaluaciones de rendimiento
Utilizar la ayuda
Proceso de instalación
- Instale el modelo de frases multilingües de spaCy:
pip install https://github.com/explosion/spacy-models/releases/download/xx_sent_ud_sm-3.7.0/xx_sent_ud_sm-3.7.0-py3-none-any.whl
- Instale el binario precompilado llama-cpp-python acelerado (opcional pero recomendado):
LLAMA_CPP_PYTHON_VERSION=0.2.88 PYTHON_VERSION=310 ACCELERATOR=metal | cu121 | cu122 | cu123 | cu124 PLATFORM=macosx_11_0_arm64 | linux_x86_64 | win_amd64 pip install "https://github.com/abetlen/llama-cpp-python/releases/download/v$LLAMA_CPP_PYTHON_VERSION-$ACCELERATOR/llama_cpp_python-$LLAMA_CPP_PYTHON_VERSION-cp$PYTHON_VERSION-cp$PYTHON_VERSION-$PLATFORM.whl"
- Instala RAGLite:
pip install raglite
- Instalar un soporte front-end personalizable tipo ChatGPT:
pip install raglite[chainlit]
- Instalar soporte adicional para tipos de archivo:
pip install raglite[pandoc]
- Apoyo a la evaluación de la instalación:
pip install raglite[ragas]
Normas de uso
- Configuración de RAGLite::
- Configure una base de datos PostgreSQL o SQLite y cualquier modelo de lenguaje compatible:
from raglite import RAGLiteConfig my_config = RAGLiteConfig( db_url="postgresql://my_username:my_password@my_host:5432/my_database", llm="gpt-4o-mini", embedder="text-embedding-3-large" )
- Configure una base de datos PostgreSQL o SQLite y cualquier modelo de lenguaje compatible:
- Insertar documentos::
- Inserta documentos PDF y conviértelos e incrústalos:
from pathlib import Path from raglite import insert_document insert_document(Path("On the Measure of Intelligence.pdf"), config=my_config)
- Inserta documentos PDF y conviértelos e incrústalos:
- Recuperación y generación::
- Utilice la búsqueda vectorial, la búsqueda por palabras clave o la búsqueda híbrida para su consulta:
from raglite import hybrid_search, keyword_search, vector_search prompt = "How is intelligence measured?" chunk_ids_hybrid, _ = hybrid_search(prompt, num_results=20, config=my_config)
- Utilice la búsqueda vectorial, la búsqueda por palabras clave o la búsqueda híbrida para su consulta:
- Reordenar y responder preguntas::
- Reordena los resultados de la búsqueda y genera respuestas:
from raglite import rerank_chunks, rag chunks_reranked = rerank_chunks(prompt, chunk_ids_hybrid, config=my_config) stream = rag(prompt, search=chunks_reranked, config=my_config) for update in stream: print(update, end="")
- Reordena los resultados de la búsqueda y genera respuestas:
- Recuperación y generación de evaluaciones::
- Utilice Ragas para recuperar y generar evaluaciones de rendimiento:
from raglite import answer_evals, evaluate, insert_evals insert_evals(num_evals=100, config=my_config) answered_evals_df = answer_evals(num_evals=10, config=my_config) evaluation_df = evaluate(answered_evals_df, config=my_config)
- Utilice Ragas para recuperar y generar evaluaciones de rendimiento:
- Despliegue de un front-end similar a ChatGPT::
- Despliegue front-ends personalizables similares a ChatGPT:
raglite chainlit --db_url sqlite:///raglite.sqlite --llm llama-cpp-python/bartowski/Llama-3.2-3B-Instruct-GGUF/*Q4_K_M.gguf@4096 --embedder llama-cpp-python/lm-kit/bge-m3-gguf/*F16.gguf
- Despliegue front-ends personalizables similares a ChatGPT:
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...