Skip to main content

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:

  1. It verifies a CSOAI signed evidence bundle offline against a pinned DID document. The bundle is made of batch.json, batch.signed.json, events.jsonl and one event_id.
  2. 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)

Source distribution for nat-csoai-evidence 0.1.0
File Size Uploaded
nat_csoai_evidence-0.1.0.tar.gz 13.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nat-csoai-evidence 0.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.0 This release

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