Skip to main content
logo

factgenie

Pytest PyPI slack Code style: black Github stars

Annotate LLM outputs with a lightweight, self-hosted web application 🌈

factgenie

📢 News

  • 2025-03-06 - Release 1.1.0 is out and comes with many significant improvements! See the 👉️ changelog.
  • 2024-11-13 - We released version 1.0.1: our first official release! 🎉

👉️ How can factgenie help you?

Outputs from large language models (LLMs) may contain errors: semantic, factual, and lexical.

With factgenie, you can have the error spans annotated:

  • From LLMs through an API.
  • From humans through a crowdsourcing service.

Factgenie can provide you:

  1. A user-friendly website for collecting annotations from human crowdworkers.
  2. API calls for collecting equivalent annotations from LLM-based evaluators.
  3. A visualization interface for visualizing the data and inspecting the annotated outputs.

What does factgenie not help with is collecting the data (we assume that you already have these), starting the crowdsourcing campaign (for that, you need to use a service such as Prolific.com) or running the LLM evaluators (for that, you need a local framework such as Ollama or a proprietary API).

🏃 Quickstart

Make sure you have Python >=3.9 installed.

If you want to quickly try out factgenie, you can install the package from PyPI:

pip install factgenie

However, the recommended approach for using factgenie is using an editable package:

git clone https://github.com/ufal/factgenie.git
cd factgenie
pip install -e .[dev,deploy]

This approach will allow you to manually modify configuration files and write your own data classes.

After installing factgenie, use the following command to run the server on your local computer:

factgenie run --host=127.0.0.1 --port 8890

More information on how to set up factgenie is on Github wiki.

💡 Usage guide

See the following wiki pages that that will guide you through various use-cases of factgenie:

Topic Description
🔧 Setup How to install factgenie.
🗂️ Data Management How to manage datasets and model outputs.
🤖 LLM Annotations How to annotate outputs using LLMs.
👥 Crowdsourcing Annotations How to annotate outputs using human crowdworkers.
✍️ Generating Outputs How to generate outputs using LLMs.
📊 Analyzing Annotations How to obtain statistics on collected annotations.
💻 Command Line Interface How to use factgenie command line interface.
🌱 Contributing How to contribute to factgenie.

🔥 Tutorials

We also provide step-by-step walkthroughs showing how to employ factgenie on the dataset from the Shared Task in Evaluating Semantic Accuracy:

Tutorial Description
🏀 #1: Importing a custom dataset Loading the basketball statistics and model-generated basketball reports into the web interface.
💬 #2: Generating outputs Using Llama 3.1 with Ollama for generating basketball reports.
📊 #3: Customizing data visualization Manually creating a custom dataset class for better data visualization.
🤖 #4: Annotating outputs with an LLM Using GPT-4o for annotating errors in the basketball reports.
👨‍💼 #5: Annotating outputs with human annotators Using human annotators for annotating errors in the basketball reports.

🔊 Join us on Slack

If you want to get a quick feedback or actively participate in development of factgenie, join our public Slack workspace:

Join us on Slack

📸 Try a public preview

We used factgenie for our related research project. We host the outputs from the project using a public instance of factgenie.

👉️ You can access the preview here.

💬 Cite us

Our paper was published at INLG 2024 System Demonstrations!

You can also find the paper on arXiv.

For citing us, please use the following BibTeX entry:

@inproceedings{kasner2024factgenie,
    title = "factgenie: A Framework for Span-based Evaluation of Generated Texts",
    author = "Kasner, Zden{\v{e}}k  and
      Platek, Ondrej  and
      Schmidtova, Patricia  and
      Balloccu, Simone  and
      Dusek, Ondrej",
    editor = "Mahamood, Saad  and
      Minh, Nguyen Le  and
      Ippolito, Daphne",
    booktitle = "Proceedings of the 17th International Natural Language Generation Conference: System Demonstrations",
    year = "2024",
    address = "Tokyo, Japan",
    publisher = "Association for Computational Linguistics",
    url = "https://aclanthology.org/2024.inlg-demos.5",
    pages = "13--15",
}

Acknowledgements

The authors acknowledge the support of the National Recovery Plan funded project MPO 60273/24/21300/21000 CEDMO 2.0 NPO.

This work was co-funded by the European Union (ERC, NG-NLG, 101039303).

erc-logo

Metadata

Release files for factgenie 1.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for factgenie 1.2.1
File Size Uploaded
factgenie-1.2.1.tar.gz 3.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for factgenie 1.2.1
File Interpreter ABI Platform
factgenie-1.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 6.5 MB

Release files / factgenie-1.2.1.tar.gz

Download URL factgenie-1.2.1.tar.gz
Size 3.2 MB
Tags Source
SHA-256 checksum
How to use checksums
8d947103545989a1bc8e0e3c3bde9b38572690f50383554d167d5b2d9521e932
BLAKE2b-256 checksum
How to use checksums
dd6e3598da65ab607563f1e9fa7fa64fa066b6f92572abd4b85f59ae702dfd4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release files / factgenie-1.2.1-py3-none-any.whl

Download URL factgenie-1.2.1-py3-none-any.whl
Size 3.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
eb24207a40248fc9b2a9616161d321c442a4bde221906fd6e99bf5912e87c392
BLAKE2b-256 checksum
How to use checksums
df12cb2501faadc157b462a9cb0e419d6e3f92cfb8e077b54505e1a7db75552f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

1.2.1 This release

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page