remove unused CreateBatchRequest, update completion_window to be literal "24h"

This commit is contained in:
Matthew Farrellee 2025-08-14 09:25:22 -04:00
parent 95a3ecdffc
commit 44263ce954
4 changed files with 7 additions and 18 deletions

View file

@ -4,6 +4,6 @@
# This source code is licensed under the terms described in the LICENSE file in # This source code is licensed under the terms described in the LICENSE file in
# the root directory of this source tree. # the root directory of this source tree.
from .batches import Batches, BatchObject, CreateBatchRequest, ListBatchesResponse from .batches import Batches, BatchObject, ListBatchesResponse
__all__ = ["Batches", "BatchObject", "CreateBatchRequest", "ListBatchesResponse"] __all__ = ["Batches", "BatchObject", "ListBatchesResponse"]

View file

@ -4,7 +4,7 @@
# This source code is licensed under the terms described in the LICENSE file in # This source code is licensed under the terms described in the LICENSE file in
# the root directory of this source tree. # the root directory of this source tree.
from typing import Any, Literal, Protocol, runtime_checkable from typing import Literal, Protocol, runtime_checkable
from pydantic import BaseModel, Field from pydantic import BaseModel, Field
@ -16,16 +16,6 @@ except ImportError as e:
raise ImportError("OpenAI package is required for batches API. Please install it with: pip install openai") from e raise ImportError("OpenAI package is required for batches API. Please install it with: pip install openai") from e
@json_schema_type
class CreateBatchRequest(BaseModel):
"""Request to create a new batch."""
input_file_id: str = Field(..., description="The ID of an uploaded file that contains requests for the new batch")
endpoint: str = Field(..., description="The endpoint to be used for all requests in the batch")
completion_window: str = Field(..., description="The time window within which the batch should be processed")
metadata: dict[str, Any] | None = Field(default=None, description="Optional metadata for the batch")
@json_schema_type @json_schema_type
class ListBatchesResponse(BaseModel): class ListBatchesResponse(BaseModel):
"""Response containing a list of batch objects.""" """Response containing a list of batch objects."""
@ -53,7 +43,7 @@ class Batches(Protocol):
self, self,
input_file_id: str, input_file_id: str,
endpoint: str, endpoint: str,
completion_window: str, completion_window: Literal["24h"],
metadata: dict[str, str] | None = None, metadata: dict[str, str] | None = None,
) -> BatchObject: ) -> BatchObject:
"""Create a new batch for processing multiple API requests. """Create a new batch for processing multiple API requests.

View file

@ -10,7 +10,7 @@ import json
import time import time
import uuid import uuid
from io import BytesIO from io import BytesIO
from typing import Any from typing import Any, Literal
from openai.types.batch import BatchError, Errors from openai.types.batch import BatchError, Errors
from pydantic import BaseModel from pydantic import BaseModel
@ -108,7 +108,7 @@ class ReferenceBatchesImpl(Batches):
self, self,
input_file_id: str, input_file_id: str,
endpoint: str, endpoint: str,
completion_window: str, completion_window: Literal["24h"],
metadata: dict[str, str] | None = None, metadata: dict[str, str] | None = None,
) -> BatchObject: ) -> BatchObject:
""" """

View file

@ -379,9 +379,8 @@ class TestBatchesErrorHandling:
) )
assert exc_info.value.status_code == 400 assert exc_info.value.status_code == 400
error_msg = str(exc_info.value).lower() error_msg = str(exc_info.value).lower()
assert "invalid value" in error_msg assert "error" in error_msg
assert "completion_window" in error_msg assert "completion_window" in error_msg
assert "supported values are" in error_msg
def test_batch_streaming_not_supported(self, openai_client, batch_helper, text_model_id): def test_batch_streaming_not_supported(self, openai_client, batch_helper, text_model_id):
"""Test that streaming responses are not supported in batches.""" """Test that streaming responses are not supported in batches."""