Add your description here
Project description
eval-judge
LLM-as-a-judge scoring for AI systems.
Installation
First, install:
pip install eval-judge
or if using uv:
uv add eval-judge
Then, create a .env and add your OPENAI_API_KEY to it.
Example
First, set up the essentials:
# First, create a list of EvalDimensions you want to score on.
my_eval_dimensions = [
EvalDimension(
key="humor",
title="Humor Level",
definition=(
"Evaluates how funny the agent is"
),
penalize=[
"Boring or corny jokes"
],
reward=[
"Unpredictability"
],
anchors=[
ScoreAnchor(
score=1,
description="Agent is unfunny",
),
ScoreAnchor(
score=2,
description="Agent is not very funny",
),
ScoreAnchor(
score=3,
description="Agent is not funny nor unfunny",
),
ScoreAnchor(
score=4,
description="Agent is moderately funny",
),
ScoreAnchor(
score=5,
description="Agent is very funny",
),
],
),
# more dimensions...
]
# Then, create your config
config = JudgeConfig(
model="gpt-5.6-luna",
effort="medium",
max_output_tokens=3000,
dimensions=my_eval_dimensions
)
# Then, create a list of ContextMessage, injecting relevant context yourself.
my_messages = [
ContextMessage(
message_id="my_id_123",
context="At the barbecue to a guest in line",
content="Why did the LLM go to the gym? For weight training!"
),
# more messages...
]
For regular users (recommended):
# Create Judge based off config
judge = Judge(config=config)
# Get results; may take a while due to async OpenAI batching
results = judge.evaluate_batch(messages=my_messages)
For advanced users:
# Then build your requests batch
jsonl_path = build_requests_batch(
messages=my_messages,
output_path="path/to/jsonl", # where you want to write the JSONL
config=config
)
# Then, submit your batch
batch_id = submit_batch(jsonl_path=jsonl_path)
# Blocks until OpenAI batch results available and saves results to disk
batch_output_path = "path/to/batch/output" # where you want to write the raw batch output
# Also returns raw JSONL output directly
raw_jsonl = retrieve_batch(batch_id=batch_id, output_path=batch_output_path)
# Extract relevant information from full OpenAI batch results
results = load_and_parse_results(input_path=batch_output_path)
Both approaches produce the same result structure. Enjoy!
License
Apache License 2.0 - 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 eval_judge-0.1.0.tar.gz.
File metadata
- Download URL: eval_judge-0.1.0.tar.gz
- Upload date:
- Size: 9.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fd4dae83b1965a87c9f671065e322982bfb7de262407ad20ef11a64ca31316a
|
|
| MD5 |
9e9f18ec8e391f9536476c2b322d265f
|
|
| BLAKE2b-256 |
89f184c1829a77a7062879ae54c724d03e1ff61744ce47b59c53fb51ffcd685a
|
File details
Details for the file eval_judge-0.1.0-py3-none-any.whl.
File metadata
- Download URL: eval_judge-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e28b2030128ff375dc0b37d6d0fe3a8d5a450cf4598ef86c97b24db8e8f4bac
|
|
| MD5 |
3ac232521bc0f1c18f8914e0030804c6
|
|
| BLAKE2b-256 |
b962c6888f462362e92777c9d919f2224f57d7dfc76276e2be19e6bec47228ae
|