Aprendizagem pessoal com IA
e orientação prática
讯飞绘镜

RAGLite: uma ferramenta eficiente de geração de aumento de recuperação (RAG) que suporta vários bancos de dados e modelos de linguagem.

Introdução geral

O RAGLite é um kit de ferramentas Python para Retrieval Augmented Generation (RAG) com suporte para bancos de dados PostgreSQL ou SQLite. Ele oferece opções de configuração flexíveis que permitem aos usuários escolher diferentes modelos de linguagem e reordenadores. O RAGLite é conhecido por seus recursos leves e eficientes, funciona em uma ampla variedade de sistemas operacionais e oferece suporte a várias opções de aceleração, como Metal e CUDA.

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


 

Lista de funções

  • Suporte a vários modelos de linguagem, incluindo modelos nativos llama-cpp-python
  • Suporta PostgreSQL e SQLite como bancos de dados de pesquisa de palavras-chave e vetores
  • Várias opções de reordenação disponíveis, incluindo o FlashRank em vários idiomas
  • Dependências leves, sem necessidade de PyTorch ou LangChain!
  • Suporte à conversão de PDF para Markdown
  • Incorporação de vários vetores e títulos de blocos contextuais
  • Fornece um sistema personalizável ChatGPT Front-end de classe com suporte para Web, Slack e Teams
  • Oferece suporte à inserção e recuperação de documentos para vários tipos de arquivos
  • Fornecer ferramentas para recuperar e gerar avaliações de desempenho

 

Usando a Ajuda

Processo de instalação

  1. Instale o modelo de sentença multilíngue do 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 o binário pré-compilado llama-cpp-python acelerado (opcional, mas 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. Instale o RAGLite:
    pip install raglite
    
  4. Instale um suporte de front-end personalizável do tipo ChatGPT:
    pip install raglite[chainlit]
    
  5. Instalar suporte adicional a tipos de arquivos:
    pip install raglite[pandoc]
    
  6. Suporte à avaliação da instalação:
    pip install raglite[ragas]
    

Diretrizes para uso

  1. Configuração do RAGLite::
    • Configure um banco de dados PostgreSQL ou SQLite e todos os modelos de linguagem compatíveis:
      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. Inserção de documentos::
    • Insira documentos PDF, converta-os e incorpore-os:
      from pathlib import Path
      from raglite import insert_document
      insert_document(Path("On the Measure of Intelligence.pdf"), config=my_config)
      
  3. Recuperação e geração::
    • Use a pesquisa vetorial, a pesquisa por palavra-chave ou a pesquisa híbrida para sua 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 e responder a perguntas::
    • Reorganizar os resultados da pesquisa e gerar respostas:
      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. Recuperação e geração de avaliações::
    • Use Ragas para recuperar e gerar avaliações de desempenho:
      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. Implementação de um front-end semelhante ao ChatGPT::
    • Implante front-ends personalizáveis do tipo 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
      
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " RAGLite: uma ferramenta eficiente de geração de aumento de recuperação (RAG) que suporta vários bancos de dados e modelos de linguagem.
pt_BRPortuguês do Brasil