garak.generators.openai

OpenAI API Compatible generators

Supports chat + chatcompletion models. Put your API key in an environment variable documented in the selected generator. Put the name of the model you want in either the –target_name command line parameter, or pass it as an argument to the Generator constructor.

Sources:

class OpenAICompatible(name='', config_root=<module 'garak._config' from '/home/docs/checkouts/readthedocs.org/user_builds/garak/checkouts/latest/docs/source/../../garak/_config.py'>)Source

Bases: Generator

Generator base class for OpenAI compatible text2text restful API. Implements shared initialization and execution methods.

Configurable parameters:

DEFAULT_PARAMS contents:

  • max_tokens = 150

  • temperature = 0.7

  • top_k = None

  • context_len = None

  • skip_seq_start = None

  • skip_seq_end = None

  • top_p = 1.0

  • uri = 'http://localhost:8000/v1/'

  • frequency_penalty = 0.0

  • presence_penalty = 0.0

  • seed = None

  • stop = ['#', ';']

  • suppressed_params = set()

  • retry_json = True

  • extra_params = {}

Default values are listed

See also Configuring garak for how to set these values.

Other attributes:

ENV_VAR = 'OPENAICOMPATIBLE_API_KEY'
active = True
generator_family_name = 'OpenAICompatible'
supports_multiple_generations = False
class OpenAIGenerator(name='', config_root=<module 'garak._config' from '/home/docs/checkouts/readthedocs.org/user_builds/garak/checkouts/latest/docs/source/../../garak/_config.py'>)Source

Bases: OpenAICompatible

Generator wrapper for OpenAI text2text models. Expects API key in the OPENAI_API_KEY environment variable

Configurable parameters:

DEFAULT_PARAMS contents:

  • max_tokens = 150

  • temperature = 0.7

  • top_k = None

  • context_len = None

  • skip_seq_start = None

  • skip_seq_end = None

  • top_p = 1.0

  • frequency_penalty = 0.0

  • presence_penalty = 0.0

  • seed = None

  • stop = ['#', ';']

  • suppressed_params = set()

  • retry_json = True

  • extra_params = {}

Default values are listed

See also Configuring garak for how to set these values.

Other attributes:

ENV_VAR = 'OPENAI_API_KEY'
active = True
generator_family_name = 'OpenAI'
supports_multiple_generations = True
class OpenAIReasoningGenerator(name='', config_root=<module 'garak._config' from '/home/docs/checkouts/readthedocs.org/user_builds/garak/checkouts/latest/docs/source/../../garak/_config.py'>)Source

Bases: OpenAIGenerator

Generator wrapper for OpenAI reasoning models, e.g. o1 family.

Configurable parameters:

DEFAULT_PARAMS contents:

  • max_tokens = 150

  • temperature = None

  • top_k = None

  • context_len = None

  • skip_seq_start = None

  • skip_seq_end = None

  • top_p = 1.0

  • frequency_penalty = 0.0

  • presence_penalty = 0.0

  • seed = None

  • stop = ['#', ';']

  • suppressed_params = {'max_tokens', 'stop', 'temperature', 'n'}

  • retry_json = True

  • max_completion_tokens = 1500

Default values are listed

See also Configuring garak for how to set these values.

Other attributes:

supports_multiple_generations = False