LitQA environment implemented with aviary
Project description
aviary.litqa
LitQA2 environment implemented with aviary, allowing agents to perform question answering on the LitQA dataset.
LitQA (now legacy) is a dataset composed from 50 multiple-choice questions from recent literature. It is designed to test the LLM's the ability to retrieve information outside of the pre-training corpus. To ensure the questions are not in the pre-training corpus, the questions were collected from scientific papers published after September 2021 -- cut-off date of GPT-4's training data.
LitQA2 is part of the LAB-Bench dataset. LitQA2 contains 248 multiple-choice questions from the literature and was created ensuring that the questions cannot be answered by recalling from the pre-training corpus only. It considered scientific paper published within 36 months from the data of its publication. Therefore, LitQA2 is considered a scientific RAG dataset.
Installation
To install the LitQA environment, run:
pip install 'fhaviary[litqa]'
Usage
In litqa/env.py, you will find:
GradablePaperQAEnvironment: an environment that can grade answers given an evaluation function.
And in litqa/task.py, you will find:
LitQAv2TaskDataset: a task dataset designed to pull LitQA v2 from Hugging Face,
and create one GradablePaperQAEnvironment per question
Here is an example of how to use them:
import os
from ldp.agent import SimpleAgent
from ldp.alg import Evaluator, EvaluatorConfig, MeanMetricsCallback
from paperqa import Settings
from aviary.env import TaskDataset
from aviary.envs.litqa.task import TASK_DATASET_NAME
async def evaluate(folder_of_litqa_v2_papers: str | os.PathLike) -> None:
settings = Settings(paper_directory=folder_of_litqa_v2_papers)
dataset = TaskDataset.from_name(TASK_DATASET_NAME, settings=settings)
metrics_callback = MeanMetricsCallback(eval_dataset=dataset)
evaluator = Evaluator(
config=EvaluatorConfig(batch_size=3),
agent=SimpleAgent(),
dataset=dataset,
callbacks=[metrics_callback],
)
await evaluator.evaluate()
print(metrics_callback.eval_means)
References
[1] Lála et al. PaperQA: Retrieval-Augmented Generative Agent for Scientific Research. ArXiv:2312.07559, 2023.
[2] Skarlinski et al. Language agents achieve superhuman synthesis of scientific knowledge. ArXiv:2409.13740, 2024.
[3] Laurent et al. LAB-Bench: Measuring Capabilities of Language Models for Biology Research. ArXiv:2407.10362, 2024.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aviary_litqa-0.27.0.tar.gz.
File metadata
- Download URL: aviary_litqa-0.27.0.tar.gz
- Upload date:
- Size: 1.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ebd2a059046d37453f1630112188d87850e259f1975b8f476b03960db6e9f807
|
|
| MD5 |
d38e0f37dd8f0983dce1ac80e9e99732
|
|
| BLAKE2b-256 |
d6fa80ce6c738019ca83573a610e85f7b6c127312b140bbcb00dd186b3fe85d4
|
File details
Details for the file aviary_litqa-0.27.0-py3-none-any.whl.
File metadata
- Download URL: aviary_litqa-0.27.0-py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4720133156382665ba216aea9fb33537cc34e03e301c7e98ec080819ee16bc4
|
|
| MD5 |
e58e992f65fe7a75363fdd3bcab12a05
|
|
| BLAKE2b-256 |
ba3264166aec231a8ff669e2ab88b309356e7fb18d4e1cabff2dfe2c1692da01
|