22
33from __future__ import annotations
44
5+ from typing import List
6+ from typing_extensions import Literal
7+
58import httpx
69
10+ from ..types import model_list_params
711from .._types import NOT_GIVEN , Body , Query , Headers , NotGiven
12+ from .._utils import maybe_transform , async_maybe_transform
813from .._compat import cached_property
914from .._resource import SyncAPIResource , AsyncAPIResource
1015from .._response import (
@@ -77,6 +82,21 @@ def retrieve(
7782 def list (
7883 self ,
7984 * ,
85+ page : int | NotGiven = NOT_GIVEN ,
86+ per_page : int | NotGiven = NOT_GIVEN ,
87+ public_only : bool | NotGiven = NOT_GIVEN ,
88+ usecases : List [
89+ Literal [
90+ "MODEL_USECASE_UNKNOWN" ,
91+ "MODEL_USECASE_AGENT" ,
92+ "MODEL_USECASE_FINETUNED" ,
93+ "MODEL_USECASE_KNOWLEDGEBASE" ,
94+ "MODEL_USECASE_GUARDRAIL" ,
95+ "MODEL_USECASE_REASONING" ,
96+ "MODEL_USECASE_SERVERLESS" ,
97+ ]
98+ ]
99+ | NotGiven = NOT_GIVEN ,
80100 # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
81101 # The extra values given here take precedence over values defined on the client or passed to this method.
82102 extra_headers : Headers | None = None ,
@@ -85,13 +105,50 @@ def list(
85105 timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
86106 ) -> ModelListResponse :
87107 """
88- Lists the currently available models, and provides basic information about each
89- one such as the owner and availability.
108+ To list all models, send a GET request to `/v2/gen-ai/models`.
109+
110+ Args:
111+ page: page number.
112+
113+ per_page: items per page.
114+
115+ public_only: only include models that are publicly available.
116+
117+ usecases: include only models defined for the listed usecases.
118+
119+ - MODEL_USECASE_UNKNOWN: The use case of the model is unknown
120+ - MODEL_USECASE_AGENT: The model maybe used in an agent
121+ - MODEL_USECASE_FINETUNED: The model maybe used for fine tuning
122+ - MODEL_USECASE_KNOWLEDGEBASE: The model maybe used for knowledge bases
123+ (embedding models)
124+ - MODEL_USECASE_GUARDRAIL: The model maybe used for guardrails
125+ - MODEL_USECASE_REASONING: The model usecase for reasoning
126+ - MODEL_USECASE_SERVERLESS: The model usecase for serverless inference
127+
128+ extra_headers: Send extra headers
129+
130+ extra_query: Add additional query parameters to the request
131+
132+ extra_body: Add additional JSON properties to the request
133+
134+ timeout: Override the client-level default timeout for this request, in seconds
90135 """
91136 return self ._get (
92- "/models" ,
137+ "/v2/gen-ai/ models" ,
93138 options = make_request_options (
94- extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
139+ extra_headers = extra_headers ,
140+ extra_query = extra_query ,
141+ extra_body = extra_body ,
142+ timeout = timeout ,
143+ query = maybe_transform (
144+ {
145+ "page" : page ,
146+ "per_page" : per_page ,
147+ "public_only" : public_only ,
148+ "usecases" : usecases ,
149+ },
150+ model_list_params .ModelListParams ,
151+ ),
95152 ),
96153 cast_to = ModelListResponse ,
97154 )
@@ -154,6 +211,21 @@ async def retrieve(
154211 async def list (
155212 self ,
156213 * ,
214+ page : int | NotGiven = NOT_GIVEN ,
215+ per_page : int | NotGiven = NOT_GIVEN ,
216+ public_only : bool | NotGiven = NOT_GIVEN ,
217+ usecases : List [
218+ Literal [
219+ "MODEL_USECASE_UNKNOWN" ,
220+ "MODEL_USECASE_AGENT" ,
221+ "MODEL_USECASE_FINETUNED" ,
222+ "MODEL_USECASE_KNOWLEDGEBASE" ,
223+ "MODEL_USECASE_GUARDRAIL" ,
224+ "MODEL_USECASE_REASONING" ,
225+ "MODEL_USECASE_SERVERLESS" ,
226+ ]
227+ ]
228+ | NotGiven = NOT_GIVEN ,
157229 # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
158230 # The extra values given here take precedence over values defined on the client or passed to this method.
159231 extra_headers : Headers | None = None ,
@@ -162,13 +234,50 @@ async def list(
162234 timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
163235 ) -> ModelListResponse :
164236 """
165- Lists the currently available models, and provides basic information about each
166- one such as the owner and availability.
237+ To list all models, send a GET request to `/v2/gen-ai/models`.
238+
239+ Args:
240+ page: page number.
241+
242+ per_page: items per page.
243+
244+ public_only: only include models that are publicly available.
245+
246+ usecases: include only models defined for the listed usecases.
247+
248+ - MODEL_USECASE_UNKNOWN: The use case of the model is unknown
249+ - MODEL_USECASE_AGENT: The model maybe used in an agent
250+ - MODEL_USECASE_FINETUNED: The model maybe used for fine tuning
251+ - MODEL_USECASE_KNOWLEDGEBASE: The model maybe used for knowledge bases
252+ (embedding models)
253+ - MODEL_USECASE_GUARDRAIL: The model maybe used for guardrails
254+ - MODEL_USECASE_REASONING: The model usecase for reasoning
255+ - MODEL_USECASE_SERVERLESS: The model usecase for serverless inference
256+
257+ extra_headers: Send extra headers
258+
259+ extra_query: Add additional query parameters to the request
260+
261+ extra_body: Add additional JSON properties to the request
262+
263+ timeout: Override the client-level default timeout for this request, in seconds
167264 """
168265 return await self ._get (
169- "/models" ,
266+ "/v2/gen-ai/ models" ,
170267 options = make_request_options (
171- extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
268+ extra_headers = extra_headers ,
269+ extra_query = extra_query ,
270+ extra_body = extra_body ,
271+ timeout = timeout ,
272+ query = await async_maybe_transform (
273+ {
274+ "page" : page ,
275+ "per_page" : per_page ,
276+ "public_only" : public_only ,
277+ "usecases" : usecases ,
278+ },
279+ model_list_params .ModelListParams ,
280+ ),
172281 ),
173282 cast_to = ModelListResponse ,
174283 )
0 commit comments