gen_ai_hub.orchestration_v2.models.content_filter module

Content filter models for various providers.

class gen_ai_hub.orchestration_v2.models.content_filter.ContentFilterProvider(*values)

Bases: str, Enum

Enumerates supported content filter providers.

This enum defines the available content filtering services that can be used for content moderation tasks. Each enum value represents a specific provider.

Values:

AZURE: Represents the Azure Content Safety service.

LLAMA_GUARD_3_8B: Represents the Llama Guard 3 based on Llama-3.1-8B pretrained model.

AZURE = 'azure_content_safety'
LLAMA_GUARD_3_8B = 'llama_guard_3_8b'
class gen_ai_hub.orchestration_v2.models.content_filter.ContentFilter(*, type: ContentFilterProvider, config: AzureContentFilter | LlamaGuard38bFilter | None = None)

Bases: ABCBaseModel

Base class for content filtering configurations.

This class provides a generic structure for defining content filters from various providers. It allows for specifying the provider and associated configuration parameters.

Parameters:
  • type – The name of the content filter provider.

  • config – A dictionary containing the configuration parameters for the content filter.

type_: ContentFilterProvider
config: AzureContentFilter | LlamaGuard38bFilter | None
model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': False}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class gen_ai_hub.orchestration_v2.models.content_filter.LlamaGuard38bFilterConfig(*, type: ContentFilterProvider = ContentFilterProvider.LLAMA_GUARD_3_8B, config: LlamaGuard38bFilter)

Bases: ContentFilter

type_: ContentFilterProvider
config: LlamaGuard38bFilter
model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': False}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class gen_ai_hub.orchestration_v2.models.content_filter.AzureContentSafetyInputFilterConfig(*, type: ContentFilterProvider = ContentFilterProvider.AZURE, config: AzureContentSafetyInput | None = None)

Bases: ContentFilter

type_: ContentFilterProvider
config: AzureContentSafetyInput | None
model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': False}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class gen_ai_hub.orchestration_v2.models.content_filter.AzureContentSafetyOutputFilterConfig(*, type: ContentFilterProvider = ContentFilterProvider.AZURE, config: AzureContentSafetyOutput | None = None)

Bases: ContentFilter

type_: ContentFilterProvider
config: AzureContentSafetyOutput | None
model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': False}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class gen_ai_hub.orchestration_v2.models.content_filter.FilteringStreamOptions(*, overlap: Annotated[int | None, Ge(ge=0), Le(le=10000)] = 0)

Bases: ABCBaseModel

overlap: Number of characters that should be additionally sent to content filtering services from previous chunks as additional context.

overlap: int | None
model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': False}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].