Skip to content

_submit

TextGenerationJobSubmitRequest

Bases: BaseAIHordeRequest, JobRequestMixin, APIKeyAllowedInRequestMixin

Represents the data needed to make a job submit 'request' from a worker to the /v2/generate/submit endpoint.

v2 API Model: SubmitInputStable

Source code in horde_sdk/ai_horde_api/apimodels/generate/text/_submit.py
class TextGenerationJobSubmitRequest(
    BaseAIHordeRequest,
    JobRequestMixin,
    APIKeyAllowedInRequestMixin,
):
    """Represents the data needed to make a job submit 'request' from a worker to the /v2/generate/submit endpoint.

    v2 API Model: `SubmitInputStable`
    """

    generation: str = ""
    """R2 result was uploaded to R2, else the string of the result."""
    state: GENERATION_STATE
    """The state of this generation."""
    gen_metadata: list[GenMetadataEntry] | None = None
    """Extra metadata about faulted or defaulted components of the generation"""

    @model_validator(mode="after")
    def validate_generation(self) -> TextGenerationJobSubmitRequest:
        if self.generation == "":
            logger.error("Generation cannot be an empty string.")
            logger.error(self.log_safe_model_dump())

        return self

    @override
    @classmethod
    def get_api_model_name(cls) -> str | None:
        return "SubmitInputKobold"

    @override
    @classmethod
    def get_http_method(cls) -> HTTPMethod:
        return HTTPMethod.POST

    @override
    @classmethod
    def get_api_endpoint_subpath(cls) -> AI_HORDE_API_ENDPOINT_SUBPATH:
        return AI_HORDE_API_ENDPOINT_SUBPATH.v2_generate_text_submit

    @override
    @classmethod
    def get_default_success_response_type(cls) -> type[JobSubmitResponse]:
        return JobSubmitResponse

generation class-attribute instance-attribute

generation: str = ''

R2 result was uploaded to R2, else the string of the result.

state instance-attribute

state: GENERATION_STATE

The state of this generation.

gen_metadata class-attribute instance-attribute

gen_metadata: list[GenMetadataEntry] | None = None

Extra metadata about faulted or defaulted components of the generation

validate_generation

validate_generation() -> TextGenerationJobSubmitRequest
Source code in horde_sdk/ai_horde_api/apimodels/generate/text/_submit.py
@model_validator(mode="after")
def validate_generation(self) -> TextGenerationJobSubmitRequest:
    if self.generation == "":
        logger.error("Generation cannot be an empty string.")
        logger.error(self.log_safe_model_dump())

    return self

get_api_model_name classmethod

get_api_model_name() -> str | None
Source code in horde_sdk/ai_horde_api/apimodels/generate/text/_submit.py
@override
@classmethod
def get_api_model_name(cls) -> str | None:
    return "SubmitInputKobold"

get_http_method classmethod

get_http_method() -> HTTPMethod
Source code in horde_sdk/ai_horde_api/apimodels/generate/text/_submit.py
@override
@classmethod
def get_http_method(cls) -> HTTPMethod:
    return HTTPMethod.POST

get_api_endpoint_subpath classmethod

get_api_endpoint_subpath() -> AI_HORDE_API_ENDPOINT_SUBPATH
Source code in horde_sdk/ai_horde_api/apimodels/generate/text/_submit.py
@override
@classmethod
def get_api_endpoint_subpath(cls) -> AI_HORDE_API_ENDPOINT_SUBPATH:
    return AI_HORDE_API_ENDPOINT_SUBPATH.v2_generate_text_submit

get_default_success_response_type classmethod

get_default_success_response_type() -> type[JobSubmitResponse]
Source code in horde_sdk/ai_horde_api/apimodels/generate/text/_submit.py
@override
@classmethod
def get_default_success_response_type(cls) -> type[JobSubmitResponse]:
    return JobSubmitResponse