Alquimia Fair Forge library - Performance measurement for AI models and assistants
This project has been archived.
The maintainers of this project have marked this project as archived. No new releases are expected.
Project description
Fair Forge
Performance-measurement library for evaluating AI models and assistants
What is Fair Forge?
Fair Forge provides comprehensive metrics for evaluating AI systems:
- Toxicity - Detect toxic language patterns with DIDT fairness framework
- Bias - Analyze biases across protected attributes (gender, race, religion, etc.)
- Context - Assess how well responses align with provided context
- Conversational - Evaluate dialogue quality using Grice's maxims
- Humanity - Measure how natural responses are through emotional analysis
- BestOf - Tournament-style comparison to find the best response
- Agentic - Evaluate autonomous agent behavior and tool usage
Quick Start
# Install with pip
pip install alquimia-fair-forge
# Or install specific modules
pip install "alquimia-fair-forge[toxicity]"
pip install "alquimia-fair-forge[bias]"
pip install "alquimia-fair-forge[all]"
from fair_forge import Retriever, Dataset
from fair_forge.metrics.toxicity import Toxicity
class MyRetriever(Retriever):
def load_dataset(self) -> list[Dataset]:
# Load your dataset here
pass
metrics = Toxicity.run(MyRetriever, verbose=True)
Documentation
For complete documentation, guides, and API reference visit:
Contributing
Setup
# Clone and install dependencies
git clone https://github.com/Alquimia-ai/fair-forge.git
cd fair-forge
uv sync
# Install pre-commit hooks (required)
uv run pre-commit install --hook-type pre-commit --hook-type commit-msg
Pre-commit Hooks
This project uses pre-commit to enforce code quality and commit conventions. The following hooks run automatically:
| Hook | Stage | Purpose |
|---|---|---|
trailing-whitespace |
pre-commit | Remove trailing whitespace |
end-of-file-fixer |
pre-commit | Ensure files end with a newline |
check-yaml / check-toml |
pre-commit | Validate config files |
check-added-large-files |
pre-commit | Block files >1MB |
detect-private-key |
pre-commit | Prevent accidental secret commits |
ruff |
pre-commit | Lint and auto-fix Python code |
ruff-format |
pre-commit | Format Python code |
commitizen |
commit-msg | Enforce Conventional Commits format |
Commit Convention
All commits must follow the Conventional Commits specification, enforced by commitizen:
type(scope): description
Types: feat, fix, docs, style, refactor, perf, test, build, ci, chore
Scopes: metrics, runners, generators, storage, schemas, core, llm, guardians, deps
Examples:
feat(metrics): add agentic evaluation metric
fix(toxicity): handle empty batches
docs: update installation guide
test(runners): add integration tests
Claude Code Skills
This project includes Claude Code skills to automate common workflows. If you use Claude Code as your development tool, the following skills are available:
| Skill | Command | Description |
|---|---|---|
| Commit | /commit |
Analyzes staged changes and generates a properly formatted Conventional Commit message |
| Docs | /docs [type] [name] |
Generates Mintlify MDX documentation for new modules (e.g., /docs metric agentic) |
| Lambda | /fair-forge-lambda |
Scaffolds AWS Lambda deployment boilerplate for Fair-Forge modules |
License
MIT License - see LICENSE for details.
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 alquimia_fair_forge-1.2.0b6.tar.gz.
File metadata
- Download URL: alquimia_fair_forge-1.2.0b6.tar.gz
- Upload date:
- Size: 784.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b32c6634c544143047403c1347e65bc69f5ed187998d70eac70ee6a7851fd38b
|
|
| MD5 |
c0c60ac81f6f60c72f3fbf65d32d36c9
|
|
| BLAKE2b-256 |
53f853b15c3276562f82d4707d2bad974d52b7df4a88a9d26f8a0be8e02e1dd9
|
File details
Details for the file alquimia_fair_forge-1.2.0b6-py3-none-any.whl.
File metadata
- Download URL: alquimia_fair_forge-1.2.0b6-py3-none-any.whl
- Upload date:
- Size: 811.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4cb7a0a2fe44704dfc09b7f91b2560d1e715d13e857f38a4127e5cf0e511e8c
|
|
| MD5 |
ddcb8d08e9659f0a02742450f3f88106
|
|
| BLAKE2b-256 |
a5d6fe200cc637b916751466066e51ae9092bbe6f77881820f47b56a403fb998
|