aiq.cli.type_registry#

Attributes#

Classes#

RegisteredInfo

RegisteredTelemetryExporter

RegisteredLoggingMethod

RegisteredFrontEndInfo

Represents a registered front end. Front ends are the entry points to the workflow and are responsible for

RegisteredFunctionInfo

Represents a registered function. Functions are the building blocks of the workflow with predefined inputs, outputs,

RegisteredLLMProviderInfo

Represents a registered LLM provider. LLM Providers are the operators of the LLMs. i.e. NIMs, OpenAI, Anthropic,

RegisteredLLMClientInfo

Represents a registered LLM client. LLM Clients are the clients that interact with the LLM providers and are

RegisteredEmbedderProviderInfo

Represents a registered Embedder provider. Embedder Providers are the operators of the Embedder models. i.e. NIMs,

RegisteredEmbedderClientInfo

Represents a registered Embedder client. Embedder Clients are the clients that interact with the Embedder providers

RegisteredEvaluatorInfo

Represents a registered Evaluator e.g. RagEvaluator, TrajectoryEvaluator, etc.

RegisteredMemoryInfo

Represents a registered Memory object which adheres to the memory interface.

RegisteredToolWrapper

Represents a registered tool wrapper. Tool wrappers are used to wrap the functions in a particular LLM framework.

RegisteredRetrieverProviderInfo

Represents a registered Retriever object which adheres to the retriever interface.

RegisteredRetrieverClientInfo

Represents a registered Retriever Client. Retriever Clients are the LLM Framework-specific clients that expose an

RegisteredRegistryHandlerInfo

Represents a registered LLM client. LLM Clients are the clients that interact with the LLM providers and are

RegisteredPackage

TypeRegistry

GlobalTypeRegistry

Module Contents#

logger#
FrontEndBuildCallableT#
TelemetryExporterBuildCallableT#
LoggingMethodBuildCallableT#
FunctionBuildCallableT#
LLMProviderBuildCallableT#
LLMClientBuildCallableT#
EmbedderProviderBuildCallableT#
EmbedderClientBuildCallableT#
EvaluatorBuildCallableT#
MemoryBuildCallableT#
RetrieverProviderBuildCallableT#
RetrieverClientBuildCallableT#
RegistryHandlerBuildCallableT#
ToolWrapperBuildCallableT#
TeleExporterRegisteredCallableT#
LoggingMethodRegisteredCallableT#
FrontEndRegisteredCallableT#
FunctionRegisteredCallableT#
LLMProviderRegisteredCallableT#
LLMClientRegisteredCallableT#
EmbedderProviderRegisteredCallableT#
EmbedderClientRegisteredCallableT#
EvaluatorRegisteredCallableT#
MemoryRegisteredCallableT#
RetrieverProviderRegisteredCallableT#
RetrieverClientRegisteredCallableT#
RegistryHandlerRegisteredCallableT#
class RegisteredInfo(/, **data: Any)#

Bases: pydantic.BaseModel, Generic[aiq.data_models.common.TypedBaseModelT]

model_config#

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

full_type: str#
config_type: type[aiq.data_models.common.TypedBaseModelT]#
discovery_metadata: aiq.data_models.discovery_metadata.DiscoveryMetadata#
property module_name: str#
property local_name: str#
classmethod validate_full_type(full_type: str) str#
class RegisteredTelemetryExporter#

Bases: RegisteredInfo[aiq.data_models.telemetry_exporter.TelemetryExporterBaseConfig]

build_fn: TeleExporterRegisteredCallableT = None#
class RegisteredLoggingMethod#

Bases: RegisteredInfo[aiq.data_models.logging.LoggingBaseConfig]

build_fn: LoggingMethodRegisteredCallableT = None#
class RegisteredFrontEndInfo#

Bases: RegisteredInfo[aiq.data_models.front_end.FrontEndBaseConfig]

Represents a registered front end. Front ends are the entry points to the workflow and are responsible for orchestrating the workflow.

