nat-csoai-evidence: NeMo Agent Toolkit evaluator for signed evidence
Apache-2.0. This is a nat.components plugin that registers the evaluator _type: csoai_evidence. For each dataset item it does two things:
- It verifies a CSOAI signed evidence bundle offline against a pinned DID document. The bundle is made of
batch.json,batch.signed.json,events.jsonland oneevent_id. - It reports that event's state word: CONSISTENT, DIVERGENT, PARTIAL, UNMEASURED, UNCHECKABLE or NOT_DISCRIMINATING.
If any byte of the bundle was changed, the result is INVALID. If the signing key is not pinned, the result is UNVERIFIABLE_KEY.
Install
pip install "nat-csoai-evidence[eval]" # nvidia-nat-core + nvidia-nat-eval[full] >= 1.9 (the [eval] extra brings what the nat eval command needs, incl. langchain-core, which nvidia-nat-eval 1.9.0 imports but does not declare)
curl -o did.json https://csoai.org/.well-known/did.json # pin the issuer's keys
In your NAT eval config:
eval:
evaluators:
evidence:
_type: csoai_evidence
did_json: ./did.json
nat eval --config_file eval.yml --skip_workflow
Each dataset item's generated answer is a signed-evidence bundle. The source distribution carries a five-item fixture set (fixtures/), signed with a published test key so it attests nothing. Each item returns its expected result: CONSISTENT, DIVERGENT, UNMEASURED, INVALID (a one-word edit to the events), UNVERIFIABLE_KEY (a key that is not pinned).
No score. Every item's score is None, so average_score is None. The evaluator's reasoning carries the OTel gen_ai.evaluation.result attributes, and score.value is absent unless a number was actually measured.
Errors are not zeros. NAT's BaseEvaluator records an evaluator error as a score of 0.0. This plugin does not subclass it. An error here is reported as UNCHECKABLE with no score.
Limit. VALID shows who signed these bytes. It does not show that any claim inside is true.
This plugin is our code. NVIDIA holds the toolkit; this is not an NVIDIA integration and no NVIDIA team has reviewed it. More: https://councilof.ai/connect/
Metadata
Release files for nat-csoai-evidence 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nat_csoai_evidence-0.1.0.tar.gz | 13.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nat_csoai_evidence-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.1 kB
Release files / nat_csoai_evidence-0.1.0.tar.gz
| Download URL | nat_csoai_evidence-0.1.0.tar.gz |
|---|---|
| Size | 13.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a6fa92d781f5e9547c34196d6ac48416293a870459b220acd088601c3dace10a
|
|
BLAKE2b-256 checksum How to use checksums |
b53e0af070f6008e7814ad4768a3ed719c13b3c4df26e28cd02ae1064842fdb5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.10
|
Release files / nat_csoai_evidence-0.1.0-py3-none-any.whl
| Download URL | nat_csoai_evidence-0.1.0-py3-none-any.whl |
|---|---|
| Size | 10.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e356ce5ea8bbe365308bdb9f99acde74acf6deead9fec819dab9a9f721e87957
|
|
BLAKE2b-256 checksum How to use checksums |
491f23cd123824d8979b79ffb90f6daeb2504d58a944abf98993a1635dd198b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.10
|