Skip to main content

A Benchmark for Complex Heterogeneous Question answering

Project description

BCQA (Benchmarking Complex QA)

BCQA is a benchmark for a wide range of complex Qa tasks. It also aims to provide a easy to use framework for evaluating retrieval and reasoning approaches for answering complex multi-hop questions.

Setup

  1. Clone the repo
  2. Create a conda environment conda create -n bcqa
  3. pip install -e .

Running Evaluation

The evaluation scripts for retreival and LLMs are in the evaluation folder

For instance to run dpr retreival for Wikimultihopqa run
python3 evaluation/wikimultihop/run_dpr_inference.py

Before running the above script make sure you have configured the correct paths for the data and corpus files in evaluation/config.ini

Example: wikimultihopqa = /home/bcqa/BCQA/2wikimultihopQA
wikimultihopqa-corpus = /home/bcqa/BCQA/wiki_musique_corpus.json

Coding Practices

Auto-formatting code

  1. Install black: pip install black or conda install black
  2. In your IDE: Enable formatting on save.
  3. Install isort: pip install isort or conda install isort
  4. In your IDE: Enable sorting import on save.

In VS Code, you can do this using the following config:

{
    "editor.formatOnSave": true,
    "editor.codeActionsOnSave": {
        "source.organizeImports": true
    }
}

Type hints

Use type hints for everything! No exceptions.

Docstrings

Write a docstring for every function (except the main function). We use the Google format. In VS Code, you can use autoDocstring.

Example

def sum(a: float, b: float) -> float:
    """Compute the sum of a and b.

    Args:
        a (float): First number.
        b (float): Second number.
    
    Returns:
        float: The sum of a and b.
    """

    return a + b

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bcqa-1.1.4.tar.gz (92.6 kB view hashes)

Uploaded Source

Built Distribution

bcqa-1.1.4-py3-none-any.whl (144.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page