build_fn: FrontEndRegisteredCallableT = None#
class RegisteredFunctionInfo#

Bases: RegisteredInfo[aiq.data_models.function.FunctionBaseConfig]

Represents a registered function. Functions are the building blocks of the workflow with predefined inputs, outputs, and a description.

build_fn: FunctionRegisteredCallableT = None#
framework_wrappers: list[str] = None#
class RegisteredLLMProviderInfo#

Bases: RegisteredInfo[aiq.data_models.llm.LLMBaseConfig]

Represents a registered LLM provider. LLM Providers are the operators of the LLMs. i.e. NIMs, OpenAI, Anthropic, etc.

build_fn: LLMProviderRegisteredCallableT = None#
class RegisteredLLMClientInfo#

Bases: RegisteredInfo[aiq.data_models.llm.LLMBaseConfig]

Represents a registered LLM client. LLM Clients are the clients that interact with the LLM providers and are specific to a particular LLM framework.

llm_framework: str#
build_fn: LLMClientRegisteredCallableT = None#
class RegisteredEmbedderProviderInfo#

Bases: RegisteredInfo[aiq.data_models.embedder.EmbedderBaseConfig]

Represents a registered Embedder provider. Embedder Providers are the operators of the Embedder models. i.e. NIMs, OpenAI, Anthropic, etc.

build_fn: EmbedderProviderRegisteredCallableT = None#
class RegisteredEmbedderClientInfo#

Bases: RegisteredInfo[aiq.data_models.embedder.EmbedderBaseConfig]

Represents a registered Embedder client. Embedder Clients are the clients that interact with the Embedder providers and are specific to a particular LLM framework.

llm_framework: str#
build_fn: EmbedderClientRegisteredCallableT = None#
class RegisteredEvaluatorInfo#

Bases: RegisteredInfo[aiq.data_models.evaluator.EvaluatorBaseConfig]

Represents a registered Evaluator e.g. RagEvaluator, TrajectoryEvaluator, etc.

build_fn: EvaluatorRegisteredCallableT = None#
class RegisteredMemoryInfo#

Bases: RegisteredInfo[aiq.data_models.memory.MemoryBaseConfig]

Represents a registered Memory object which adheres to the memory interface.

build_fn: MemoryRegisteredCallableT = None#
class RegisteredToolWrapper(/, **data: Any)#

Bases: pydantic.BaseModel

Represents a registered tool wrapper. Tool wrappers are used to wrap the functions in a particular LLM framework. They do not have their own configuration, but they are used to wrap the functions in a particular LLM framework.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

llm_framework: str#
build_fn: ToolWrapperBuildCallableT = None#
discovery_metadata: aiq.data_models.discovery_metadata.DiscoveryMetadata#
class RegisteredRetrieverProviderInfo#

Bases: RegisteredInfo[aiq.data_models.retriever.RetrieverBaseConfig]

Represents a registered Retriever object which adheres to the retriever interface.

build_fn: RetrieverProviderRegisteredCallableT = None#
class RegisteredRetrieverClientInfo#

Bases: RegisteredInfo[aiq.data_models.retriever.RetrieverBaseConfig]

Represents a registered Retriever Client. Retriever Clients are the LLM Framework-specific clients that expose an interface to the Retriever object.

llm_framework: str | None#
build_fn: RetrieverClientRegisteredCallableT = None#
class RegisteredRegistryHandlerInfo#

Bases: RegisteredInfo[aiq.data_models.registry_handler.RegistryHandlerBaseConfig]

Represents a registered LLM client. LLM Clients are the clients that interact with the LLM providers and are specific to a particular LLM framework.

build_fn: RegistryHandlerRegisteredCallableT = None#
class RegisteredPackage(/, **data: Any)#

Bases: pydantic.BaseModel

