gen_ai_hub.batch_service.models package¶
- class gen_ai_hub.batch_service.models.ABCBaseModel¶
Bases:
BaseModel,ABCAbstract base model for batch service request models.
extra=”forbid” rejects unexpected fields.
by_alias=True / exclude_none=True ensure clean API payloads.
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': False}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_dump(**kwargs)¶
- !!! abstract “Usage Documentation”
[model_dump](../concepts/serialization.md#python-mode)
Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
- Parameters:
mode – The mode in which to_python should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.
include – A set of fields to include in the output.
exclude – A set of fields to exclude from the output.
context – Additional context to pass to the serializer.
by_alias – Whether to use the field’s alias in the dictionary key if defined.
exclude_unset – Whether to exclude fields that have not been explicitly set.
exclude_defaults – Whether to exclude fields that are set to their default value.
exclude_none – Whether to exclude fields that have a value of None.
exclude_computed_fields – Whether to exclude computed fields. While this can be useful for round-tripping, it is usually recommended to use the dedicated round_trip parameter instead.
round_trip – If True, dumped values should be valid as input for non-idempotent types such as Json[T].
warnings – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].
fallback – A function to call when an unknown value is encountered. If not provided, a [PydanticSerializationError][pydantic_core.PydanticSerializationError] error is raised.
serialize_as_any – Whether to serialize fields with duck-typing serialization behavior.
polymorphic_serialization – Whether to use model and dataclass polymorphic serialization for this call.
- Returns:
A dictionary representation of the model.
- class gen_ai_hub.batch_service.models.ResponseBaseModel(**extra_data: Any)¶
Bases:
BaseModelBase model for API response models — allows extra fields for forward compatibility.
- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': False}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class gen_ai_hub.batch_service.models.BatchCreateRequest(*, type: Literal['llm-native'], input: BatchInput, output: BatchOutput, spec: BatchSpec)¶
Bases:
ABCBaseModelRequest body sent to
POST /llm-batch-service/v1/batches.Describes a new batch processing job: where to read input from, where to write output, and which model to use.
- Parameters:
type (Literal["llm-native"]) – Batch processing type. Currently only
"llm-native"is supported.input (
BatchInput) – Input file configuration.output (
BatchOutput) – Output directory configuration.spec (
BatchSpec) – LLM provider and model specification.
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': False}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['llm-native']¶
- input: BatchInput¶
- output: BatchOutput¶
- class gen_ai_hub.batch_service.models.BatchInput(*, uri: str)¶
Bases:
ABCBaseModelInput configuration for a batch job.
Points to the
.jsonlfile in an object store that contains the individual LLM requests to be processed.- Parameters:
uri (str) – Fully qualified object-store URI of the input file. Must point to a
.jsonlfile (e.g.ai://my-store/input/requests.jsonl).
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': False}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- uri: str¶
- class gen_ai_hub.batch_service.models.BatchOutput(*, uri: str)¶
Bases:
ABCBaseModelOutput configuration for a batch job.
Points to the directory in an object store where results will be written once the job completes.
- Parameters:
uri (str) – Fully qualified object-store URI of the output directory (e.g.
ai://my-store/output/).
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': False}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- uri: str¶
- class gen_ai_hub.batch_service.models.BatchSpec(*, provider: str, model: str)¶
Bases:
ABCBaseModelSpecification of the LLM to use for a batch job.
- Parameters:
provider (str) – LLM provider name as registered in SAP AI Core (e.g.
"azure-openai").model (str) – Model name to use for inference (e.g.
"gpt-4.1-mini").
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': False}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- provider: str¶
- model: str¶
- class gen_ai_hub.batch_service.models.BatchStatus(*values)¶
Bases:
str,EnumEnumeration of possible lifecycle states for a batch job.
- Variables:
PENDING – Job has been accepted and is waiting to be scheduled.
RUNNING – Job is actively being processed.
COMPLETED – Job finished successfully.
FAILED – Job terminated with an error.
CANCELLED – Job was cancelled by the user.
CANCELLING – Cancellation has been requested and is in progress.
- PENDING = 'PENDING'¶
- RUNNING = 'RUNNING'¶
- COMPLETED = 'COMPLETED'¶
- FAILED = 'FAILED'¶
- CANCELLED = 'CANCELLED'¶
- CANCELLING = 'CANCELLING'¶
- class gen_ai_hub.batch_service.models.BatchCreateResponse(*, id: str, created_at: str | None = None, status: str | None = None, message: str | None = None, **extra_data: Any)¶
Bases:
ResponseBaseModelResponse returned by
POST /llm-batch-service/v1/batches.Confirms that the batch job has been accepted and provides the assigned identifier and initial status.
- Parameters:
id (str) – Unique identifier (UUID) of the created batch job.
created_at (str, optional) – ISO 8601 timestamp of when the job was created.
status (str, optional) – Initial status of the job, typically
"PENDING".message (str, optional) – Human-readable confirmation message from the service.
- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': False}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str¶
- created_at: str | None¶
- status: str | None¶
- message: str | None¶
- class gen_ai_hub.batch_service.models.BatchSummary(*, id: str, type: str | None = None, provider: str | None = None, created_at: str | None = None, status: str | None = None, **extra_data: Any)¶
Bases:
ResponseBaseModelSummary entry for a single batch job as returned in a list response.
- Parameters:
id (str) – Unique identifier (UUID) of the batch job.
type (str, optional) – Batch processing type (e.g.
"llm-native").provider (str, optional) – LLM provider name (e.g.
"azure-openai").created_at (str, optional) – ISO 8601 timestamp of when the job was created.
status (str, optional) – Current status of the job.
- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': False}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str¶
- type: str | None¶
- provider: str | None¶
- created_at: str | None¶
- status: str | None¶
- class gen_ai_hub.batch_service.models.BatchListResponse(*, count: int | None = None, resources: list[BatchSummary] | None = None, **extra_data: Any)¶
Bases:
ResponseBaseModelResponse returned by
GET /llm-batch-service/v1/batches.Contains a count and a list of batch job summaries for the current resource group.
- Parameters:
count (int, optional) – Total number of batch jobs.
resources (list[
BatchSummary], optional) – List of batch job summaries.
- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': False}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- count: int | None¶
- resources: list[BatchSummary] | None¶
- class gen_ai_hub.batch_service.models.BatchStatusDetail(*, current_status: str | None = None, target_status: str | None = None, updated_at: str | None = None, message: str | None = None, **extra_data: Any)¶
Bases:
ResponseBaseModelStatus block embedded inside
BatchDetailResponse.- Parameters:
current_status (str, optional) – The job’s current lifecycle status.
target_status (str, optional) – The terminal status the job is expected to reach.
updated_at (str, optional) – ISO 8601 timestamp of the last status change.
message (str, optional) – Optional human-readable description of the current status.
- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': False}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- current_status: str | None¶
- target_status: str | None¶
- updated_at: str | None¶
- message: str | None¶
- class gen_ai_hub.batch_service.models.BatchInputDetail(*, uri: str | None = None, **extra_data: Any)¶
Bases:
ResponseBaseModelInput configuration as returned in a batch detail response.
- Parameters:
uri (str, optional) – Object-store URI of the input
.jsonlfile.
- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': False}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- uri: str | None¶
- class gen_ai_hub.batch_service.models.BatchOutputDetail(*, uri: str | None = None, **extra_data: Any)¶
Bases:
ResponseBaseModelOutput configuration as returned in a batch detail response.
- Parameters:
uri (str, optional) – Object-store URI of the output directory.
- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': False}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- uri: str | None¶
- class gen_ai_hub.batch_service.models.BatchDetailResponse(*, id: str | None = None, type: str | None = None, provider: str | None = None, created_at: str | None = None, input: BatchInputDetail | None = None, output: BatchOutputDetail | None = None, spec: dict | None = None, status: BatchStatusDetail | None = None, **extra_data: Any)¶
Bases:
ResponseBaseModelResponse returned by
GET /llm-batch-service/v1/batches/{batch_id}.Provides the full configuration and current status of a specific batch job.
- Parameters:
id (str, optional) – Unique identifier (UUID) of the batch job.
type (str, optional) – Batch processing type (e.g.
"llm-native").provider (str, optional) – LLM provider name (e.g.
"azure-openai").created_at (str, optional) – ISO 8601 timestamp of when the job was created.
input (
BatchInputDetail, optional) – Input file configuration.output (
BatchOutputDetail, optional) – Output directory configuration.spec (dict, optional) – Raw job specification dict as stored by the service.
status (
BatchStatusDetail, optional) – Current status details.
- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': False}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- type: str | None¶
- provider: str | None¶
- created_at: str | None¶
- input: BatchInputDetail | None¶
- output: BatchOutputDetail | None¶
- spec: dict | None¶
- status: BatchStatusDetail | None¶
- class gen_ai_hub.batch_service.models.BatchStatusResponse(*, current_status: str | None = None, target_status: str | None = None, updated_at: str | None = None, message: str | None = None, **extra_data: Any)¶
Bases:
ResponseBaseModelResponse returned by
GET /llm-batch-service/v1/batches/{batch_id}/status.- Parameters:
current_status (str, optional) – The job’s current lifecycle status.
target_status (str, optional) – The terminal status the job is expected to reach.
updated_at (str, optional) – ISO 8601 timestamp of the last status change.
message (str, optional) – Optional human-readable description of the current status.
- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': False}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- current_status: str | None¶
- target_status: str | None¶
- updated_at: str | None¶
- message: str | None¶
- class gen_ai_hub.batch_service.models.BatchCancelResponse(*, id: str | None = None, created_at: str | None = None, message: str | None = None, **extra_data: Any)¶
Bases:
ResponseBaseModelResponse returned by
PATCH /llm-batch-service/v1/batches/{batch_id}/cancel.Confirms that the cancellation request has been accepted. The job will transition to
CANCELLINGand eventuallyCANCELLED.- Parameters:
id (str, optional) – Unique identifier (UUID) of the batch job.
created_at (str, optional) – ISO 8601 timestamp of when the job was originally created.
message (str, optional) – Human-readable confirmation that cancellation was scheduled.
- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': False}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- created_at: str | None¶
- message: str | None¶
- class gen_ai_hub.batch_service.models.BatchDeleteResponse(*, id: str | None = None, created_at: str | None = None, message: str | None = None, **extra_data: Any)¶
Bases:
ResponseBaseModelResponse returned by
DELETE /llm-batch-service/v1/batches/{batch_id}.Confirms that the batch job record has been deleted. Only jobs in a terminal state (
COMPLETED,FAILED, orCANCELLED) can be deleted.- Parameters:
id (str, optional) – Unique identifier (UUID) of the deleted batch job.
created_at (str, optional) – ISO 8601 timestamp of when the job was originally created.
message (str, optional) – Human-readable confirmation of the deletion.
- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': False}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str | None¶
- created_at: str | None¶
- message: str | None¶
- class gen_ai_hub.batch_service.models.ErrorResponse(*, request_id: str, message: str, **extra_data: Any)¶
Bases:
ResponseBaseModelError response body returned by the batch service on 4xx/5xx responses.
- Parameters:
request_id (str) – Unique request identifier, useful for tracing the error in service logs.
message (str) – Human-readable description of the error.
- model_config: ClassVar[ConfigDict] = {'extra': 'allow', 'frozen': False}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- request_id: str¶
- message: str¶
Submodules¶
- gen_ai_hub.batch_service.models.base module
- gen_ai_hub.batch_service.models.request module
- gen_ai_hub.batch_service.models.response module