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.

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.

RAGLite:高效的检索增强生成(RAG)工具,支持多种数据库和语言模型。

 

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

  1. 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
    
  2. 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"
    
  3. Instala RAGLite:
    pip install raglite
    
  4. Instalar un soporte front-end personalizable tipo ChatGPT:
    pip install raglite[chainlit]
    
  5. Instalar soporte adicional para tipos de archivo:
    pip install raglite[pandoc]
    
  6. Apoyo a la evaluación de la instalación:
    pip install raglite[ragas]
    

Normas de uso

  1. 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"
      )
      
  2. 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)
      
  3. 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)
      
  4. 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="")
      
  5. 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)
      
  6. 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
      
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...