yanagih / primeqa-20220918

The prime repository for state-of-the-art Multilingual Question Answering research and development.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PrimeQA

The prime repository for state-of-the-art Multilingual and Multimedia Question Answering research and development.

Build Status LICENSE|Apache2.0

PrimeQA is a public open source repository that enables researchers and developers to train state-of-the-art models for question answering (QA). By using PrimeQA, a researcher can replicate the experiments outlined in a paper published in the latest NLP conference while also enjoying the capability to download pre-trained models (from an online repository) and run them on their own custom data. PrimeQA is built on top of the Transformers toolkit and uses datasets and models that are directly downloadable.

The models within PrimeQA supports End-to-end Question Answering. PrimeQA answers questions via

Some examples of models (applicable on benchmark datasets) supported are :

Getting Started

Installation

# cd to project root

# If you want to run on GPU make sure to install torch appropriately

# E.g. for torch 1.11 + CUDA 11.3:
pip install 'torch~=1.11.0' --extra-index-url https://download.pytorch.org/whl/cu113

# Install as editable (-e) or non-editable using pip, with extras (e.g. tests) as desired
# Example installation commands:

# Minimal install (non-editable)
pip install .

# Full install (editable)
pip install -e .[all]

Please note that dependencies (specified in setup.py) are pinned to provide a stable experience. When installing from source these can be modified, however this is not officially supported.

JAVA requirements

Java 11 is required for BM25 retrieval.

Download Java 11 package from https://jdk.java.net/archive/ and uncompress

Set JAVA_HOME:

export JAVA_HOME=<jdk-dir>
export PATH=$JAVA_HOME/bin:$PATH

Learn more

Section Description
Documentation TODO: Full API documentation and tutorials
Quick tour: Entry Points for PrimeQA Different entry points for PrimeQA: Information Retrieval, Reading Comprehension, TableQA and Question Generation
Tutorials: Jupyter Notebooks Notebooks to get started on QA tasks
Examples: Applying PrimeQA on various QA tasks Example scripts for fine-tuning PrimeQA models on a range of QA tasks
Model sharing and uploading Upload and share your fine-tuned models with the community

Unit Tests

To run the unit tests you first need to install PrimeQA. Make sure to install with the [tests] or [all] extras from pip.

From there you can run the tests via pytest, for example:

pytest --cov PrimeQA --cov-config .coveragerc tests/

For more information, see:

About

The prime repository for state-of-the-art Multilingual Question Answering research and development.

License:Apache License 2.0


Languages

Language:Jupyter Notebook 52.3%Language:Python 46.5%Language:C++ 1.0%Language:Cuda 0.2%