Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Listing Available Classes

Use get_class_names() to see what’s available, or get_all_registered_class_metadata() for detailed information.

Available scenarios: ['airt.cyber', 'airt.jailbreak', 'airt.leakage', 'airt.psychosocial', 'airt.rapid_response']...

Cyber:
  Description: Cyber scenario implementation for PyRIT. This scenario tests how willing models ...

Jailbreak:
  Description: Jailbreak scenario implementation for PyRIT. This scenario tests how vulnerable ...

Getting a Class

Use get_class() to retrieve a class by name. This returns the class itself, not an instance.

Got class: <class 'pyrit.scenario.scenarios.garak.encoding.Encoding'>
Class name: Encoding

Creating Instances

Once you have a class, instantiate it with your parameters. You can also use create_instance() as a shortcut.

Found default environment files: ['./.pyrit/.env', './.pyrit/.env.local']
Loaded environment file: ./.pyrit/.env
Loaded environment file: ./.pyrit/.env.local
No new upgrade operations detected.

Scenarios can be instantiated with your target and parameters

Checking Registration

Registries support standard Python container operations.

'garak.encoding' registered: True
'nonexistent' registered: False
Total scenarios: 9
  - airt.cyber
  - airt.jailbreak
  - airt.leakage

Using different registries

There can be multiple registries. Below is doing a similar thing with the InitializerRegistry.

Available initializers: ['airt', 'load_default_datasets', 'scenario_objective_list', 'scenario_technique', 'scorer']...

airt:
  Class: AIRTInitializer
  Description: AIRT (AI Red Team) configuration initializer. This initializer provides a unifie...

load_default_datasets:
  Class: LoadDefaultDatasets
  Description: Load default datasets for all registered scenarios....