Introdução geral
O XRAG (eXamining the Core) é uma estrutura de benchmarking projetada para avaliar os componentes subjacentes dos sistemas avançados de geração de aumento de recuperação (RAG). Ao traçar o perfil e analisar cada módulo central, o XRAG fornece informações sobre como diferentes configurações e componentes afetam o desempenho geral de um sistema RAG. A estrutura é compatível com vários métodos de recuperação e métricas de avaliação e foi projetada para ajudar pesquisadores e desenvolvedores a otimizar e aprimorar todos os aspectos dos sistemas RAG.
O XRAG é compatível com o Benchmark e o Toolkit de avaliação abrangente do RAG, abrangendo mais de 50 métricas de teste e avaliação abrangente do RAG e otimização de pontos de falha, é compatível com a comparação de quatro tipos de módulos avançados do RAG (Reconstrução de consulta, Recuperação avançada, Modelos de perguntas e respostas e Pós-processamento), integra várias implementações específicas nos módulos e é compatível com a API OpenAI Big Model. A versão 1.0 do XRAG também oferece uma demonstração simples da interface do usuário na Web, upload de dados interativos leves e formato padrão unificado, além de integrar métodos de detecção e otimização de falhas do RAG. O artigo e o código agora são de código aberto.
Lista de funções
- Estrutura de avaliação integradaSuporte para avaliações multidimensionais, incluindo avaliações baseadas em LLM, avaliações aprofundadas e métricas tradicionais.
- Arquitetura flexívelDesign modular para suportar vários métodos de pesquisa e estratégias de pesquisa personalizadas.
- Suporte multi-LLMIntegração perfeita com modelos OpenAI e suporte para modelos nativos (por exemplo, Qwen, LLaMA, etc.).
- Conjunto rico de indicadores de avaliaçãoMétricas: inclui métricas tradicionais (F1, EM, MRR etc.) e métricas baseadas em LLM (veracidade, relevância etc.).
- Métodos de pesquisa avançadaSuporte a BM25, pesquisa semântica vetorial, pesquisa de estrutura de árvore e outros métodos de pesquisa.
- Interface amigávelInterface de linha de comando: fornece uma interface de linha de comando e uma interface de usuário da Web para dar suporte à avaliação e à visualização interativas.
Usando a Ajuda
Processo de instalação
- armazém de clones::
git clone https://github.com/DocAILab/XRAG.git
cd XRAG
- Instalação de dependências::
pip install -r requirements.txt
- Ambiente de configuraçãoModificado conforme necessário
config.toml
para configurar os parâmetros do modelo e as definições da API.
Diretrizes para uso
- Iniciando a UI da Web::
xrag-cli webui
Carregue e configure conjuntos de dados por meio da interface do usuário da Web com suporte para vários conjuntos de dados de referência (por exemplo, HotpotQA, DropQA, NaturalQA).
- Avaliação operacionalExecute a avaliação usando a ferramenta de linha de comando:
xrag-cli evaluate --dataset --config
Relatórios detalhados e gráficos de visualização são gerados para os resultados da avaliação.
- Estratégias de pesquisa personalizadasModificação
src/xrag
código de diretório para adicionar ou ajustar estratégias de pesquisa e modelos de avaliação.
Funções principais
- Carregamento e configuração de conjuntos de dadosUpload do conjunto de dados por meio da interface do usuário da Web e configure-o conforme necessário.
- Execuções de avaliaçãoSelecione indicadores de avaliação e métodos de pesquisa, execute a avaliação e visualize os resultados.
- Análise dos resultadosAnálise dos resultados da avaliação e otimização do desempenho do sistema por meio de relatórios gerados e diagramas visuais.
A estrutura Ollama: possibilitando um raciocínio eficiente de recuperação localizada no XRAG
O Ollama desempenha um papel fundamental na estrutura de inferência de recuperação localizada do XRAG-Ollama. Como uma estrutura de código aberto e fácil de usar para executar grandes modelos locais, o Ollama fornece ao XRAG recursos avançados de inferência de recuperação localizada, permitindo que o XRAG aproveite ao máximo sua geração de aprimoramento de recuperação.
Por que localizar a implantação do XRAG?
- Redução de riscos externos: O uso da implementação local reduz a dependência de serviços externos e reduz os possíveis riscos associados a serviços instáveis de terceiros ou ao vazamento de dados.
- Disponibilidade off-lineO sistema RAG localizado não depende de uma conexão com a Internet e pode operar normalmente mesmo no caso de uma interrupção da rede, garantindo a continuidade e a estabilidade do serviço.
- Gerenciamento autônomo de dadosImplementação local: a implementação local oferece aos usuários controle total sobre como os dados são armazenados, gerenciados e processados, por exemplo, incorporando dados privados em bancos de dados de vetores locais, garantindo que os dados sejam processados de acordo com os próprios padrões de segurança e requisitos comerciais da organização.
- Privacidade e segurança de dadosA execução de um sistema RAG em um ambiente local evita o risco de comprometimento de dados confidenciais ao transmiti-los pela rede e garante que os dados estejam sempre sob controle local. Isso é particularmente importante para organizações que lidam com informações confidenciais.
Por que a Ollama?
O Ollama é uma estrutura leve e extensível para criar e executar modelos de linguagem em grande escala (LLMs) no computador local. Ele fornece uma API simples para criar, executar e gerenciar modelos, bem como uma biblioteca de modelos pré-construídos que podem ser facilmente usados em uma variedade de aplicativos. Além de oferecer suporte a uma ampla variedade de modelos, como DeepSeek, Llama 3.3, Phi 3, Mistral, Gemma 2, etc., ele também pode aproveitar a computação moderna acelerada por hardware, fornecendo, assim, suporte de inferência de alto desempenho para o XRAG. Além disso, o Ollama oferece suporte à quantificação de modelos, o que pode reduzir significativamente os requisitos de memória gráfica. Por exemplo, a quantificação de 4 bits comprime os parâmetros de peso de precisão FP16 para precisão inteira de 4 bits, o que reduz significativamente o volume de peso do modelo e a memória gráfica necessária para a inferência. Isso possibilita a execução de modelos grandes em um computador doméstico comum.
Combinando com o Ollama, o XRAG é capaz de executar com eficiência modelos de linguagem em larga escala localmente, sem depender de configurações complexas de ambiente e de grandes quantidades de recursos computacionais, reduzindo consideravelmente os custos de implantação e operação. Ao mesmo tempo, a solução de implementação local oferece aos desenvolvedores controle total sobre o processamento de dados, suportando toda a cadeia de personalização, desde a limpeza de dados brutos, o processamento vetorial (por exemplo, a criação de uma base de conhecimento privada por meio do ChromaDB) até a implementação final do aplicativo. Sua arquitetura de implementação baseada em infraestrutura local é naturalmente capaz de operar off-line, o que não apenas garante a continuidade do serviço, mas também atende aos requisitos rigorosos de confiabilidade do sistema em ambientes especiais (por exemplo, redes confidenciais etc.).