pyrit.prompt_converter.NatoConverter#
- class NatoConverter[source]#
Bases:
PromptConverterConverts text into NATO phonetic alphabet representation.
This converter transforms standard text into NATO phonetic alphabet format, where each letter is replaced with its corresponding NATO phonetic code word (e.g., “A” becomes “Alfa”, “B” becomes “Bravo”). Only alphabetic characters are converted; non-alphabetic characters are ignored.
The NATO phonetic alphabet is the most widely used spelling alphabet, designed to improve clarity of voice communication. This converter can be used to test how AI systems handle phonetically encoded text, which can be used to obfuscate potentially harmful content.
Reference: https://en.wikipedia.org/wiki/NATO_phonetic_alphabet
Example
Input: “Hello” Output: “Hotel Echo Lima Lima Oscar”
Methods
__init__()Initialize the prompt converter.
convert_async(*, prompt[, input_type])Convert the given text into NATO phonetic alphabet representation.
convert_tokens_async(*, prompt[, ...])Convert substrings within a prompt that are enclosed by specified start and end tokens.
get_identifier()Return an identifier dictionary for the converter.
input_supported(input_type)Check if the input type is supported by the converter.
output_supported(output_type)Check if the output type is supported by the converter.
Attributes
Tuple of input modalities supported by this converter.
Tuple of output modalities supported by this converter.
supported_input_typesReturns a list of supported input types for the converter.
supported_output_typesReturns a list of supported output types for the converter.
- SUPPORTED_INPUT_TYPES: tuple[Literal['text', 'image_path', 'audio_path', 'video_path', 'binary_path', 'url', 'reasoning', 'error', 'function_call', 'tool_call', 'function_call_output'], ...] = ('text',)#
Tuple of input modalities supported by this converter. Subclasses must override this.
- SUPPORTED_OUTPUT_TYPES: tuple[Literal['text', 'image_path', 'audio_path', 'video_path', 'binary_path', 'url', 'reasoning', 'error', 'function_call', 'tool_call', 'function_call_output'], ...] = ('text',)#
Tuple of output modalities supported by this converter. Subclasses must override this.
- async convert_async(*, prompt: str, input_type: Literal['text', 'image_path', 'audio_path', 'video_path', 'binary_path', 'url', 'reasoning', 'error', 'function_call', 'tool_call', 'function_call_output'] = 'text') ConverterResult[source]#
Convert the given text into NATO phonetic alphabet representation.
- Parameters:
prompt (str) – The text to be converted to NATO phonetic alphabet.
input_type (PromptDataType, optional) – Type of input data. Defaults to “text”.
- Returns:
The text converted to NATO phonetic alphabet format.
- Return type:
- Raises:
ValueError – If the input type is not supported (only “text” is supported).