Acesso no exterior: www.kdjingpai.com
Ctrl + D Marcar este site como favorito

O RAGLight é uma biblioteca Python leve e modular projetada para possibilitar a Geração Aumentada de Recuperação (RAG). Com suporte para vários modelos de linguagem, modelos incorporados e armazenamentos de vetores, o RAGLight é ideal para que os desenvolvedores criem rapidamente aplicativos de IA com reconhecimento de contexto. Projetado com simplicidade e flexibilidade em mente, o RAGLight pode integrar facilmente dados de pastas locais ou repositórios do GitHub para gerar respostas precisas. Ollama ou LMStudio, suporta implementações localizadas e é adequado para projetos sensíveis à privacidade e aos custos.

 

Lista de funções

  • Há suporte para várias fontes de dados: as bases de conhecimento podem ser importadas de pastas locais (por exemplo, PDF, arquivos de texto) ou de repositórios do GitHub.
  • modularização RAG Pipeline: combina a recuperação de documentos e a geração de idiomas com suporte para os modos RAG padrão, RAG agêntico e RAT (Retrieval Augmented Thinking).
  • Integração flexível de modelos: suporta modelos Ollama e LMStudio para linguagens grandes, como llama3.
  • Armazenamento eficiente de vetores: gere vetores de documentos usando os modelos de incorporação Chroma ou HuggingFace para dar suporte a pesquisas rápidas de similaridade.
  • Configuração personalizada: permite que o usuário ajuste o modelo de incorporação, os caminhos de armazenamento de vetores e os parâmetros de recuperação (por exemplo k (Valor).
  • Automatize o processamento de documentos: extraia e indexe automaticamente o conteúdo de documentos de fontes especificadas, simplificando a construção da base de conhecimento.

Usando a Ajuda

Processo de instalação

A instalação e o uso do RAGLight requerem um ambiente Python e um Ollama ou LMStudio em execução:

  1. Instalação do Python e das dependências
    Certifique-se de que o Python 3.8 ou posterior esteja instalado em seu sistema. Use o seguinte comando para instalar o RAGLight:

    pip install raglight
    

    Se você usar modelos incorporados do HuggingFace, precisará instalar dependências adicionais:

    pip install sentence-transformers
    
  2. Instalação e execução do Ollama ou do LMStudio
    • Faça download e instale o Ollama (https://ollama.ai) ou o LMStudio.
    • Puxando modelos em Ollama, por exemplo:
      ollama pull llama3
      
    • Certifique-se de que o modelo esteja carregado e em execução no Ollama ou no LMStudio.
  3. Ambiente de configuração
    Crie uma pasta de projeto para preparar os dados da base de conhecimento (por exemplo, pasta PDF ou URL do repositório do GitHub). Certifique-se de que você tenha uma boa conexão com a Internet para acessar o GitHub ou o HuggingFace.

Criação de um pipeline RAG simples com o RAGLight

O RAGLight fornece uma API limpa para criar pipelines RAG. Abaixo está um exemplo básico para criar uma base de conhecimento e gerar respostas a partir de pastas locais e repositórios do GitHub:

from raglight.rag.simple_rag_api import RAGPipeline
from raglight.models.data_source_model import FolderSource, GitHubSource
from raglight.config.settings import Settings
Settings.setup_logging()
# 定义知识库来源
knowledge_base = [
FolderSource(path="/path/to/your/folder/knowledge_base"),
GitHubSource(url="https://github.com/Bessouat40/RAGLight")
]
# 初始化 RAG 管道
pipeline = RAGPipeline(
knowledge_base=knowledge_base,
model_name="llama3",
provider=Settings.OLLAMA,
k=5
)
# 构建管道(处理文档并创建向量存储)
pipeline.build()
# 生成回答
response = pipeline.generate("如何使用 RAGLight 创建一个简单的 RAG 管道?")
print(response)

Operação da função em destaque

  1. Suporte a várias fontes de dados
    O RAGLight permite que os usuários importem dados de pastas locais ou repositórios do GitHub.

    • Local Folder (Pasta local): Coloque os arquivos PDF ou de texto em uma pasta especificada, por exemplo /path/to/knowledge_base.
    • Repositórios do GitHub: forneça a URL do repositório (por exemplo https://github.com/Bessouat40/RAGLight), o RAGLight extrai automaticamente os documentos do repositório.
      Exemplo de configuração:
    knowledge_base = [
    FolderSource(path="/data/knowledge_base"),
    GitHubSource(url="https://github.com/Bessouat40/RAGLight")
    ]
    
  2. Tubos RAG padrão
    O pipeline padrão do RAG combina a recuperação e a geração de documentos. Depois que um usuário insere uma consulta, o RAGLight converte a consulta em um vetor, recupera fragmentos de documentos relevantes por meio de uma pesquisa de similaridade e insere esses fragmentos no LLM como contexto para gerar uma resposta.
    Procedimento operacional:

    • inicialização RAGPipeline e especificar a base de conhecimento, os modelos e os k (número de documentos recuperados).
    • invocações pipeline.build() Processa documentos e gera armazenamentos de vetores.
    • fazer uso de pipeline.generate("查询") Obter respostas.
  3. Modos RAG e RAT autênticos
    • RAG autêntico: através de AgenticRAGPipeline adicionando funções corporais inteligentes para dar suporte ao raciocínio em várias etapas e ao ajuste dinâmico das estratégias de recuperação.
      Exemplo:

      from raglight.rag.simple_agentic_rag_api import AgenticRAGPipeline
      from raglight.config.agentic_rag_config import SimpleAgenticRAGConfig
      config = SimpleAgenticRAGConfig(k=5, max_steps=4)
      pipeline = AgenticRAGPipeline(knowledge_base=knowledge_base, config=config)
      pipeline.build()
      response = pipeline.generate("如何优化 RAGLight 的检索效率?")
      print(response)
      
    • RAT (Retrieval Augmented Thinking, Pensamento Aumentado por Recuperação): através de RATPipeline Realização, etapas adicionais de reflexão (reflection parâmetros) para melhorar a lógica e a precisão das respostas.
      Exemplo:

      from raglight.rat.simple_rat_api import RATPipeline
      pipeline = RATPipeline(
      knowledge_base=knowledge_base,
      model_name="llama3",
      reasoning_model_name="deepseek-r1:1.5b",
      reflection=2,
      provider=Settings.OLLAMA
      )
      pipeline.build()
      response = pipeline.generate("如何简化 RAGLight 的配置?")
      print(response)
      
  4. Armazenamento de vetores personalizados
    O RAGLight usa o Chroma como armazenamento de vetores padrão e oferece suporte aos modelos de incorporação HuggingFace (por exemplo all-MiniLM-L6-v2). Caminhos de armazenamento e nomes de coleções definidos pelo usuário:

    from raglight.config.vector_store_config import VectorStoreConfig
    vector_store_config = VectorStoreConfig(
    embedding_model="all-MiniLM-L6-v2",
    provider=Settings.HUGGINGFACE,
    database=Settings.CHROMA,
    persist_directory="./defaultDb",
    collection_name="my_collection"
    )
    

Precauções de manuseio

  • Certifique-se de que o modelo de tempo de execução do Ollama ou do LMStudio esteja carregado; caso contrário, será relatado um erro.
  • O caminho da pasta local deve conter documentos válidos (por exemplo, PDF, TXT) e o repositório do GitHub deve ser acessível publicamente.
  • adaptar k para controlar o número de documentos recuperados.k=5 Normalmente, é uma escolha que equilibra eficiência e precisão.
  • Se estiver usando o modelo incorporado do HuggingFace, certifique-se de que a API do HuggingFace esteja acessível à rede.

cenário do aplicativo

  1. pesquisa acadêmica
    Os pesquisadores podem importar PDFs de artigos para uma pasta local e usar o RAGLight para pesquisar rapidamente a literatura e gerar resumos ou responder a perguntas. Por exemplo, digite "avanços recentes em um campo" para obter respostas contextualizadas para artigos relevantes.
  2. Base de conhecimento empresarial
    As organizações podem importar documentos internos (por exemplo, manuais técnicos, perguntas frequentes) para o RAGLight para criar sistemas inteligentes de perguntas e respostas. Depois que os funcionários inserem as perguntas, o sistema recupera e gera respostas precisas a partir dos documentos.
  3. Ferramentas do desenvolvedor
    Os desenvolvedores podem usar a documentação de código dos repositórios do GitHub como uma base de conhecimento para procurar rapidamente o uso da API ou trechos de código. Por exemplo, digite "how to call a function" (como chamar uma função) para obter a documentação.
  4. Auxílios educacionais
    Professores ou alunos podem importar livros didáticos ou notas de curso para o RAGLight para gerar respostas direcionadas ou resumos de seu aprendizado. Por exemplo, digite "explicar um conceito" para acessar o conteúdo relevante do livro didático.

QA

  1. Quais modelos de idiomas são compatíveis com o RAGLight?
    O RAGLight é compatível com os modelos fornecidos pela Ollama e pelo LMStudio, como llama3edeepseek-r1:1.5b etc. O usuário precisa pré-carregar o modelo no Ollama ou no LMStudio.
  2. Como faço para adicionar uma fonte de dados personalizada?
    fazer uso de FolderSource Especifique o caminho para uma pasta local ou GitHubSource Especifique um URL de repositório público do GitHub. Certifique-se de que o caminho seja válido e que o formato do arquivo seja compatível (por exemplo, PDF, TXT).
  3. Como otimizar a precisão da pesquisa?
    crescente k para recuperar mais documentos ou usar o modo RAT para ativar a reflexão. Selecione um modelo de incorporação de alta qualidade (por exemplo all-MiniLM-L6-v2) também melhora a precisão.
  4. Ele oferece suporte à implementação na nuvem?
    O RAGLight foi projetado principalmente para implantação local e precisa ser executado com o Ollama ou o LMStudio. Ele não é compatível diretamente com a nuvem, mas pode ser implantado por meio de contêineres (por exemplo, Docker).
0Marcado
0Recomendado

Recomendado

Não consegue encontrar ferramentas de IA? Tente aqui!

Basta digitar a palavra-chave Acessibilidade Bing SearchA seção Ferramentas de IA deste site é uma maneira rápida e fácil de encontrar todas as ferramentas de IA deste site.

voltar ao topo

pt_BRPortuguês do Brasil