Spaces:
Runtime error
Runtime error
| # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. | |
| from __future__ import annotations | |
| import httpx | |
| from .. import _legacy_response | |
| from .._types import Body, Query, Headers, NotGiven, not_given | |
| from .._compat import cached_property | |
| from .._resource import SyncAPIResource, AsyncAPIResource | |
| from .._response import to_streamed_response_wrapper, async_to_streamed_response_wrapper | |
| from ..pagination import SyncPage, AsyncPage | |
| from ..types.model import Model | |
| from .._base_client import ( | |
| AsyncPaginator, | |
| make_request_options, | |
| ) | |
| from ..types.model_deleted import ModelDeleted | |
| __all__ = ["Models", "AsyncModels"] | |
| class Models(SyncAPIResource): | |
| """List and describe the various models available in the API.""" | |
| def with_raw_response(self) -> ModelsWithRawResponse: | |
| """ | |
| This property can be used as a prefix for any HTTP method call to return | |
| the raw response object instead of the parsed content. | |
| For more information, see https://www.github.com/openai/openai-python#accessing-raw-response-data-eg-headers | |
| """ | |
| return ModelsWithRawResponse(self) | |
| def with_streaming_response(self) -> ModelsWithStreamingResponse: | |
| """ | |
| An alternative to `.with_raw_response` that doesn't eagerly read the response body. | |
| For more information, see https://www.github.com/openai/openai-python#with_streaming_response | |
| """ | |
| return ModelsWithStreamingResponse(self) | |
| def retrieve( | |
| self, | |
| model: str, | |
| *, | |
| # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. | |
| # The extra values given here take precedence over values defined on the client or passed to this method. | |
| extra_headers: Headers | None = None, | |
| extra_query: Query | None = None, | |
| extra_body: Body | None = None, | |
| timeout: float | httpx.Timeout | None | NotGiven = not_given, | |
| ) -> Model: | |
| """ | |
| Retrieves a model instance, providing basic information about the model such as | |
| the owner and permissioning. | |
| Args: | |
| extra_headers: Send extra headers | |
| extra_query: Add additional query parameters to the request | |
| extra_body: Add additional JSON properties to the request | |
| timeout: Override the client-level default timeout for this request, in seconds | |
| """ | |
| if not model: | |
| raise ValueError(f"Expected a non-empty value for `model` but received {model!r}") | |
| return self._get( | |
| f"/models/{model}", | |
| options=make_request_options( | |
| extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout | |
| ), | |
| cast_to=Model, | |
| ) | |
| def list( | |
| self, | |
| *, | |
| # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. | |
| # The extra values given here take precedence over values defined on the client or passed to this method. | |
| extra_headers: Headers | None = None, | |
| extra_query: Query | None = None, | |
| extra_body: Body | None = None, | |
| timeout: float | httpx.Timeout | None | NotGiven = not_given, | |
| ) -> SyncPage[Model]: | |
| """ | |
| Lists the currently available models, and provides basic information about each | |
| one such as the owner and availability. | |
| """ | |
| return self._get_api_list( | |
| "/models", | |
| page=SyncPage[Model], | |
| options=make_request_options( | |
| extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout | |
| ), | |
| model=Model, | |
| ) | |
| def delete( | |
| self, | |
| model: str, | |
| *, | |
| # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. | |
| # The extra values given here take precedence over values defined on the client or passed to this method. | |
| extra_headers: Headers | None = None, | |
| extra_query: Query | None = None, | |
| extra_body: Body | None = None, | |
| timeout: float | httpx.Timeout | None | NotGiven = not_given, | |
| ) -> ModelDeleted: | |
| """Delete a fine-tuned model. | |
| You must have the Owner role in your organization to | |
| delete a model. | |
| Args: | |
| extra_headers: Send extra headers | |
| extra_query: Add additional query parameters to the request | |
| extra_body: Add additional JSON properties to the request | |
| timeout: Override the client-level default timeout for this request, in seconds | |
| """ | |
| if not model: | |
| raise ValueError(f"Expected a non-empty value for `model` but received {model!r}") | |
| return self._delete( | |
| f"/models/{model}", | |
| options=make_request_options( | |
| extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout | |
| ), | |
| cast_to=ModelDeleted, | |
| ) | |
| class AsyncModels(AsyncAPIResource): | |
| """List and describe the various models available in the API.""" | |
| def with_raw_response(self) -> AsyncModelsWithRawResponse: | |
| """ | |
| This property can be used as a prefix for any HTTP method call to return | |
| the raw response object instead of the parsed content. | |
| For more information, see https://www.github.com/openai/openai-python#accessing-raw-response-data-eg-headers | |
| """ | |
| return AsyncModelsWithRawResponse(self) | |
| def with_streaming_response(self) -> AsyncModelsWithStreamingResponse: | |
| """ | |
| An alternative to `.with_raw_response` that doesn't eagerly read the response body. | |
| For more information, see https://www.github.com/openai/openai-python#with_streaming_response | |
| """ | |
| return AsyncModelsWithStreamingResponse(self) | |
| async def retrieve( | |
| self, | |
| model: str, | |
| *, | |
| # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. | |
| # The extra values given here take precedence over values defined on the client or passed to this method. | |
| extra_headers: Headers | None = None, | |
| extra_query: Query | None = None, | |
| extra_body: Body | None = None, | |
| timeout: float | httpx.Timeout | None | NotGiven = not_given, | |
| ) -> Model: | |
| """ | |
| Retrieves a model instance, providing basic information about the model such as | |
| the owner and permissioning. | |
| Args: | |
| extra_headers: Send extra headers | |
| extra_query: Add additional query parameters to the request | |
| extra_body: Add additional JSON properties to the request | |
| timeout: Override the client-level default timeout for this request, in seconds | |
| """ | |
| if not model: | |
| raise ValueError(f"Expected a non-empty value for `model` but received {model!r}") | |
| return await self._get( | |
| f"/models/{model}", | |
| options=make_request_options( | |
| extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout | |
| ), | |
| cast_to=Model, | |
| ) | |
| def list( | |
| self, | |
| *, | |
| # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. | |
| # The extra values given here take precedence over values defined on the client or passed to this method. | |
| extra_headers: Headers | None = None, | |
| extra_query: Query | None = None, | |
| extra_body: Body | None = None, | |
| timeout: float | httpx.Timeout | None | NotGiven = not_given, | |
| ) -> AsyncPaginator[Model, AsyncPage[Model]]: | |
| """ | |
| Lists the currently available models, and provides basic information about each | |
| one such as the owner and availability. | |
| """ | |
| return self._get_api_list( | |
| "/models", | |
| page=AsyncPage[Model], | |
| options=make_request_options( | |
| extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout | |
| ), | |
| model=Model, | |
| ) | |
| async def delete( | |
| self, | |
| model: str, | |
| *, | |
| # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. | |
| # The extra values given here take precedence over values defined on the client or passed to this method. | |
| extra_headers: Headers | None = None, | |
| extra_query: Query | None = None, | |
| extra_body: Body | None = None, | |
| timeout: float | httpx.Timeout | None | NotGiven = not_given, | |
| ) -> ModelDeleted: | |
| """Delete a fine-tuned model. | |
| You must have the Owner role in your organization to | |
| delete a model. | |
| Args: | |
| extra_headers: Send extra headers | |
| extra_query: Add additional query parameters to the request | |
| extra_body: Add additional JSON properties to the request | |
| timeout: Override the client-level default timeout for this request, in seconds | |
| """ | |
| if not model: | |
| raise ValueError(f"Expected a non-empty value for `model` but received {model!r}") | |
| return await self._delete( | |
| f"/models/{model}", | |
| options=make_request_options( | |
| extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout | |
| ), | |
| cast_to=ModelDeleted, | |
| ) | |
| class ModelsWithRawResponse: | |
| def __init__(self, models: Models) -> None: | |
| self._models = models | |
| self.retrieve = _legacy_response.to_raw_response_wrapper( | |
| models.retrieve, | |
| ) | |
| self.list = _legacy_response.to_raw_response_wrapper( | |
| models.list, | |
| ) | |
| self.delete = _legacy_response.to_raw_response_wrapper( | |
| models.delete, | |
| ) | |
| class AsyncModelsWithRawResponse: | |
| def __init__(self, models: AsyncModels) -> None: | |
| self._models = models | |
| self.retrieve = _legacy_response.async_to_raw_response_wrapper( | |
| models.retrieve, | |
| ) | |
| self.list = _legacy_response.async_to_raw_response_wrapper( | |
| models.list, | |
| ) | |
| self.delete = _legacy_response.async_to_raw_response_wrapper( | |
| models.delete, | |
| ) | |
| class ModelsWithStreamingResponse: | |
| def __init__(self, models: Models) -> None: | |
| self._models = models | |
| self.retrieve = to_streamed_response_wrapper( | |
| models.retrieve, | |
| ) | |
| self.list = to_streamed_response_wrapper( | |
| models.list, | |
| ) | |
| self.delete = to_streamed_response_wrapper( | |
| models.delete, | |
| ) | |
| class AsyncModelsWithStreamingResponse: | |
| def __init__(self, models: AsyncModels) -> None: | |
| self._models = models | |
| self.retrieve = async_to_streamed_response_wrapper( | |
| models.retrieve, | |
| ) | |
| self.list = async_to_streamed_response_wrapper( | |
| models.list, | |
| ) | |
| self.delete = async_to_streamed_response_wrapper( | |
| models.delete, | |
| ) | |