nemoguardrails.llm.frameworks.registry

View as Markdown

Module Contents

Functions

Data

_LAZY_FRAMEWORKS

_default_framework

_frameworks

log

API

nemoguardrails.llm.frameworks.registry._areset_frameworks() -> None
async
nemoguardrails.llm.frameworks.registry._reset_frameworks() -> None
nemoguardrails.llm.frameworks.registry.get_default_framework() -> str
nemoguardrails.llm.frameworks.registry.get_framework(
name: str
) -> nemoguardrails.types.LLMFramework
nemoguardrails.llm.frameworks.registry.register_framework(
name: str,
framework: nemoguardrails.types.LLMFramework
) -> None

Register an LLMFramework instance under name.

Validates two invariants before storing the instance:

  1. The object structurally matches the LLMFramework Protocol (create_model, register_provider, get_provider_names, reset).
  2. Its reset attribute is an async coroutine function. The registry awaits it directly during shutdown / test teardown.

Raises:

  • ValueError: a framework is already registered under name.
  • TypeError: framework does not implement the LLMFramework Protocol, or its reset is not an async coroutine function.
nemoguardrails.llm.frameworks.registry.set_default_framework(
name: str
) -> None
nemoguardrails.llm.frameworks.registry._LAZY_FRAMEWORKS = {'langchain', 'default'}
nemoguardrails.llm.frameworks.registry._default_framework: str = os.environ.get('NEMOGUARDRAILS_LLM_FRAMEWORK', 'default')
nemoguardrails.llm.frameworks.registry._frameworks: Dict[str, LLMFramework] = {}
nemoguardrails.llm.frameworks.registry.log = logging.getLogger(__name__)