Helping humans ride the GenAI evaluation wave
Project description
GLIDE
Generated Label Inference & Debiasing Engine
🧭 What is GLIDE?
GLIDE is a Python library for rigorous evaluation of GenAI systems using hybrid human/proxy annotations.
GLIDE implements methods from the field of prediction-powered inference — the science of system evaluation that combines a small set of labeled data with a large set of proxy-labeled data to produce valid, debiased estimates. See the implemented algorithms below.
🤔 Why GLIDE?
- 🤖 GenAI applications are everywhere — and imperfect. Deployed systems make mistakes, and measuring how often matters.
- ⚖️ LLM-as-judge is biased. Proxy evaluators (models, heuristics) are cheap but systematically over- or under-estimate true performance.
- 🧑 Rigorous evaluation requires a human in the loop. Ground-truth labels from humans are expensive, so only a small subset is feasible.
- 📐 GLIDE bridges the gap. It combines a small set of human annotations with a large set of proxy predictions to produce statistically valid metrics — correcting proxy bias without requiring full human labeling.
⚡ Quick Start
Install the package with your favorite package manager :
uv add glide-py
or
pip install glide-py
And look at our practical quickstart.
📚 Documentation
Explore the full documentation — from practical tutorials and user guides to scientific deep dives into the methods behind GLIDE.
🤝 Contributing
Contributions are welcome! Please read the contributing guide for setup instructions, an architectural overview, and the checklist to follow before opening a pull request. Feel free to open an issue to report a bug or suggest a feature.
🔢 Versioning
This project follows Semantic Versioning (SemVer): MAJOR.MINOR.PATCH.
📦 Dependency Support
This project follows SPEC 0 for dependency support windows.
📄 License & Citation
This project is licensed under the Apache 2.0 License.
If you use GLIDE in your work, please cite us using the "Cite this repository" button on the GitHub repository page.
📚 Implemented Algorithms
| Name | Class | Reference Paper(s) | Original Implementation |
|---|---|---|---|
| Prediction-Powered Inference | estimators.PPIMeanEstimator (with power_tuning=False) |
[1] | Link |
| PPI++ | estimators.PPIMeanEstimator |
[2] | Link |
| Stratified Prediction-Powered Inference | estimators.StratifiedPPIMeanEstimator |
[3] | — |
| Clustered Prediction-Powered Inference | estimators.ClusteredPPIMeanEstimator |
— | Link |
| Multi-Proxy Prediction-Powered Inference | estimators.MultiPPIMeanEstimator |
[8] | Link |
| Stratified Sampling | samplers.StratifiedSampler |
[4] | Link |
| Active Statistical Inference | estimators.ASIMeanEstimator |
[5], [6] | Link |
| Active Sampling | samplers.ActiveSampler |
[5], [6] | Link |
| Predict-Then-Debias | estimators.PTDMeanEstimator |
[7] | Link |
| Stratified Predict-Then-Debias | estimators.StratifiedPTDMeanEstimator |
[7] | Link |
| Clustered Predict-Then-Debias | estimators.ClusteredPTDMeanEstimator |
[7] | Link |
| IPW Predict-Then-Debias | estimators.IPWPTDMeanEstimator |
[7] | Link |
📖 References
[1] Angelopoulos, Anastasios N., Stephen Bates, Clara Fannjiang, Michael I. Jordan, and Tijana Zrnic. "Prediction-powered inference." Science 382, no. 6671 (2023): 669-674.
[2] Angelopoulos, Anastasios N., John C. Duchi, and Tijana Zrnic. "PPI++: Efficient prediction-powered inference." arXiv preprint arXiv:2311.01453 (2023).
[3] Fisch, Adam, Joshua Maynez, R. Alex Hofer, Bhuwan Dhingra, Amir Globerson, and William W. Cohen. "Stratified prediction-powered inference for effective hybrid evaluation of language models." Advances in Neural Information Processing Systems 37 (2024): 111489-111514.
[4] Fogliato, Riccardo, Pratik Patil, Mathew Monfort, and Pietro Perona. "A framework for efficient model evaluation through stratification, sampling, and estimation." In European Conference on Computer Vision, pp. 140-158. Cham: Springer Nature Switzerland, 2024.
[5] Zrnic, Tijana, and Emmanuel J. Candès. "Active statistical inference." In Proceedings of the 41st International Conference on Machine Learning, pp. 62993-63010. 2024.
[6] Gligorić, Kristina, Tijana Zrnic, Cinoo Lee, Emmanuel Candes, and Dan Jurafsky. "Can unconfident LLM annotations be used for confident conclusions?" In Proceedings of the 2025 Conference of the Nations of the Americas Chapter of the Association for Computational Linguistics: Human Language Technologies (Volume 1: Long Papers), pp. 3514-3533. 2025.
[7] Kluger, Dan M., Kerri Lu, Tijana Zrnic, Sherrie Wang, and Stephen Bates. "Prediction-powered inference with imputed covariates and nonuniform sampling." arXiv preprint arXiv:2501.18577 (2025).
[8] Shan, Jiawei, Zhifeng Chen, Yiming Dong, Yazhen Wang, and Jiwei Zhao. "SADA: Safe and Adaptive Aggregation of Multiple Black-Box Predictions in Semi-Supervised Learning." arXiv preprint arXiv:2509.21707 (2025)..
📬 Stay Updated
Follow our LinkedIn newsletter for updates on GLIDE and GenAI evaluation.
🏛️ Affiliation
Developed at Emerton Data.
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 glide_py-0.8.0.tar.gz.
File metadata
- Download URL: glide_py-0.8.0.tar.gz
- Upload date:
- Size: 3.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21a7d73a63d83fbda78fb46da4ee28541c527f8941133e174a0e382150f2cf61
|
|
| MD5 |
0404d72bc45269b721225600cf18a070
|
|
| BLAKE2b-256 |
bf1dd2adf63624c7d747739e97a2a517bcf639d9e6c21be48ac9b6af813f3e08
|
Provenance
The following attestation bundles were made for glide_py-0.8.0.tar.gz:
Publisher:
release.yml on EmertonData/glide
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
glide_py-0.8.0.tar.gz -
Subject digest:
21a7d73a63d83fbda78fb46da4ee28541c527f8941133e174a0e382150f2cf61 - Sigstore transparency entry: 1967285053
- Sigstore integration time:
-
Permalink:
EmertonData/glide@2350409c90cdfb695e41a30f8db38673b7ac94e5 -
Branch / Tag:
refs/tags/v0.8.0 - Owner: https://github.com/EmertonData
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@2350409c90cdfb695e41a30f8db38673b7ac94e5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file glide_py-0.8.0-py3-none-any.whl.
File metadata
- Download URL: glide_py-0.8.0-py3-none-any.whl
- Upload date:
- Size: 82.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dff02f4bf29b7f021e6f2045c757333e1614a5c0eaf83e91cfb0b2cf5f90743d
|
|
| MD5 |
b245138cf85b71d3c70385f16a7fee2e
|
|
| BLAKE2b-256 |
f2862146e02a945c7657141c59282630b97aed16dce1cefdd1b4b12578bc9cfe
|
Provenance
The following attestation bundles were made for glide_py-0.8.0-py3-none-any.whl:
Publisher:
release.yml on EmertonData/glide
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
glide_py-0.8.0-py3-none-any.whl -
Subject digest:
dff02f4bf29b7f021e6f2045c757333e1614a5c0eaf83e91cfb0b2cf5f90743d - Sigstore transparency entry: 1967285121
- Sigstore integration time:
-
Permalink:
EmertonData/glide@2350409c90cdfb695e41a30f8db38673b7ac94e5 -
Branch / Tag:
refs/tags/v0.8.0 - Owner: https://github.com/EmertonData
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@2350409c90cdfb695e41a30f8db38673b7ac94e5 -
Trigger Event:
push
-
Statement type: