Pydantic Models

Smarter API LLMClient Manifest Constants.

Smarter API Manifest - Plugin.metadata.

class smarter.apps.llm_client.manifest.models.llm_client.metadata.SAMLLMClientMetadata(*, name: str, description: str | None, version: str | None, tags: List[str] | None = <factory>, annotations: List[dict[str, str | int | float | bool | ~datetime.date | ~datetime.datetime | ~decimal.Decimal | ~uuid.UUID | bytes | list | dict]] | None=<factory>)[source]

Bases: AbstractSAMMetadataBase

Smarter API LLMClient Manifest - Metadata class.

class_identifier: ClassVar[str] = 'LLMClient.metadata'
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'from_attributes': True, 'frozen': True}

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

model_post_init(context, /)

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Return type:

None

Parameters:
  • self – The BaseModel instance.

  • context – The context.

Smarter API Manifest - Plugin.spec.

class smarter.apps.llm_client.manifest.models.llm_client.spec.SAMLLMClientCustomDomain(*, aws_hosted_zone_id: str, domain_name: str)[source]

Bases: AbstractSAMSpecBase

Smarter API LLMClient Manifest LLMClient.spec.config.customDomain.

aws_hosted_zone_id: str
class_identifier: ClassVar[str] = 'LLMClient.spec.configuration.customDomain'
domain_name: str
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'from_attributes': True, 'frozen': True}

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

model_post_init(context, /)

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Return type:

None

Parameters:
  • self – The BaseModel instance.

  • context – The context.

class smarter.apps.llm_client.manifest.models.llm_client.spec.SAMLLMClientSpec(*, config: SAMLLMClientSpecConfig, plugins: List[str] | None = None, functions: List[str] | None = None, apiKey: str | None = None)[source]

Bases: AbstractSAMSpecBase

Smarter API LLMClient Manifest LLMClient.spec.

apiKey: str | None
class_identifier: ClassVar[str] = 'LLMClient.spec'
config: SAMLLMClientSpecConfig
functions: List[str] | None
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'from_attributes': True, 'frozen': True}

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

model_post_init(context, /)

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Return type:

None

Parameters:
  • self – The BaseModel instance.

  • context – The context.

plugins: List[str] | None
class smarter.apps.llm_client.manifest.models.llm_client.spec.SAMLLMClientSpecConfig(*, subdomain: str | None = None, customDomain: SAMLLMClientCustomDomain | None = None, deployed: bool = False, provider: str | None = None, defaultModel: str | None = None, defaultSystemRole: str | None = None, defaultTemperature: Annotated[float | None, Ge(ge=0.0), Le(le=1.0)] = None, defaultMaxTokens: Annotated[int | None, Gt(gt=0)] = None, appName: str | None = None, appAssistant: str | None = None, appWelcomeMessage: str | None = None, appExamplePrompts: List[str] | None = None, appPlaceholder: str | None = None, appInfoUrl: str | None = None, appBackgroundImageUrl: str | None = None, appLogoUrl: str | None = None, appFileAttachment: bool | None = False)[source]

Bases: AbstractSAMSpecBase

Smarter API LLMClient Manifest LLMClient.spec.config.

appAssistant: str | None
appBackgroundImageUrl: str | None
appExamplePrompts: List[str] | None
appFileAttachment: bool | None
appInfoUrl: str | None
appLogoUrl: str | None
appName: str | None
appPlaceholder: str | None
appWelcomeMessage: str | None
class_identifier: ClassVar[str] = 'LLMClient.spec.configuration'
customDomain: SAMLLMClientCustomDomain | None
defaultMaxTokens: int | None
defaultModel: str | None
defaultSystemRole: str | None
defaultTemperature: float | None
deployed: bool
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'from_attributes': True, 'frozen': True}

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

model_post_init(context, /)

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Return type:

None

Parameters:
  • self – The BaseModel instance.

  • context – The context.

provider: str | None
subdomain: str | None

Smarter API Manifest - Plugin.status.

class smarter.apps.llm_client.manifest.models.llm_client.status.SAMLLMClientStatus(*, recordLocator: str, created: datetime, modified: datetime, accountNumber: str, username: str, deployed: bool, defaultHost: str, defaultUrl: str, customUrl: str | None, sandboxHost: str, sandboxUrl: str, hostname: str, url: str, urlLLMClient: str, urlChatapp: str, urlChatConfig: str, dnsVerificationStatus: str)[source]

Bases: AbstractSAMStatusBase

Smarter API LLMClient Manifest - Status class.

accountNumber: str
class_identifier: ClassVar[str] = 'LLMClient.status'
customUrl: str | None
defaultHost: str
defaultUrl: str
deployed: bool
dnsVerificationStatus: str
hostname: str
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'from_attributes': True, 'frozen': True}

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

model_post_init(context, /)

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Return type:

None

Parameters:
  • self – The BaseModel instance.

  • context – The context.

sandboxHost: str
sandboxUrl: str
url: str
urlChatConfig: str
urlChatapp: str
urlLLMClient: str
username: str

Smarter API LLMClient Manifest.

class smarter.apps.llm_client.manifest.models.llm_client.model.SAMLLMClient(*, apiVersion: str, kind: str, metadata: SAMLLMClientMetadata, spec: SAMLLMClientSpec, status: SAMLLMClientStatus | None = None)[source]

Bases: AbstractSAMBase

Smarter API Manifest - LLMClient.

class_identifier: ClassVar[str] = 'LLMClient'
metadata: SAMLLMClientMetadata
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'from_attributes': True, 'frozen': True}

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

model_post_init(context, /)

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Return type:

None

Parameters:
  • self – The BaseModel instance.

  • context – The context.

spec: SAMLLMClientSpec
status: SAMLLMClientStatus | None