2323 RowsResourceWithStreamingResponse ,
2424 AsyncRowsResourceWithStreamingResponse ,
2525)
26- from ...types import inference_pipeline_update_params , inference_pipeline_retrieve_params
26+ from ...types import (
27+ inference_pipeline_update_params ,
28+ inference_pipeline_retrieve_params ,
29+ inference_pipeline_retrieve_users_params ,
30+ )
2731from ..._types import Body , Omit , Query , Headers , NoneType , NotGiven , omit , not_given
2832from ..._utils import maybe_transform , async_maybe_transform
2933from ..._compat import cached_property
4549from ..._base_client import make_request_options
4650from ...types .inference_pipeline_update_response import InferencePipelineUpdateResponse
4751from ...types .inference_pipeline_retrieve_response import InferencePipelineRetrieveResponse
52+ from ...types .inference_pipeline_retrieve_users_response import InferencePipelineRetrieveUsersResponse
4853
4954__all__ = ["InferencePipelinesResource" , "AsyncInferencePipelinesResource" ]
5055
@@ -214,6 +219,61 @@ def delete(
214219 cast_to = NoneType ,
215220 )
216221
222+ def retrieve_users (
223+ self ,
224+ inference_pipeline_id : str ,
225+ * ,
226+ page : int | Omit = omit ,
227+ per_page : int | Omit = omit ,
228+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
229+ # The extra values given here take precedence over values defined on the client or passed to this method.
230+ extra_headers : Headers | None = None ,
231+ extra_query : Query | None = None ,
232+ extra_body : Body | None = None ,
233+ timeout : float | httpx .Timeout | None | NotGiven = not_given ,
234+ ) -> InferencePipelineRetrieveUsersResponse :
235+ """
236+ Get aggregated user data for an inference pipeline with pagination and metadata.
237+
238+ Returns a list of users who have interacted with the inference pipeline,
239+ including their activity statistics such as session counts, record counts, token
240+ usage, and costs.
241+
242+ Args:
243+ page: The page to return in a paginated query.
244+
245+ per_page: Maximum number of items to return per page.
246+
247+ extra_headers: Send extra headers
248+
249+ extra_query: Add additional query parameters to the request
250+
251+ extra_body: Add additional JSON properties to the request
252+
253+ timeout: Override the client-level default timeout for this request, in seconds
254+ """
255+ if not inference_pipeline_id :
256+ raise ValueError (
257+ f"Expected a non-empty value for `inference_pipeline_id` but received { inference_pipeline_id !r} "
258+ )
259+ return self ._get (
260+ f"/inference-pipelines/{ inference_pipeline_id } /users" ,
261+ options = make_request_options (
262+ extra_headers = extra_headers ,
263+ extra_query = extra_query ,
264+ extra_body = extra_body ,
265+ timeout = timeout ,
266+ query = maybe_transform (
267+ {
268+ "page" : page ,
269+ "per_page" : per_page ,
270+ },
271+ inference_pipeline_retrieve_users_params .InferencePipelineRetrieveUsersParams ,
272+ ),
273+ ),
274+ cast_to = InferencePipelineRetrieveUsersResponse ,
275+ )
276+
217277
218278class AsyncInferencePipelinesResource (AsyncAPIResource ):
219279 @cached_property
@@ -380,6 +440,61 @@ async def delete(
380440 cast_to = NoneType ,
381441 )
382442
443+ async def retrieve_users (
444+ self ,
445+ inference_pipeline_id : str ,
446+ * ,
447+ page : int | Omit = omit ,
448+ per_page : int | Omit = omit ,
449+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
450+ # The extra values given here take precedence over values defined on the client or passed to this method.
451+ extra_headers : Headers | None = None ,
452+ extra_query : Query | None = None ,
453+ extra_body : Body | None = None ,
454+ timeout : float | httpx .Timeout | None | NotGiven = not_given ,
455+ ) -> InferencePipelineRetrieveUsersResponse :
456+ """
457+ Get aggregated user data for an inference pipeline with pagination and metadata.
458+
459+ Returns a list of users who have interacted with the inference pipeline,
460+ including their activity statistics such as session counts, record counts, token
461+ usage, and costs.
462+
463+ Args:
464+ page: The page to return in a paginated query.
465+
466+ per_page: Maximum number of items to return per page.
467+
468+ extra_headers: Send extra headers
469+
470+ extra_query: Add additional query parameters to the request
471+
472+ extra_body: Add additional JSON properties to the request
473+
474+ timeout: Override the client-level default timeout for this request, in seconds
475+ """
476+ if not inference_pipeline_id :
477+ raise ValueError (
478+ f"Expected a non-empty value for `inference_pipeline_id` but received { inference_pipeline_id !r} "
479+ )
480+ return await self ._get (
481+ f"/inference-pipelines/{ inference_pipeline_id } /users" ,
482+ options = make_request_options (
483+ extra_headers = extra_headers ,
484+ extra_query = extra_query ,
485+ extra_body = extra_body ,
486+ timeout = timeout ,
487+ query = await async_maybe_transform (
488+ {
489+ "page" : page ,
490+ "per_page" : per_page ,
491+ },
492+ inference_pipeline_retrieve_users_params .InferencePipelineRetrieveUsersParams ,
493+ ),
494+ ),
495+ cast_to = InferencePipelineRetrieveUsersResponse ,
496+ )
497+
383498
384499class InferencePipelinesResourceWithRawResponse :
385500 def __init__ (self , inference_pipelines : InferencePipelinesResource ) -> None :
@@ -394,6 +509,9 @@ def __init__(self, inference_pipelines: InferencePipelinesResource) -> None:
394509 self .delete = to_raw_response_wrapper (
395510 inference_pipelines .delete ,
396511 )
512+ self .retrieve_users = to_raw_response_wrapper (
513+ inference_pipelines .retrieve_users ,
514+ )
397515
398516 @cached_property
399517 def data (self ) -> DataResourceWithRawResponse :
@@ -421,6 +539,9 @@ def __init__(self, inference_pipelines: AsyncInferencePipelinesResource) -> None
421539 self .delete = async_to_raw_response_wrapper (
422540 inference_pipelines .delete ,
423541 )
542+ self .retrieve_users = async_to_raw_response_wrapper (
543+ inference_pipelines .retrieve_users ,
544+ )
424545
425546 @cached_property
426547 def data (self ) -> AsyncDataResourceWithRawResponse :
@@ -448,6 +569,9 @@ def __init__(self, inference_pipelines: InferencePipelinesResource) -> None:
448569 self .delete = to_streamed_response_wrapper (
449570 inference_pipelines .delete ,
450571 )
572+ self .retrieve_users = to_streamed_response_wrapper (
573+ inference_pipelines .retrieve_users ,
574+ )
451575
452576 @cached_property
453577 def data (self ) -> DataResourceWithStreamingResponse :
@@ -475,6 +599,9 @@ def __init__(self, inference_pipelines: AsyncInferencePipelinesResource) -> None
475599 self .delete = async_to_streamed_response_wrapper (
476600 inference_pipelines .delete ,
477601 )
602+ self .retrieve_users = async_to_streamed_response_wrapper (
603+ inference_pipelines .retrieve_users ,
604+ )
478605
479606 @cached_property
480607 def data (self ) -> AsyncDataResourceWithStreamingResponse :
0 commit comments