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: ferramenta RAG (Retrieval Augmentation Generation) eficiente que oferece suporte a vários bancos de dados e modelos de linguagem. -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 = "Como a inteligência é medida?"
      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, trapo
      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
      
Aprendizagem fácil com IA

O guia do leigo para começar a usar a IA

Ajuda você a aprender a utilizar as ferramentas de IA com baixo custo e a partir de uma base zero.A IA, assim como o software de escritório, é uma habilidade essencial para todos. Dominar a IA lhe dará uma vantagem em sua busca de emprego e metade do esforço em seu trabalho e estudos futuros.

Ver detalhes>
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.

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil