Codebase for the BIT.UA team's (University of Aveiro) participation in the 14th edition of the BioASQ Task B challenge on biomedical question answering.
This repository is the official implementation accompanying the paper:
André Ribeiro, Rúben Garrido, Alexander Christiansen, Richard A. A. Jonker, Sérgio Matos. "BIT.UA at BioASQ 14B: Modular Retrieval with pg_textsearch and Qdrant, and Agent-Based Answer Generation." CLEF 2026 Working Notes. arXiv:2609.04999
The pipeline tackles the primary BioASQ Task B phases through a modular architecture:
A hybrid multi-stage retrieval pipeline designed for scalable search and precise ranking over biomedical literature (PubMed):
pg_textsearch, enabling fast BM25 scoring and dynamic index updates directly inside the database.Addresses exact (Yes/No, Factoid, List) and ideal (Summary) answers using system-generated snippets (Phase A+) or gold-standard annotations (Phase B):
src/bioasq/phase_a/ - retrieval pipeline (BM25 + dense retrieval, reranking, query expansion).src/bioasq/phase_b/ - answer generation, including the agent quorum logic.src/bioasq/snippets/ - snippet extraction/generation.src/bioasq/common/ and src/bioasq/data/ - shared utilities and data handling.src/bioasq/cli.py - command-line entry point.compose.yaml, init.sql, qdrant_config.yaml - Docker Compose setup for the PostgreSQL and Qdrant services used for indexing/search.The project uses uv for Python dependency management (see pyproject.toml / uv.lock) and Docker Compose to run PostgreSQL (with pg_textsearch) and Qdrant.
uv sync.docker compose up -d.bioasq cliIf you use this code, please cite the associated paper:
@misc{ribeiro2026bituabioasq14bmodular,
title={BIT.UA at BioASQ 14B: Modular Retrieval with pg_textsearch and Qdrant, and Agent-Based Answer Generation},
author={André Ribeiro and Rúben Garrido and Alexander Christiansen and Richard A. A. Jonker and Sérgio Matos},
year={2026},
eprint={2609.04999},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2609.04999},
}
Codebase for the BIT.UA team's (University of Aveiro) participation in the 14th edition of the BioASQ Task B challenge on biomedical question answering.
This repository is the official implementation accompanying the paper:
André Ribeiro, Rúben Garrido, Alexander Christiansen, Richard A. A. Jonker, Sérgio Matos. "BIT.UA at BioASQ 14B: Modular Retrieval with pg_textsearch and Qdrant, and Agent-Based Answer Generation." CLEF 2026 Working Notes. arXiv:2609.04999
The pipeline tackles the primary BioASQ Task B phases through a modular architecture:
A hybrid multi-stage retrieval pipeline designed for scalable search and precise ranking over biomedical literature (PubMed):
pg_textsearch, enabling fast BM25 scoring and dynamic index updates directly inside the database.Addresses exact (Yes/No, Factoid, List) and ideal (Summary) answers using system-generated snippets (Phase A+) or gold-standard annotations (Phase B):
src/bioasq/phase_a/ - retrieval pipeline (BM25 + dense retrieval, reranking, query expansion).src/bioasq/phase_b/ - answer generation, including the agent quorum logic.src/bioasq/snippets/ - snippet extraction/generation.src/bioasq/common/ and src/bioasq/data/ - shared utilities and data handling.src/bioasq/cli.py - command-line entry point.compose.yaml, init.sql, qdrant_config.yaml - Docker Compose setup for the PostgreSQL and Qdrant services used for indexing/search.The project uses uv for Python dependency management (see pyproject.toml / uv.lock) and Docker Compose to run PostgreSQL (with pg_textsearch) and Qdrant.
uv sync.docker compose up -d.bioasq cliIf you use this code, please cite the associated paper:
@misc{ribeiro2026bituabioasq14bmodular,
title={BIT.UA at BioASQ 14B: Modular Retrieval with pg_textsearch and Qdrant, and Agent-Based Answer Generation},
author={André Ribeiro and Rúben Garrido and Alexander Christiansen and Richard A. A. Jonker and Sérgio Matos},
year={2026},
eprint={2609.04999},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2609.04999},
}