NeMo Auditor NeMo Platform SDK Resources
The NeMo Auditor plugin mounts a Python SDK surface on the nemo_platform client at client.auditor.
This page documents that surface: how to manage audit configurations and targets in the entity store, and how to run an audit in-process using the local execution path.
The CRUD methods exposed on client.auditor.configs and client.auditor.targets are 1:1 mirrors of the audit configuration and audit target lifecycle and use the same AuditConfig and AuditTarget pydantic schemas the entity store persists.
AuditorPluginResource
The AuditorPluginResource is the sync SDK object for working with the NeMo Auditor plugin.
It is accessed directly from a NeMoPlatform instance:
configs sub-resource
Five CRUD methods for AuditConfig entities. The full field reference is in Configuration Schema.
targets sub-resource
Five CRUD methods for AuditTarget entities. The full field reference is in Target Schema.
run() arguments
run() invokes garak locally, in-process, against a configured target.
The work happens entirely on the host running the SDK call — there is no remote job submission.
run() return value
run() returns a dict with the following keys:
The results dict can contain up to three keys, each present only if the corresponding file was produced:
report-jsonl— line-delimited JSON probe-by-probe report.report-html— rendered HTML summary.report-hitlog-jsonl— line-delimited JSON of every detected hit (failure).
Run an audit locally
Alternatively, pass inline AuditConfig and AuditTarget instances directly — useful for ad-hoc runs that should not be persisted:
AsyncAuditorPluginResource
The AsyncAuditorPluginResource provides the same surface for AsyncNeMoPlatform.
Async methods must be awaited.
AsyncAuditorPluginResource.run() and the async configs / targets sub-resource methods accept the same arguments as their sync counterparts above. Because the local execution path is synchronous (garak runs in a subprocess), the async run() dispatches the scheduler call through asyncio.to_thread so the caller’s event loop is not blocked.