package_name: str#
discovery_metadata: aiq.data_models.discovery_metadata.DiscoveryMetadata#
class TypeRegistry#
_registered_telemetry_exporters: dict[type[aiq.data_models.telemetry_exporter.TelemetryExporterBaseConfig], RegisteredTelemetryExporter]#
_registered_logging_methods: dict[type[aiq.data_models.logging.LoggingBaseConfig], RegisteredLoggingMethod]#
_registered_front_end_infos: dict[type[aiq.data_models.front_end.FrontEndBaseConfig], RegisteredFrontEndInfo]#
_registered_functions: dict[type[aiq.data_models.function.FunctionBaseConfig], RegisteredFunctionInfo]#
_registered_llm_provider_infos: dict[type[aiq.data_models.llm.LLMBaseConfig], RegisteredLLMProviderInfo]#
_llm_client_provider_to_framework: dict[type[aiq.data_models.llm.LLMBaseConfig], dict[str, RegisteredLLMClientInfo]]#
_llm_client_framework_to_provider: dict[str, dict[type[aiq.data_models.llm.LLMBaseConfig], RegisteredLLMClientInfo]]#
_registered_embedder_provider_infos: dict[type[aiq.data_models.embedder.EmbedderBaseConfig], RegisteredEmbedderProviderInfo]#
_embedder_client_provider_to_framework: dict[type[aiq.data_models.embedder.EmbedderBaseConfig], dict[str, RegisteredEmbedderClientInfo]]#
_embedder_client_framework_to_provider: dict[str, dict[type[aiq.data_models.embedder.EmbedderBaseConfig], RegisteredEmbedderClientInfo]]#
_registered_evaluator_infos: dict[type[aiq.data_models.evaluator.EvaluatorBaseConfig], RegisteredEvaluatorInfo]#
_registered_memory_infos: dict[type[aiq.data_models.memory.MemoryBaseConfig], RegisteredMemoryInfo]#
_registered_retriever_provider_infos: dict[type[aiq.data_models.retriever.RetrieverBaseConfig], RegisteredRetrieverProviderInfo]#
_retriever_client_provider_to_framework: dict[type[aiq.data_models.retriever.RetrieverBaseConfig], dict[str | None, RegisteredRetrieverClientInfo]]#
_retriever_client_framework_to_provider: dict[str | None, dict[type[aiq.data_models.retriever.RetrieverBaseConfig], RegisteredRetrieverClientInfo]]#
_registered_registry_handler_infos: dict[type[aiq.data_models.registry_handler.RegistryHandlerBaseConfig], RegisteredRegistryHandlerInfo]#
_registered_tool_wrappers: dict[str, RegisteredToolWrapper]#
_registered_packages: dict[str, RegisteredPackage]#
_registration_changed_hooks: list[collections.abc.Callable[[], None]] = []#
_registration_changed_hooks_active: bool = True#
_registered_channel_map#
_registration_changed()#
add_registration_changed_hook(
cb: collections.abc.Callable[[], Any],
) None#
pause_registration_changed_hooks()#
register_telemetry_exporter(registration: RegisteredTelemetryExporter)#
get_telemetry_exporter(
config_type: type[aiq.data_models.telemetry_exporter.TelemetryExporterBaseConfig],
) RegisteredTelemetryExporter#
get_registered_telemetry_exporters() list[RegisteredInfo[aiq.data_models.telemetry_exporter.TelemetryExporterBaseConfig]]#
register_logging_method(registration: RegisteredLoggingMethod)#
get_logging_method(
config_type: type[aiq.data_models.logging.LoggingBaseConfig],
) RegisteredLoggingMethod#
get_registered_logging_method() list[RegisteredInfo[aiq.data_models.logging.LoggingBaseConfig]]#
register_front_end(registration: RegisteredFrontEndInfo)#
get_front_end(
config_type: type[aiq.data_models.front_end.FrontEndBaseConfig],
) RegisteredFrontEndInfo#
get_registered_front_ends() list[RegisteredInfo[aiq.data_models.front_end.FrontEndBaseConfig]]#
register_function(registration: RegisteredFunctionInfo)#
get_function(
config_type: type[aiq.data_models.function.FunctionBaseConfig],
) RegisteredFunctionInfo#
get_registered_functions() list[RegisteredInfo[aiq.data_models.function.FunctionBaseConfig]]#
register_llm_provider(info: RegisteredLLMProviderInfo)#
get_llm_provider(
config_type: type[aiq.data_models.llm.LLMBaseConfig],
) RegisteredLLMProviderInfo#
get_registered_llm_providers() list[RegisteredInfo[aiq.data_models.llm.LLMBaseConfig]]#
register_llm_client(info: RegisteredLLMClientInfo)#
get_llm_client(
config_type: type[aiq.data_models.llm.LLMBaseConfig],
wrapper_type: str,
) RegisteredLLMClientInfo#
register_embedder_provider(info: RegisteredEmbedderProviderInfo)#
get_embedder_provider(
config_type: type[aiq.data_models.embedder.EmbedderBaseConfig],
) RegisteredEmbedderProviderInfo#
get_registered_embedder_providers() list[RegisteredInfo[aiq.data_models.embedder.EmbedderBaseConfig]]#
register_embedder_client(info: RegisteredEmbedderClientInfo)#
get_embedder_client(
config_type: type[aiq.data_models.embedder.EmbedderBaseConfig],
wrapper_type: str,
) RegisteredEmbedderClientInfo#
register_evaluator(info: RegisteredEvaluatorInfo)#
get_evaluator(
config_type: type[aiq.data_models.evaluator.EvaluatorBaseConfig],
) RegisteredEvaluatorInfo#
get_registered_evaluators() list[RegisteredInfo[aiq.data_models.evaluator.EvaluatorBaseConfig]]#
register_memory(info: RegisteredMemoryInfo)#
get_memory(
config_type: type[aiq.data_models.memory.MemoryBaseConfig],
) RegisteredMemoryInfo#
get_registered_memorys() list[RegisteredInfo[aiq.data_models.memory.MemoryBaseConfig]]#
register_retriever_provider(info: RegisteredRetrieverProviderInfo)#
get_retriever_provider(
config_type: type[aiq.data_models.retriever.RetrieverBaseConfig],
) RegisteredRetrieverProviderInfo#
get_registered_retriever_providers() list[RegisteredInfo[aiq.data_models.retriever.RetrieverBaseConfig]]#
register_retriever_client(info: RegisteredRetrieverClientInfo)#
get_retriever_client(
config_type: type[aiq.data_models.retriever.RetrieverBaseConfig],
wrapper_type: str | None,
) RegisteredRetrieverClientInfo#
register_tool_wrapper(registration: RegisteredToolWrapper)#
get_tool_wrapper(llm_framework: str) RegisteredToolWrapper#
register_registry_handler(info: RegisteredRegistryHandlerInfo)#
get_registry_handler(
config_type: type[aiq.data_models.registry_handler.RegistryHandlerBaseConfig],
) RegisteredRegistryHandlerInfo#
get_registered_registry_handlers() list[RegisteredInfo[aiq.data_models.registry_handler.RegistryHandlerBaseConfig]]#
register_package(
package_name: str,
package_version: str | None = None,
)#
get_infos_by_type(
component_type: aiq.data_models.component.AIQComponentEnum,
) dict#
get_registered_types_by_component_type(
component_type: aiq.data_models.component.AIQComponentEnum,
) list[str]#
get_registered_channel_info_by_channel_type(
channel_type: str,
) RegisteredRegistryHandlerInfo#
_do_compute_annotation(
cls: type[aiq.data_models.common.TypedBaseModelT],
registrations: list[RegisteredInfo[aiq.data_models.common.TypedBaseModelT]],
)#
compute_annotation(cls: type[aiq.data_models.common.TypedBaseModelT])#
class GlobalTypeRegistry#
_global_registry: TypeRegistry#
static get() TypeRegistry#
static push()#