
                            S r SSKrSSKJr  SSKJr  SSKJr  SSKJr  SSKJ	r	  SSKJ
r
  SS	KJr  S
 rS r\R                  \R                  " \R                   R"                  5       " S S\R$                  5      5       5       r\R                  \R                  " \R                   R(                  \R                   R*                  5       " S S\5      5       5       rg)z6Vertex AI endpoints stream direct raw predict command.    N)prediction_streamer)base)	constants)endpoint_util)endpoints_util)flags)region_utilc                 x    [         R                  " U S[        R                  S9  [         R                  " U 5        g )Nz)to do online stream direct raw prediction)prompt_func)r   AddEndpointResourceArgr	   PromptForOpRegionAddDirectRawPredictInputArgparsers    5lib/surface/ai/endpoints/stream_direct_raw_predict.py_AddArgsr      s/    1//
 ##F+    c              #     #    U R                   R                  R                  5       nUR                  5       S   U l        [
        R                  " XR                  SS9   [        R                  " U R                  5      nU[        R                  :X  a  [        R                  " S5      nO[        R                  " S5      nU R                  S5      (       d  SU l        UR!                  UR#                  5       US   US	   S
9 H,  n[$        R&                  " UR(                  5      Ul        Uv   M.     SSS5        g! , (       d  f       g= f7f)z2Run Vertex AI online stream direct raw prediction.locationsIdT)regionis_predictionv1v1beta1formatjsonmethod_nameinput)endpointr   r   N)CONCEPTSr   ParseAsDictr   r   AiplatformEndpointOverridesr   ReadInputFromArgsjson_requestr   
GA_VERSIONr   PredictionStreamerIsSpecifiedr   StreamDirectRawPredictRelativeNamebase64	b64decodeoutput)argsversionendpoint_ref
input_jsonstreamerresps         r   _Runr3   &   s	    ''--/,##%m4$+00kk  11$2C2CDJ)&&&$77=h$77	BhH%%dk//**,}-! 0 
 $$T[[1dkj  s   AECD;2	E;
E	Ec                   .    \ rS rSrSr\S 5       rS rSrg)StreamDirectRawPredictGa?   a  Run Vertex AI online stream direct raw prediction.

   `{command}` sends a stream direct raw prediction request to Vertex AI
   endpoint for the given input. The request limit is 10MB.

## EXAMPLES

To stream direct predict against an endpoint ``123'' under project ``example''
in region ``us-central1'', run:

  $ {command} 123 --project=example --region=us-central1
  --json-request=input.json
c                     [        U 5        g N)r   r   s    r   ArgsStreamDirectRawPredictGa.ArgsP   s
    Vr   c                 6    [        U[        R                  5      $ r8   )r3   r   r%   selfr-   s     r   RunStreamDirectRawPredictGa.RunT   s    i**++r    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr9   r>   __static_attributes__r@   r   r   r5   r5   ?   s       ,r   r5   c                       \ rS rSrSrS rSrg)StreamDirectRawPredictBetaX   a  Run Vertex AI online stream direct raw prediction.

   `{command}` sends a stream direct raw prediction request to Vertex AI
   endpoint for the given input. The request limit is 10MB.

## EXAMPLES

To stream direct raw predict against an endpoint ``123'' under project
``example'' in region ``us-central1'', run:

  $ {command} 123 --project=example --region=us-central1
  --json-request=input.json
c                 6    [        U[        R                  5      $ r8   )r3   r   BETA_VERSIONr<   s     r   r>   StreamDirectRawPredictBeta.Runi   s    i,,--r   r@   N)rA   rB   rC   rD   rE   r>   rG   r@   r   r   rI   rI   X   s    .r   rI   )rE   r*   #googlecloudsdk.api_lib.ai.endpointsr   googlecloudsdk.callioper   googlecloudsdk.command_lib.air   r   r   r   r	   r   r3   UniverseCompatibleReleaseTracksReleaseTrackGACommandr5   BETAALPHArI   r@   r   r   <module>rX      s    =  C ( 3 7 8 / 5,2 D%%((),t|| , * ,. D%%**D,=,=,C,CD.!9 . E .r   