paperai é um aplicativo de busca semântica e fluxo de trabalho para artigos médicos/científicos.
Os aplicativos variam de índices de pesquisa semântica que encontram correspondências para consultas médicas/científicas até aplicativos de relatórios completos alimentados por aprendizado de máquina.
paperai e/ou NeuML foram reconhecidos nos seguintes artigos:
A maneira mais fácil de instalar é via pip e PyPI
pip install paperai
Python 3.8+ é compatível. É recomendado usar um ambiente virtual Python.
paperai também pode ser instalado diretamente do GitHub para acessar os recursos mais recentes e inéditos.
pip install git+https://github.com/neuml/paperai
Consulte este link para ajudar a resolver problemas de instalação específicos do ambiente.
Execute as etapas abaixo para construir uma imagem docker com paperai e todas as dependências.
wget https://raw.githubusercontent.com/neuml/paperai/master/docker/Dockerfile
docker build -t paperai .
docker run --name paperai --rm -it paperai
paperetl pode ser adicionado para ter uma única imagem para indexar e consultar o conteúdo. Siga as instruções para criar uma imagem docker paperetl e execute o seguinte.
docker build -t paperai --build-arg BASE_IMAGE=paperetl --build-arg START=/scripts/start.sh .
docker run --name paperai --rm -it paperai
Os seguintes notebooks e aplicativos demonstram os recursos fornecidos pelo paperai.
Caderno | Descrição | |
---|---|---|
Apresentando o paperai | Visão geral da funcionalidade fornecida pelo paperai |
Aplicativo | Descrição |
---|---|
Procurar | Pesquise um índice de paperai. Defina parâmetros de consulta, execute pesquisas e exiba resultados. |
paperai indexa bancos de dados construídos anteriormente com paperetl. A seguir mostramos como criar um novo índice paperai.
(Opcional) Crie um arquivo index.yml
paperai usa a configuração de embeddings txtai padrão quando não especificada. Alternativamente, um arquivo index.yml pode ser especificado que usa todas as mesmas opções de uma instância de embeddings txtai. Consulte a documentação do txtai para saber mais sobre as opções possíveis. Um exemplo simples é mostrado abaixo.
path: sentence-transformers/all-MiniLM-L6-v2
content: True
Construir índice de incorporações
python -m paperai.index <path to input data> <optional index configuration>
O processo paperai.index requer um caminho de dados de entrada e, opcionalmente, requer configuração de índice. Esta configuração pode ser um caminho de modelo vetorial ou um arquivo de configuração index.yml.
A maneira mais rápida de executar consultas é iniciar um shell paperai
paperai <path to model directory>
Um prompt aparecerá. As consultas podem ser digitadas diretamente no console.
Os relatórios suportam a geração de resultados em vários formatos. Um exemplo de chamada de relatório:
python -m paperai.report report.yml 50 md <path to model directory>
Os seguintes formatos de relatório são suportados:
No exemplo acima, será criado um arquivo chamado report.md. Exemplos de arquivos de configuração de relatório podem ser encontrados aqui.
paperai é uma combinação de um índice de embeddings txtai e um banco de dados SQLite com os artigos. Cada artigo é analisado em frases e armazenado no SQLite junto com os metadados do artigo. Os embeddings são construídos em todo o corpus.
Existem vários pontos de entrada para interagir com o modelo.