
    +jk                    `   d dl Z d dlZd dlmZmZmZ d dlmZ ddlm	Z	 ddlm
Z
 ddlmZ ddlmZ dd	l
mZ dd
l
mZ ddlmZmZ  ej        d          Z	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fdZ	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fdZ	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fdZ	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fdZ	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fdZ	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fdZ	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fdZ 	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fdZ!	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fdZ"	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fdZ#	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fdZ$	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fdZ%	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fdZ&	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fdZ'	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fdZ(	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd Z)	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd!Z*	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd"Z+	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd#Z,	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd$Z-	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd%Z.	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd&Z/	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd'Z0	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd(Z1	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd)Z2	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd*Z3	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd+Z4	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd,Z5	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd-Z6	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd.Z7	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd/Z8	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd0Z9	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd1Z:	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd2Z;	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd3Z<	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd4Z=	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd5Z>	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd6Z?	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd7Z@	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd8ZA	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd9ZB	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd:ZC	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd;ZD	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd<ZE	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd=ZF	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd>ZG	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd?ZH	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fd@ZI	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fdAZJ	 	 dIdeeeef         ef         deeeef                  deeeeef         ef                  deeef         fdBZK G dC dDe	jL                  ZM G dE dFe	jL                  ZN G dG dH          ZOdS )J    N)AnyOptionalUnion)	urlencode   )_api_module)_common)_transformers)types)get_value_by_path)set_value_by_path)
AsyncPagerPagerzgoogle_genai.tuningsfrom_objectparent_objectroot_objectreturnc           
         i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          0t          |dgt          t          | dg          ||                     |S )	NsamplingCountsampling_countflipEnabledflip_enabledautoraterModelautorater_modelgenerationConfiggeneration_configgetvsetv_GenerationConfig_from_vertexr   r   r   	to_objects       X/home/wildlama/visual-decline/.venv/lib/python3.11/site-packages/google/genai/tunings.py_AutoraterConfig_from_vertexr$   "   s   
 !)	+())5%&[?:K(L(LMMM	+''3^$d;&H&HIII	+()**6&'k<L;M)N)NOOO	+*+,,8	%1233Y	
 	
   
    c           
         i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          0t          |dgt          t          | dg          ||                     |S )	Nr   r   r   r   r   r   r   r   )r   r   _GenerationConfig_to_vertexr!   s       r#   _AutoraterConfig_to_vertexr(   =   s   
 !)	+()**6_%tK:J9K'L'LMMM	+'((4]OT+7G%H%HIII	+)*++7%&[;L:M(N(NOOO	++,--9	#2344i	
 	
   
r%   c                 p    i }t          | dg          "t          |ddgt          | dg                     |S Nname_urlr   r   r!   s       r#   #_CancelTuningJobParameters_to_mldevr.   X   D    
 !)	+x  ,VV$d;&A&ABBB	r%   c                 p    i }t          | dg          "t          |ddgt          | dg                     |S r*   r-   r!   s       r#   $_CancelTuningJobParameters_to_vertexr1   d   r/   r%   c                 n    i }t          | dg          !t          |dgt          | dg                     |S NsdkHttpResponsesdk_http_responser-   r!   s       r#   #_CancelTuningJobResponse_from_mldevr6   p   P    
 !)	+)*++7'(${=N<O*P*P   
r%   c                 n    i }t          | dg          !t          |dgt          | dg                     |S r3   r-   r!   s       r#   $_CancelTuningJobResponse_from_vertexr9   ~   r7   r%   c                    i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          t          d          |S )Noutcomeoutputidjid parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r   r   
ValueErrorr!   s       r#   _CodeExecutionResult_to_vertexrA      s    
 !)	+	{##/YKkI;!?!?@@@	+z"".XJ[8* = =>>>	+v*
	2  
 
r%   c           
          i }t          | dg          0t          |dgt          t          | dg          ||                     t          | dg          !t          |dgt          | dg                     |S )NrewardConfigreward_configweight)r   r   2_SingleReinforcementTuningRewardConfig_from_vertexr!   s       r#   I_CompositeReinforcementTuningRewardConfigWeightedRewardConfig_from_vertexrG      s    
 !)	+'((4	:~.//K	
 	
   
+z"".XJ[8* = =>>>	r%   c           
          i }t          | dg          0t          |dgt          t          | dg          ||                     t          | dg          !t          |dgt          | dg                     |S )NrD   rC   rE   )r   r   0_SingleReinforcementTuningRewardConfig_to_vertexr!   s       r#   G_CompositeReinforcementTuningRewardConfigWeightedRewardConfig_to_vertexrJ      s    
 !)	+())5	8/00)[	
 	
   
+z"".XJ[8* = =>>>	r%   c           	          i t          | dg          .t          dgfdt          | dg          D                        S )NweightedRewardConfigsweighted_reward_configsc                 2    g | ]}t          |          S  )rG   .0itemr   r"   s     r#   
<listcomp>zI_CompositeReinforcementTuningRewardConfig_from_vertex.<locals>.<listcomp>   s=     	
 	
 	
  Vi 	
 	
 	
r%   r-   r!   s     `@r#   5_CompositeReinforcementTuningRewardConfig_from_vertexrT      s}    
 !)	+/011=	"#	
 	
 	
 	
 	
 [+B*CDD		
 	
 	
	 	 	 
r%   c           	          i t          | dg          .t          dgfdt          | dg          D                        S )NrM   rL   c                 2    g | ]}t          |          S rO   )rJ   rP   s     r#   rS   zG_CompositeReinforcementTuningRewardConfig_to_vertex.<locals>.<listcomp>   s=     	
 	
 	
  Ti 	
 	
 	
r%   r-   r!   s     `@r#   3_CompositeReinforcementTuningRewardConfig_to_vertexrW      s}    
 !)	+1233?	 !	
 	
 	
 	
 	
 [+D*EFF		
 	
 	
	 	 	 
r%   c           	          i t          | dg          .t          dgfdt          | dg          D                        t          | dg          !t          dgt          | dg                     S )Npartsc                 2    g | ]}t          |          S rO   )_Part_to_vertexrP   s     r#   rS   z&_Content_to_vertex.<locals>.<listcomp>   s5     	
 	
 	
 D)[99	
 	
 	
r%   roler-   r!   s     `@r#   _Content_to_vertexr]      s    
 !)	+y!!-			
 	
 	
 	
 	
[7)44	
 	
 	
   
+x  ,VHd;99:::	r%   c                    i }t          | dg          t          d          t          | dg          !t          |dgt          | dg                     t          | dg          t          d          t          | dg          "t          |g dt          | dg                     t          | d	g          "t          |g d
t          | d	g                     t          | dg          t          d          t          | dg          t          d          t          | dg          t          d          t          | dg          t          d          t          | dg          t          d          t          | dg          "t          |g dt          | dg                     t          | dg          "t          |g dt          | dg                     t          | dg          t          d          t          | dg          t          d          t          | dg          t          d          t          | dg          t          d           t          | d!g          t          d"          t          | d#g          t          d$          t          | d%g          t          d&          t          | d'g          t          d(          t          | d)g          t          d*          t          | d+g          t          d,          t          | d-g          t          d.          t          | d/g          t          d0          t          | d1g          t          d2          t          | d3g          t          d4          t          | d5g          t          d6          t          | d7g          t          d8          |S )9Nvalidation_datasetzzvalidation_dataset parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.tuned_model_display_namedisplayNamedescriptionzsdescription parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.epoch_count)
tuningTaskhyperparameters
epochCountlearning_rate_multiplier)rd   re   learningRateMultiplierexport_last_checkpoint_onlyzexport_last_checkpoint_only parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.pre_tuned_model_checkpoint_idzpre_tuned_model_checkpoint_id parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.adapter_sizeztadapter_size parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.tuning_modezstuning_mode parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.custom_base_modelzycustom_base_model parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.
batch_size)rd   re   	batchSizelearning_rate)rd   re   learningRateevaluation_configzyevaluation_config parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.labelsznlabels parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.betazlbeta parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.base_teacher_modelzzbase_teacher_model parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.tuned_teacher_model_sourceztuned_teacher_model_source parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.sft_loss_weight_multiplierzsft_loss_weight_multiplier parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.
output_urizroutput_uri parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.encryption_speczwencryption_spec parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.rD   zureward_config parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.composite_reward_configzcomposite_reward_config parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.samples_per_promptzzsamples_per_prompt parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.evaluate_intervalzyevaluate_interval parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.checkpoint_intervalz{checkpoint_interval parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.max_output_tokenszymax_output_tokens parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.thinking_levelzvthinking_level parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.validation_dataset_uriz~validation_dataset_uri parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.r   r@   r   r!   s       r#   _CreateTuningJobConfig_to_mldevr     sg   
 !)	+,-..:
	B  
 
+2344@	[5677   
+''3
	<  
 
+''3777[=/**   
+2344@CCC[5677   
+5677C
	M  
 
+7899E
	M  
 
+'((4
	<  
 
+''3
	<  
 
++,--9
	B  
 
+~&&2666[<.))   
+())5999[?+,,   
++,--9
	B  
 
+z"".
	3  
 
+x  ,
	3  
 
+,-..:
	B  
 
+4566B
	M  
 
+4566B
	M  
 
+~&&2
	<  
 
+)*++7
	<  
 
+())5
	<  
 
+1233?
	M  
 
+,-..:
	B  
 
++,--9
	B  
 
+-.//;
	B  
 
++,--9
	B  
 
+()**6
	<  
 
+0122>
	M  
 
r%   c           
         i }t          |ddg          }|d}|dk    rBt          | dg          0t          |dgt          t          | dg          ||                     n|dk    rBt          | dg          0t          |dgt          t          | dg          ||                     n|dk    rBt          | dg          0t          |d	gt          t          | dg          ||                     nG|d
k    rAt          | dg          0t          |dgt          t          | dg          ||                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          |ddg          }|d}|dk    r4t          | dg          "t          |g dt          | dg                     n|dk    r4t          | dg          "t          |g dt          | dg                     ns|dk    r4t          | dg          "t          |g dt          | dg                     n9|d
k    r3t          | dg          "t          |g dt          | dg                     t          |ddg          }|d}|dk    r4t          | dg          "t          |g dt          | dg                     n|dk    r4t          | dg          "t          |g dt          | dg                     ns|dk    r4t          | dg          "t          |g dt          | dg                     n9|d
k    r3t          | dg          "t          |g dt          | dg                     t          |ddg          }|d}|dk    r4t          | dg          "t          |ddgt          | dg                     ns|dk    r4t          | dg          "t          |ddgt          | dg                     n9|dk    r3t          | dg          "t          |d	dgt          | dg                     t          |ddg          }|d}|dk    r4t          | dg          "t          |g dt          | dg                     n|dk    r4t          | dg          "t          |g dt          | dg                     ns|dk    r4t          | dg          "t          |g dt          | dg                     n9|d
k    r3t          | dg          "t          |g dt          | dg                     t          |ddg          }|d}|dk    r4t          | d g          "t          |dd!gt          | d g                     n9|dk    r3t          | d g          "t          |d	d!gt          | d g                     t          | d"g          !t          |d#gt          | d"g                     t          |ddg          }|d}|dk    r4t          | d$g          "t          |g d%t          | d$g                     ns|dk    r4t          | d$g          "t          |g d&t          | d$g                     n9|d
k    r3t          | d$g          "t          |g d't          | d$g                     t          |ddg          }|d}|dk    r4t          | d(g          "t          |g d)t          | d(g                     n9|dk    r3t          | d(g          "t          |g d*t          | d(g                     t          |ddg          }|d}|dk    rCt          | d+g          1t          |dd,gt          t          | d+g          ||                     n|dk    rCt          | d+g          1t          |dd,gt          t          | d+g          ||                     nH|dk    rBt          | d+g          1t          |d	d,gt          t          | d+g          ||                     t          | d-g          !t          |d-gt          | d-g                     t          | d.g          "t          |g d/t          | d.g                     t          | d0g          "t          |d	d1gt          | d0g                     t          | d2g          "t          |d	d3gt          | d2g                     t          | d4g          "t          |g d5t          | d4g                     t          | d6g          !t          |d7gt          | d6g                     t          | d8g          !t          |d9gt          | d8g                     t          | d:g          1t          |dd;gt	          t          | d:g          ||                     t          | d<g          1t          |dd=gt          t          | d<g          ||                     t          | d>g          "t          |g d?t          | d>g                     t          | d@g          "t          |g dAt          | d@g                     t          | dBg          "t          |g dCt          | dBg                     t          | dDg          "t          |g dEt          | dDg                     t          | dFg          "t          |g dGt          | dFg                     t          | dHg          "t          |ddIgt          | dHg                     |S )JNconfigmethodSUPERVISED_FINE_TUNINGr_   supervisedTuningSpecPREFERENCE_TUNINGpreferenceOptimizationSpecDISTILLATIONdistillationSpecREINFORCEMENT_TUNINGreinforcementTuningSpecr`   tunedModelDisplayNamerb   rc   )r   hyperParametersrf   )r   r   rf   )r   r   rf   )r   r   rf   rg   )r   r   rh   )r   r   rh   )r   r   rh   )r   r   rh   ri   exportLastCheckpointOnlyrk   )r   r   adapterSize)r   r   r   )r   r   r   )r   r   r   rl   
tuningModerm   customBaseModelrn   )r   r   ro   )r   r   ro   )r   r   ro   rp   )r   r   rq   )r   r   rq   rr   evaluationConfigrs   rt   )r   r   rt   ru   baseTeacherModelrv   tunedTeacherModelSourcerw   )r   r   sftLossWeightMultiplierrx   	outputUriry   encryptionSpecrD   singleRewardConfigrz   compositeRewardConfigr{   )r   r   samplesPerPromptr|   )r   r   evaluateIntervalr}   )r   r   checkpointIntervalr~   )r   r   maxOutputTokensr   )r   r   thinkingLevelr   validationDatasetUri)r   r   "_TuningValidationDataset_to_vertex_EvaluationConfig_to_vertexrI   rW   r   r   r   r"   discriminators        r#    _CreateTuningJobConfig_to_vertexr     s]   
 !){Xx$899-,M...K./00<

!
"
,;!5 677K    +++K./00<

'
(
,;!5 677K    &&K./00<



,;!5 677K    ...K./00<

$
%
,;!5 677K    
+2344@	 ![5677   
+''3kM?)K)KLLL{Xx$899-,M...K-))5


C
C
C
{]O
,
,  
 +++K-))5


I
I
I
{]O
,
,  
 &&K-))5


?
?
?
{]O
,
,  
 ...K-))5


F
F
F
{]O
,
,   {Xx$899-,M...K4566B


O
O
O
{78
9
9  
 +++K4566B

  
 {78
9
9   &&K4566B


K
K
K
{78
9
9  
 ...K4566B

  
 {78
9
9   {Xx$899-,M...K7899E

!#=
>
{:;
<
<  
 +++K7899E

')C
D
{:;
<
<  
 &&K7899E

9
:
{:;
<
<   {Xx$899-,M...K.)**6


D
D
D
{^,
-
-  
 +++K.)**6


J
J
J
{^,
-
-  
 &&K.)**6


@
@
@
{^,
-
-  
 ...K.)**6


G
G
G
{^,
-
-   {Xx$899-,M...K-))5

!<
0
{]O
,
,  
 &&K-))5

|
,
{]O
,
,   
++,--9	[./00   {Xx$899-,M...K,((4


B
B
B
{\N
+
+  
 &&K,((4


>
>
>
{\N
+
+  
 ...K,((4


E
E
E
{\N
+
+   {Xx$899-,M...K/*++7


E
E
E
{_-
.
.  
 &&K/*++7


A
A
A
{_-
.
.   {Xx$899-,M...K-.//;

!#5
6
%;!4 566	;    +++K-.//;

');
<
%;!4 566	;    &&K-.//;

1
2
%;!4 566	;    
+z"".
Dxj$A$ABBB	+x  ,AAA[6(##   
+,-..:	/0[/011   
+4566B	67[7899   
+4566BJJJ[7899   
+~&&2tK,'H'HIII	+)*++7	[,-..   
+())5	"$898/00)[	
 	
   
+1233?	"$;<;89::	
 	
   
+,-..:JJJ[/011   
++,--9JJJ[./00   
+-.//;LLL[0122   
++,--9III[./00   
+()**6GGG[+,--   
+0122>	"$:;[3455   
r%   c                    i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg           t          t          | dg          ||           t          | dg           t          t          | dg          ||           |S N
base_model	baseModelpre_tuned_modelpreTunedModeltraining_datasetr   )r   r   _TuningDataset_to_mldevr   r!   s       r#   *_CreateTuningJobParametersPrivate_to_mldevr   I  s    
 !)	+~&&2[M4l^#D#DEEE	+)*++7_%tK:K9L'M'MNNN	+*+,,8[-.//K   
+z"".#[8*%%y+   
r%   c                    i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg           t          t          | dg          ||           t          | dg           t          t          | dg          ||           |S r   )r   r   _TuningDataset_to_vertexr   r!   s       r#   +_CreateTuningJobParametersPrivate_to_vertexr   b  s    
 !)	+~&&2[M4l^#D#DEEE	+)*++7_%tK:K9L'M'MNNN	+*+,,8[-.//K   
+z"".$[8*%%y+   
r%   c           
         i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          0t          |dgt          t          | dg          ||                     t          | d	g          !t          |d
gt          | d	g                     t          | dg          !t          |dgt          | dg                     |S )Nr   rk   rf   rc   rh   rg   r   r   rq   rp   ro   rn   r   r!   s       r#   (_DistillationHyperParameters_from_vertexr   {  sp   
 !)	+''3^$d;&H&HIII	+~&&2]OT+~%F%FGGG	+0122>	#$[3455   
+*+,,8	%1233Y	
 	
   
+'((4_%tK.9I'J'JKKK	+}%%1\ND{m$D$DEEE	r%   c           
         i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | d	g          0t          |d	gt          t          | d	g          ||                     |S )
Nr   ru   r   rv   r   r   promptDatasetUriprompt_dataset_urire   r   r   r   r!   s       r#   %_DistillationSamplingSpec_from_vertexr     sj   
 !)	+*+,,8	[-.//   
+1233?	%&[4566   
+./00<	!"[1233   
+*+,,8	[-.//   
+)*++7	00122I{	
 	
   
r%   c           
         i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          0t          |dgt          t          | dg          ||                     t          | dg          !t          |dgt          | dg                     t          | d	g          !t          |d
gt          | d	g                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     |S )Nr   r   r   ru   r   hyper_parameterspipelineRootDirectorypipeline_root_directorystudentModelstudent_modeltrainingDatasetUritraining_dataset_urir   rv   r   r   r   rl   r   r!   s       r#   _DistillationSpec_from_vertexr     sU   
 !)	+*+,,8	[-.//   
+*+,,8	[-.//   
+)*++7	00122I{	
 	
   
+/011=	"#[2344   
+'((4_%tK.9I'J'JKKK	+,-..:	 [/011   
+1233?	%&[4566   
+./00<	!"[1233   
+~&&2]OT+~%F%FGGG	r%   c           
         i }t          | dg          3t          |dgt          j        t          | dg                               t          | dg          !t          |dgt          | dg                     t          | dg          0t          |dgt	          t          | dg          ||                     t          | dg          0t          |dgt          t          | dg          ||                     |S )NmetricsoutputConfigoutput_configautoraterConfigautorater_configinferenceGenerationConfiginference_generation_config)r   r   t	t_metricsr$   r    r!   s       r#   _EvaluationConfig_from_vertexr     s(   
 !)	+	{##/YKT+	{-K-K!L!LMMM	+'((4_%tK.9I'J'JKKK	+)*++7	$0122I{	
 	
   
+3455A	&'%:;<<	
 	
   
r%   c           
         i }t          | dg          3t          |dgt          j        t          | dg                               t          | dg          !t          |dgt          | dg                     t          | dg          0t          |dgt	          t          | dg          ||                     t          | dg          0t          |dgt          t          | dg          ||                     |S )Nr   r   r   r   r   r   r   )r   r   r   r   r(   r'   r!   s       r#   r   r   3  s(   
 !)	+	{##/YKT+	{-K-K!L!LMMM	+())5^$d;8I&J&JKKK	+*+,,8	"1233Y	
 	
   
+5677C	$%#<=>>	
 	
   
r%   c                    i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          t          d          |S )Ncodelanguager=   r>   r?   r!   s       r#   _ExecutableCode_to_vertexr   V  s    
 !)	+x  ,VHd;99:::	+
|$$0ZL${ZL"A"ABBB	+v*
	2  
 
r%   c                    i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | d	g          !t          |d
gt          | d	g                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |d gt          | dg                     t          | d!g          !t          |d"gt          | d!g                     t          | d#g          !t          |d#gt          | d#g                     t          | d$g          !t          |d%gt          | d$g                     t          | d&g          !t          |d'gt          | d&g                     t          | d(g          !t          |d)gt          | d(g                     |S )*NmodelConfigmodel_selection_configresponseJsonSchemaresponse_json_schemaaudioTimestampaudio_timestampcandidateCountcandidate_countenableAffectiveDialogenable_affective_dialogfrequencyPenaltyfrequency_penaltylogprobsr   r~   mediaResolutionmedia_resolutionpresencePenaltypresence_penaltyresponseLogprobsresponse_logprobsresponseMimeTyperesponse_mime_typeresponseModalitiesresponse_modalitiesresponseSchemaresponse_schemaroutingConfigrouting_configseedspeechConfigspeech_configstopSequencesstop_sequencestemperaturethinkingConfigthinking_configtopKtop_ktopPtop_pr-   r!   s       r#   r    r    k  s   
 !)	+''3	!"[=/**   
+,-..:	 [/011   
+()**6&'k<L;M)N)NOOO	+()**6&'k<L;M)N)NOOO	+/011=	"#[2344   
+*+,,8	[-.//   
+
|$$0ZL${ZL"A"ABBB	+)*++7'(${=N<O*P*P   
+)*++7&'k<M;N)O)O   
+)*++7&'k<M;N)O)O   
+*+,,8	[-.//   
+*+,,8	[-.//   
+,-..:	[/011   
+()**6&'k<L;M)N)NOOO	+())5%&[?:K(L(LMMM	+x  ,VHd;99:::	+'((4_%tK.9I'J'JKKK	+())5%&[?:K(L(LMMM	+''3]OT+%G%GHHH	+()**6&'k<L;M)N)NOOO	+x  ,WItK&::;;;	+x  ,WItK&::;;;	r%   c           
       	   i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | d	g          !t          |d
gt          | d	g                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          0t          |d gt          t          | dg          ||                     t          | d!g          !t          |d"gt          | d!g                     t          | d#g          !t          |d#gt          | d#g                     t          | d$g          !t          |d%gt          | d$g                     t          | d&g          !t          |d'gt          | d&g                     t          | d(g          !t          |d)gt          | d(g                     t          | d*g          t          d+          |S ),Nr   r   r   r   r   r   r   r   r   r   r   r   r   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   enable_enhanced_civic_answerszenable_enhanced_civic_answers parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.)r   r   _SpeechConfig_to_vertexr@   r!   s       r#   r'   r'     sf   
 !)	+0122>	[3455   
+./00<	[1233   
+)*++7%&[;L:M(N(NOOO	+)*++7%&[;L:M(N(NOOO	+1233?	 ![4566   
++,--9	[./00   
+
|$$0ZL${ZL"A"ABBB	++,--9%&[;N:O(P(P   
+*+,,8%&[;M:N(O(O   
+*+,,8%&[;M:N(O(O   
++,--9	[./00   
+,-..:	[/011   
+-.//;	[0122   
+)*++7%&[;L:M(N(NOOO	+()**6_%tK:J9K'L'LMMM	+x  ,VHd;99:::	+())5	/00)[	
 	
   
+()**6_%tK:J9K'L'LMMM	+''3]OT+%G%GHHH	+)*++7%&[;L:M(N(NOOO	+y!!-VHd;	::;;;	+y!!-VHd;	::;;;	+7899E
	M  
 
r%   c                 p    i }t          | dg          "t          |ddgt          | dg                     |S r*   r-   r!   s       r#    _GetTuningJobParameters_to_mldevr   Q  r/   r%   c                 p    i }t          | dg          "t          |ddgt          | dg                     |S r*   r-   r!   s       r#   !_GetTuningJobParameters_to_vertexr  ]  r/   r%   c                 <   i }t          | dg          "t          |ddgt          | dg                     t          | dg          "t          |ddgt          | dg                     t          | dg          "t          |ddgt          | dg                     |S )N	page_size_querypageSize
page_token	pageTokenfilterr-   r!   s       r#   _ListTuningJobsConfig_to_vertexr	  i  s    
 !)	+}%%1*-tK+/O/O   
+~&&2	;[<.))   
+z"".8,d;
.K.KLLL	r%   c                 l    i }t          | dg           t          t          | dg          ||           |S )Nr   )r   r	  r!   s       r#   #_ListTuningJobsParameters_to_vertexr    sH    
 !)	+z"".#[8*%%y+   
r%   c           	      T   i t          | dg          !t          dgt          | dg                     t          | dg          !t          dgt          | dg                     t          | dg          .t          dgfdt          | dg          D                        S )Nr4   r5   nextPageTokennext_page_token
tuningJobstuning_jobsc                 2    g | ]}t          |          S rO   )_TuningJob_from_vertexrP   s     r#   rS   z7_ListTuningJobsResponse_from_vertex.<locals>.<listcomp>  s5     	
 	
 	
 #4K@@	
 	
 	
r%   r-   r!   s     `@r#   #_ListTuningJobsResponse_from_vertexr    s    
 !)	+)*++7'(${=N<O*P*P   
+())5&'kO;L)M)MNNN	+~&&2		
 	
 	
 	
 	
[<.99	
 	
 	
   
r%   c           	          i t          | dg          .t          dgfdt          | dg          D                        S )Nspeaker_voice_configsspeakerVoiceConfigsc                 2    g | ]}t          |          S rO   )_SpeakerVoiceConfig_to_vertexrP   s     r#   rS   z6_MultiSpeakerVoiceConfig_to_vertex.<locals>.<listcomp>  s5     	
 	
 	
 *$	;GG	
 	
 	
r%   r-   r!   s     `@r#   "_MultiSpeakerVoiceConfig_to_vertexr    s{    
 !)	+/011=		
 	
 	
 	
 	
[+B*CDD	
 	
 	
   
r%   c           
      R   i }t          | dg          !t          |dgt          | dg                     t          | dg          0t          |dgt          t          | dg          ||                     t          | dg          0t          |dgt          t          | dg          ||                     t          | dg          !t          |dgt          | dg                     t          | d	g          !t          |d
gt          | d	g                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          t	          d          t          | dg          t	          d          t          | dg          t	          d          |S )Nr   r   code_execution_resultcodeExecutionResultexecutable_codeexecutableCode	file_datafileDatafunction_callfunctionCallfunction_responsefunctionResponseinline_data
inlineDatatextthoughtthought_signaturethoughtSignaturevideo_metadatavideoMetadata	tool_callzqtool_call parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.tool_responsezutool_response parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.part_metadatazupart_metadata parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.)r   r   rA   r   r@   r!   s       r#   r[   r[     s1   
 !)	+*+,,8%&[;M:N(O(O   
+/011=	&6788)[	
 	
   
+)*++7	!0122I{	
 	
   
+}%%1ZL${[M"B"BCCC	+())5^$d;8I&J&JKKK	++,--9	[./00   
+''3\ND}o$F$FGGG	+x  ,VHd;99:::	+	{##/YKkI;!?!?@@@	++,--9	[./00   
+()**6_%tK:J9K'L'LMMM	+}%%1
	9  
 
+())5
	?  
 
+())5
	?  
 
r%   c           
         i }t          | dg          0t          |dgt          t          | dg          ||                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | d	g          !t          |d
gt          | d	g                     |S )Nr   r   autoraterPromptautorater_promptautoraterResponseParseConfigautorater_response_parse_configparsedResponseConversionScorer!parsed_response_conversion_scorerexactMatchScorerexact_match_scorer)r   r   r$   r!   s       r#   /_ReinforcementTuningAutoraterScorer_from_vertexr9    si   
 !)	+)*++7	$0122I{	
 	
   
+)*++7&'k<M;N)O)O   
+6788D	*+[9:;;   
+89::F	,-[;<==   
+*+,,8	[-.//   
r%   c           
         i }t          | dg          0t          |dgt          t          | dg          ||                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | d	g          !t          |d
gt          | d	g                     |S )Nr   r   r2  r1  r4  r3  r6  r5  r8  r7  )r   r   r(   r!   s       r#   -_ReinforcementTuningAutoraterScorer_to_vertexr;  <  si   
 !)	+*+,,8	"1233Y	
 	
   
+*+,,8%&[;M:N(O(O   
+9:;;G	'([<=>>   
+;<==I	)*[>?@@   
+,-..:	[/011   
r%   c           
      r   i t          | dg          .t          dgfdt          | dg          D                        t          | dg          !t          dgt          | dg                     t          | dg          0t          dgt          t          | dg                               S )Ncontentsc                 2    g | ]}t          |          S rO   )r]   rP   s     r#   rS   z9_ReinforcementTuningExample_to_vertex.<locals>.<listcomp>r  s5     	
 	
 	
 tY<<	
 	
 	
r%   
referencessystem_instructionsystemInstruction)r   r   r]   r!   s     `@r#   %_ReinforcementTuningExample_to_vertexrB  h  s    
 !)	+
|$$0		
 	
 	
 	
 	
[:,77	
 	
 	
   
+~&&2\ND|n$E$EFFF	+,-..:	3455y+	
 	
   
r%   c           
      :   i }t          | dg          0t          |dgt          t          | dg          ||                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | d	g          0t          |d
gt          t          | d	g          ||                     |S )Nr   rz   r   r   r   r   r   r   r   single_reward_config)r   r   rT   rF   r!   s       r#   $_ReinforcementTuningSpec_from_vertexrE    sz   
 !)	+/011=	"#=6788)[	
 	
   
+,-..:	 [/011   
+./00<	!"[1233   
+)*++7&'k<M;N)O)O   
+,-..:	 :3455y+	
 	
   
r%   c                 R   i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          t          d          t          | dg          t          d          |S )	N	mime_typemimeTypevoice_sample_audiovoiceSampleAudioconsent_audiozuconsent_audio parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.voice_consent_signaturezvoice_consent_signature parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r?   r!   s       r#    _ReplicatedVoiceConfig_to_vertexrM    s    
 !)	+}%%1ZL${[M"B"BCCC	+,-..:	[/011   
+())5
	?  
 
+1233?
	M  
 
r%   c           
         i }t          | dg          0t          |dgt          t          | dg          ||                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | d	g          !t          |d
gt          | d	g                     t          | dg          !t          |dgt          | dg                     |S )NautoraterScorerautorater_scorer
rewardNamereward_nameparseResponseConfigparse_response_configcodeExecutionRewardScorercode_execution_reward_scorerstringMatchRewardScorerstring_match_reward_scorercloudRunRewardScorercloud_run_reward_scorer)r   r   r9  r!   s       r#   rF   rF     s   
 !)	+)*++7	70122I{	
 	
   
+~&&2]OT+~%F%FGGG	+-.//;	 ![0122   
+3455A	'([6788   
+1233?	%&[4566   
+./00<	"#[1233   
r%   c           
         i }t          | dg          0t          |dgt          t          | dg          ||                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | d	g          !t          |d
gt          | d	g                     t          | dg          !t          |dgt          | dg                     |S )NrP  rO  rR  rQ  rT  rS  rV  rU  rX  rW  rZ  rY  )r   r   r;  r!   s       r#   rI   rI     s   
 !)	+*+,,8	51233Y	
 	
   
+''3\ND}o$F$FGGG	+/011=	[2344   
+6788D	$%[9:;;   
+4566B	"#[7899   
+1233?	 [4566   
r%   c           
          i }t          | dg          !t          |dgt          | dg                     t          | dg          0t          |dgt          t          | dg          ||                     |S )Nspeakervoice_configvoiceConfig)r   r   _VoiceConfig_to_vertexr!   s       r#   r  r  6  s    
 !)	+	{##/YKkI;!?!?@@@	+'((4	~.//K	
 	
   
r%   c           
      r   i }t          | dg          0t          |dgt          t          | dg          ||                     t          | dg          !t          |dgt          | dg                     t          | dg          0t          |dgt          t          | dg          ||                     |S )Nr^  r_  language_codelanguageCodemulti_speaker_voice_configmultiSpeakerVoiceConfig)r   r   r`  r  r!   s       r#   r   r   K  s    
 !)	+'((4	~.//K	
 	
   
+())5^$d;8I&J&JKKK	+4566B	"#*;<==	
 	
   
r%   c                     i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     |S )Nr+   modelendpointr-   r!   s       r#   _TunedModel_from_mldevri  k  ss    
 !)	+x  ,WItK&::;;;	+x  ,ZL${VH"="=>>>	r%   c           	         i }t          | dg          t          d          t          | dg          t          d          t          | dg          ,t          |ddgd t          | dg          D                        |S )Ngcs_urizogcs_uri parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.vertex_dataset_resourcezvertex_dataset_resource parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.examplesc                     g | ]}|S rO   rO   rQ   rR   s     r#   rS   z+_TuningDataset_to_mldev.<locals>.<listcomp>  s    :::$:::r%   r   r!   s       r#   r   r   z  s    
 !)	+	{##/
	<  
 
+1233?
	M  
 
+
|$$0	Z ::${ZL99:::   
r%   c                 >   i }t          |ddg          }|d}|dk    r4t          | dg          "t          |ddgt          | dg                     n|dk    r4t          | dg          "t          |ddgt          | dg                     ns|d	k    r4t          | dg          "t          |d
dgt          | dg                     n9|dk    r3t          | dg          "t          |ddgt          | dg                     t          |ddg          }|d}|dk    r4t          | dg          "t          |ddgt          | dg                     n|dk    r4t          | dg          "t          |ddgt          | dg                     ns|d	k    r4t          | dg          "t          |d
dgt          | dg                     n9|dk    r3t          | dg          "t          |ddgt          | dg                     t          | dg          t          d          |S )Nr   r   r   rk  r   r   r   r   r   r   r   r   r   rl  rm  zpexamples parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r?   r   s        r#   r   r     s   
 !){Xx$899-,M...K)%%1

!#7
8
{YK
(
(  
 +++K)%%1

')=
>
{YK
(
(  
 &&K)%%1

1
2
{YK
(
(  
 ...K)%%1

$&:
;
{YK
(
(   {Xx$899-,M...K3455A

!#7
8
{67
8
8  
 +++K3455A

')=
>
{67
8
8  
 &&K3455A

1
2
{67
8
8  
 ...K3455A

$&:
;
{67
8
8   
+
|$$0
	5  
 
r%   c           
      <   i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          3t          |dgt          j        t          | dg                               t          | dg          !t          |dgt          | dg                     t          | ddg          "t          |d	gt          | ddg                     t          | dd
g          "t          |dgt          | dd
g                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          0t          |dgt	          t          | dg          ||                     |S )Nr4   r5   r+   state
createTimecreate_timerd   	startTime
start_timecompleteTimeend_time
updateTimeupdate_timerb   r   r   _selftuned_model)r   r   r   t_tuning_job_statusri  r!   s       r#   _TuningJob_from_mldevr~    sf   
 !)	+)*++7'(${=N<O*P*P   
+x  ,VHd;99:::	+y!!-			d;	::;;   
+~&&2]OT+~%F%FGGG	+k233?	[<566   
+n566B	[<899   
+~&&2]OT+~%F%FGGG	+''3]OT+%G%GHHH	+}%%1\ND{m$D$DEEE	+y!!-	wi(()[	
 	
   
r%   c           
         i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          3t          |dgt          j        t          | dg                               t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | d	g          !t          |d
gt          | d	g                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          0t          |dgt	          t          | dg          ||                     t          | dg          0t          |dgt          t          | dg          ||                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |d gt          | dg                     t          | d!g          !t          |d"gt          | d!g                     t          | d#g          0t          |d$gt          t          | d#g          ||                     t          | d%g          !t          |d&gt          | d%g                     t          | d'g          +t          |d(gd) t          | d'g          D                        t          | d*g          !t          |d*gt          | d*g                     t          | d+g          !t          |d,gt          | d+g                     t          | d-g          !t          |d-gt          | d-g                     t          | d.g          !t          |d/gt          | d.g                     t          | d0g          !t          |d1gt          | d0g                     t          | d2g          !t          |d3gt          | d2g                     t          | d4g          !t          |d5gt          | d4g                     t          | d6g          !t          |d7gt          | d6g                     t          | d8g          !t          |d9gt          | d8g                     t          | d:g          !t          |d;gt          | d:g                     t          | d<g          !t          |d=gt          | d<g                     t          | d>g          0t          |d?gt          t          | d>g          ||                     |S )@Nr4   r5   r+   rr  rs  rt  ru  rv  endTimerx  ry  rz  errorrb   r   r   
tunedModelr|  r   r   r   supervised_tuning_specr   preference_optimization_specr   distillation_specr   reinforcement_tuning_spectuningDataStatstuning_data_statsr   ry   partnerModelTuningSpecpartner_model_tuning_specr   rr   r   rm   evaluateDatasetRunsevaluate_dataset_runsc                     g | ]}|S rO   rO   ro  s     r#   rS   z*_TuningJob_from_vertex.<locals>.<listcomp>  s    EEE$EEEr%   
experimentfullFineTuningSpecfull_fine_tuning_specrs   r   rx   pipelineJobpipeline_jobserviceAccountservice_accountr   r`   tuningJobStatetuning_job_stateveoTuningSpecveo_tuning_spectuningJobMetadatatuning_job_metadataveoLoraTuningSpecveo_lora_tuning_specdistillationSamplingSpecdistillation_sampling_spec)r   r   r   r}  r   rE  r   r   r!   s       r#   r  r  !  s'   
 !)	+)*++7'(${=N<O*P*P   
+x  ,VHd;99:::	+y!!-			d;	::;;   
+~&&2]OT+~%F%FGGG	+}%%1\ND{m$D$DEEE	+	{##/ZL${YK"@"@AAA	+~&&2]OT+~%F%FGGG	+y!!-WItK';;<<<	+''3]OT+%G%GHHH	+}%%1\ND{m$D$DEEE	+~&&2]OT+~%F%FGGG	+())5&'kO;L)M)MNNN	+./00<	!"[1233   
+4566B	'([7899   
+*+,,8	%1233Y	
 	
   
+1233?	$%,89::	
 	
   
+)*++7'(${=N<O*P*P   
+()**6&'k<L;M)N)NOOO	+0122>	$%[3455   
+*+,,8	%1233Y	
 	
   
+)*++7'(${=N<O*P*P   
+-.//;	 !EE${-B,CDDEEE   
+~&&2\ND|n$E$EFFF	+,-..:	 ![/011   
+z"".XJ[8* = =>>>	+}%%1\ND{m$D$DEEE	+''3^$d;&H&HIII	+()**6&'k<L;M)N)NOOO	+/011=	#$[2344   
+()**6'(${=M<N*O*OPPP	+())5&'kO;L)M)MNNN	++,--9	[./00   
++,--9	 [./00   
+2344@	%&-9:;;	
 	
   
r%   c                    i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     |S )Nr4   r5   r+   metadatadoner  r-   r!   s       r#   _TuningOperation_from_mldevr    s   
 !)	+)*++7'(${=N<O*P*P   
+x  ,VHd;99:::	+
|$$0ZL${ZL"A"ABBB	+x  ,VHd;99:::	+y!!-WItK';;<<<	r%   c                     i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     |S )Nrk  r   rl  r-   r!   s       r#   r   r     s    
 !)	+	{##/+,d;.L.LMMM	+1233?	 [4566   
r%   c           
      x   i }t          | dg          "t          |ddgt          | dg                     t          | dg          0t          |dgt          t          | dg          ||                     t          | dg          0t          |dgt          t          | dg          ||                     t          | dg          0t          |dgt	          t          | dg          ||                     t          | dg          0t          |d	gt          t          | dg          ||                     |S )
Nparentr,   sample_responsesampleResponseexamplerD  r   rz   r   )r   r   r]   rB  rI   rW   r!   s       r#   #_ValidateRewardParameters_to_vertexr  	  s   
 !)	+z"".VX&[8*(E(EFFF	+)*++7	0122I{	
 	
   
+	{##/	-yk**I{	
 	
   
+./00<	85677K	
 	
   
+1233?	 !;89::	
 	
   
r%   c           	         i }t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          !t          |dgt          | dg                     t          | dg          =t          |dgd t          | dg                                          D                        |S )	Nr4   r5   overallRewardoverall_rewardr  rewardInfoDetailsreward_info_detailsc                     i | ]\  }}||	S rO   rO   )rQ   kvs      r#   
<dictcomp>z7_ValidateRewardResponse_from_vertex.<locals>.<dictcomp>J	  s    KKK$!QAKKKr%   )r   r   itemsr!   s       r#   #_ValidateRewardResponse_from_vertexr  5	  s   
 !)	+)*++7'(${=N<O*P*P   
+())5%&[?:K(L(LMMM	+y!!-WItK';;<<<	++,--9	KK${-@,ABBHHJJKKK   
r%   c           
          i }t          | dg          0t          |dgt          t          | dg          ||                     t          | dg          !t          |dgt          | dg                     |S )Nreplicated_voice_configreplicatedVoiceConfigprebuilt_voice_configprebuiltVoiceConfig)r   r   rM  r!   s       r#   r`  r`  P	  s    
 !)	+1233?	 !(89::	
 	
   
+/011=	[2344   
r%   c                      e Zd Zdddedeej                 dej        fdZdddeej	                 dej
        fdZdddedeej                 dej        fdZdddd	d
ee         deej                 dej        deej                 dej        f
dZdddd	d
ee         deej                 dej        deej                 dej        f
dZdddddedej        dej        deej                 deej                 deej                 dej        fdZdddedeej                 dej        fdZ ej        d          ddd
edej        deej                 dej        fd            Zdddeej	                 de ej                 fdZ!dS )TuningsNr   r+   r   r   c                   t          j        ||          }| j        j        rAt	          |d|          }|                    d          }|rd                    |          }nCd}n@t          |d|          }|                    d          }|rd                    |          }nd}|                    d          }|r| dt          |           }|	                    dd           d}|j
        |j
        j        |j
        j        }t          j        |          }t          j        |          }| j                            d|||          }	|	j        si nt#          j        |	j                  }
| j        j        rt'          |
d|          }
| j        j        st)          |
d|          }
t           j                            |
t/          |dd          rDdt/          |j
        d	d          t/          |j
        d
d          t/          |j
        dd          dini           }t          j        |	j                  |_        | j                            |           |S zzGets a TuningJob.

    Args:
      name: The resource name of the tuning job.

    Returns:
      A TuningJob object.
    r+   r   Nr,   z{name}r  ?r   getr   r   include_all_fieldsr   r   r  responsekwargsheaders)r   _GetTuningJobParameters_api_clientvertexair  r  
format_mapr   r   popr   http_optionsr	   convert_to_dictencode_unserializable_typesrequestbodyjsonloadsr  r~  	TuningJob_from_responsegetattrHttpResponser  r5   _verify_responseselfr+   r   parameter_modelrequest_dictrequest_url_dictpathquery_paramsr  r  response_dictreturn_values               r#   _getzTunings._getm	  s    3  O   6
4 l &))&11	 ""#3445
4 l &))&11	 ""#344##H--L 100y..00dXt$$$04L*"/;$+8l*<88L6|DDL''t\<PPH&mJBBHM1J1JM  ,
 m $ +
 m ?11 ?Hd33#*#*,=t$ $ )0#*,BD) ) '.#*,@$' '
 

 
 ! 2  L$ &+%7 & & &L" 	%%l333r%   c                   t          j        |          }| j        j        st	          d          t          |d |          }|                    d          }|rd                    |          }nd}|                    d          }|r| dt          |           }|	                    dd            d }|j
        |j
        j        |j
        j        }t          j        |          }t          j        |          }| j                            d|||          }|j        si nt#          j        |j                  }	| j        j        rt'          |	d |          }	t           j                            |	t-          |dd           rDdt-          |j
        d	d           t-          |j
        d
d           t-          |j
        dd           dini           }
t          j        |j                  |
_        | j                            |
           |
S Nr  iThis method is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.r,   r  r  r  r   r  r   r   r  r  r  r  )r   _ListTuningJobsParametersr  r  r@   r  r  r  r   r  r   r  r	   r  r  r  r  r  r  r  ListTuningJobsResponser  r  r  r  r5   r  r  r   r  r  r  r  r  r  r  r  r  s              r#   _listzTunings._list	  sd    5  O
 $ 5  
 9
4 l &))&11	 &&'788##H--L 100y..00dXt$$$04L*"/;$+8l*<88L6|DDL''t\<PPH&mJBBHM1J1JM  9
 m />> ?Hd33#*#*,=t$ $ )0#*,BD) ) '.#*,@$' '
 

 
 ! ?  L$ &+%7 & & &L" 	%%l333r%   c                   t          j        ||          }| j        j        rAt	          |d|          }|                    d          }|rd                    |          }nCd}n@t          |d|          }|                    d          }|rd                    |          }nd}|                    d          }|r| dt          |           }|	                    dd           d}|j
        |j
        j        |j
        j        }t          j        |          }t          j        |          }| j                            d|||          }	|	j        si nt#          j        |	j                  }
| j        j        rt'          |
d|          }
| j        j        st)          |
d|          }
t           j                            |
t/          |dd          rDdt/          |j
        d	d          t/          |j
        d
d          t/          |j
        dd          dini           }t          j        |	j                  |_        | j                            |           |S )zPCancels a tuning job.

    Args:
      name (str): TuningJob resource name.
    r  Nr,   {name}:cancelr  r  r   postr   r   r  r  r  r  )r   _CancelTuningJobParametersr  r  r1   r  r  r.   r   r  r   r  r	   r  r  r  r  r  r  r9   r6   CancelTuningJobResponser  r  r  r  r5   r  r  s               r#   cancelzTunings.cancel
  s    6  O   9
4 l &))&11	 ))*:;;8
4 l &))&11	 ))*:;;##H--L 100y..00dXt$$$04L*"/;$+8l*<88L6|DDL''lL H 'mJBBHM1J1JM  :
 m $ 9
 m 0?? ?Hd33#*#*,=t$ $ )0#*,BD) ) '.#*,@$' '
 

 
 ! @  L$ &+%7 & & &L" 	%%l333r%   r   r   r   r   r   r   c                   t          j        ||||          }| j        j        st	          d          t          |d|          }|                    d          }|rd                    |          }nd}|                    d          }	|	r| dt          |	           }|	                    dd           d}
|j
        |j
        j        |j
        j        }
t          j        |          }t          j        |          }| j                            d	|||
          }|j        si nt#          j        |j                  }| j        j        rt'          |d|          }t           j                            |t-          |dd          rDdt-          |j
        d
d          t-          |j
        dd          t-          |j
        dd          dini           }t          j        |j                  |_        | j                            |           |S a  Creates a tuning job and returns the TuningJob object.

    Args:
      base_model: The name of the model to tune.
      training_dataset: The training dataset to use.
      config: The configuration to use for the tuning job.

    Returns:
      A TuningJob object.
    r   r   r   r   r  Nr,   r  r  r  r   r  r   r   r  r  r  r  )r   !_CreateTuningJobParametersPrivater  r  r@   r   r  r  r   r  r   r  r	   r  r  r  r  r  r  r  r  r  r  r  r  r5   r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  s                 r#   _tunezTunings._tunep
  st   & =')	  O $ 5  
 A
4 l &))&11	 &&'788##H--L 100y..00dXt$$$04L*"/;$+8l*<88L6|DDL''lL H 'mJBBHM1J1JM  ,
 m ?11 ?Hd33#*#*,=t$ $ )0#*,BD) ) '.#*,@$' '
 

 
 ! 2  L$ &+%7 & & &L" 	%%l333r%   c                   t          j        ||||          }| j        j        rt	          d          t          |d|          }|                    d          }|rd                    |          }nd}|                    d          }	|	r| dt          |	           }|	                    dd           d}
|j
        |j
        j        |j
        j        }
t          j        |          }t          j        |          }| j                            d	|||
          }|j        si nt#          j        |j                  }| j        j        st'          |d|          }t           j                            |t-          |dd          rDdt-          |j
        d
d          t-          |j
        dd          t-          |j
        dd          dini           }t          j        |j                  |_        | j                            |           |S a  Creates a tuning job and returns the TuningJob object.

    Args:
      base_model: The name of the model to tune.
      training_dataset: The training dataset to use.
      config: The configuration to use for the tuning job.

    Returns:
      A TuningJob operation.
    r  ziThis method is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.Nr,   tunedModelsr  r  r   r  r   r   r  r  r  r  )r   r  r  r  r@   r   r  r  r   r  r   r  r	   r  r  r  r  r  r  r  TuningOperationr  r  r  r  r5   r  r  s                 r#   _tune_mldevzTunings._tune_mldev
  su   & =')	  O   4  
 @
4 l &))&11	 ''(899##H--L 100y..00dXt$$$04L*"/;$+8l*<88L6|DDL''lL H 'mJBBHM1J1JM$ 1
 m (77 ?Hd33#*#*,=t$ $ )0#*,BD) ) '.#*,@$' '
 

 
 ! 8  L$ &+%7 & & &L" 	%%l333r%   rD  rz   r   r  r  r  rD  rz   c                   t          j        ||||||          }| j        j        st	          d          t          |d|          }|                    d          }	|	rd                    |	          }
nd}
|                    d          }|r|
 dt          |           }
|	                    dd           d}|j
        |j
        j        |j
        j        }t          j        |          }t          j        |          }| j                            d	|
||          }|j        si nt#          j        |j                  }| j        j        rt'          |d|          }t           j                            |t-          |dd          rDdt-          |j
        d
d          t-          |j
        dd          t-          |j
        dd          dini           }t          j        |j                  |_        | j                            |           |S a  Validates a reinforcement tuning reward configuration.

    Allows users to validate a reinforcement tuning reward configuration
    against a sample response and example before creating a reinforcement
    tuning job, so that they can iterate on the reward configuration without
    having to create a tuning job each time.

    Args:
      parent: The resource name of the Location to validate the reward in, e.g.
        `projects/{project}/locations/{location}`.
      sample_response: The sample response for validating the reward
        configuration.
      example: The example to validate the reward configuration.
      single_reward_config: Single reward function configuration for
        reinforcement tuning. Mutually exclusive with composite_reward_config.
      composite_reward_config: Composite reward function configuration for
        reinforcement tuning. Mutually exclusive with single_reward_config.
      config: Optional parameters for the request.

    Returns:
      A ValidateRewardResponse with the computed reward(s).
    )r  r  r  rD  rz   r   r  Nr,   z5{parent}/tuningJobs:validateReinforcementTuningRewardr  r  r   r  r   r   r  r  r  r  )r   _ValidateRewardParametersr  r  r@   r  r  r  r   r  r   r  r	   r  r  r  r  r  r  r  ValidateRewardResponser  r  r  r  r5   r  r  r  r  r  rD  rz   r   r  r  r  r  r  r  r  r  r  s                   r#   validate_rewardzTunings.validate_reward*  s   J 5'1 7  O $ G5  
 9
4 l &))&11	 GCNN   	 G##H--L 100y..00dXt$$$04L*"/;$+8l*<88L6|DDL''lL H 'mJBBHM1J1JM  9
 m />> ?Hd33#*#*,=t$ $ )0#*,BD) ) '.#*,@$' '
 

 
 ! ?  L$ &+%7 & & &L" 	%%l333r%   c                    |                      ||          }|j        rC| j        j        r7| j        j        +t
                              |j        | j        j                   |S Nr  )r  projectr  r  r  r  r  _IpythonUtilsdisplay_experiment_buttonr  r+   r   jobs       r#   r  zTunings.get  sq     ))f)
-
-C% $0--^"* .    Jr%   SThe SDK's tuning implementation is experimental, and may change in future versions.c                   | j         j        r|                    d          rEd }|rt          |dd           }t	          j        ||          }|                     |||          }nd }|t          |dd           t          |d          }t          |t                    rt	          j	        di |}|j
        r|j        st          d          t          t          |j
                            D ]T}	t          |j
        |	         t                    r2t          j                            |j
        |	                   |j
        |	<   Ut          |t                    r||d<   n||_        |}|                     |||          }|t          |dd           ||_        n|                     |||          }
|
j        d|
j        v r|
j        d         }n6|
j        t          d	          |
j                            d
          d         }t	          j        |t          j        j                  }|j        r,| j         j        r t2                              |j                   |S Nz	projects/rj   )tuned_model_namecheckpoint_id)r   r   r   rr   zEEvaluation config must have at least one metric and an output config.)r   r   r   r  zOperation name is required.z/operations/r   )r+   rr  )tuning_job_resourcerO   r  r  
startswithr  r   PreTunedModelr  
isinstancedictEvaluationConfigr   r   r@   rangelenMetricmodel_validaterr   r  r  r+   	partitionr  JobStateJOB_STATE_QUEUEDr  display_model_tuning_button)r  r   r   r   r  r   
tuning_jobvalidated_evaluation_configrr   i	operationr  s               r#   tunezTunings.tune  s      A			{	+	+ 0E 	Q!&*I4PP--'}
 
 
 ZZ+-   
 


 IM# 3T::F%f.ABB
)400 L % 6 K K9J K K#+&4    .67788  a+3A6== -2\-H-H#+A.. .'* %% 9*;F&'''8F$(9
%ZZ!-   
 

  3T::F)D*
&""+ #  i
 
		'LI<N,N,N$-l;>!899
9$>33NCCAF?/  j  4+4 //(o 0    r%   c                \    | j         }t          d||                      |          |          S )a  Lists `TuningJob` objects.

    Args:
      config: The configuration for the list request.

    Returns:
      A Pager object that contains one page of tuning jobs. When iterating over
      the pager, it automatically fetches the next page if there are more.

    Usage:

    .. code-block:: python
        for tuning_job in client.tunings.list():
            print(tuning_job.name)
    r  r  )r  r   r  r   list_requests      r#   listzTunings.list  s7    & :L

&
!!	  r%   )"__name__
__module____qualname__strr   r   GetTuningJobConfigOrDictr  r  ListTuningJobsConfigOrDictr  r  CancelTuningJobConfigOrDictr  r  PreTunedModelOrDictTuningDatasetOrDictCreateTuningJobConfigOrDictr  r  r  ContentOrDict ReinforcementTuningExampleOrDict+SingleReinforcementTuningRewardConfigOrDict.CompositeReinforcementTuningRewardConfigOrDictValidateRewardConfigOrDictr  r  r  r	   experimental_warningr$  r   r(  rO   r%   r#   r  r  k	  s        :>	\ \ \ \ u56	\
 \ \ \ \~ EIF F F @AF#F F F FX =A	[ [ [ [ u89	[
 $[ [ [ [@ #'=A<@[ [ [ 3-[   9:	[
 1[ u89[ [ [ [ [@ #'=A<@[ [ [ 3-[   9:	[
 1[ u89[ [ [ [ [J  ;?s s s s *	s
 5s %

;s  (

> s u78s #s s s sr :>	    u56	
    $  7+  =AM M M M 1	M
 u89M M M M	 M` EI   @AU_     r%   r  c                      e Zd Zdddedeej                 dej        fdZdddeej	                 dej
        fdZdddedeej                 dej        fdZdddd	d
ee         deej                 dej        deej                 dej        f
dZdddd	d
ee         deej                 dej        deej                 dej        f
dZdddddedej        dej        deej                 deej                 deej                 dej        fdZdddedeej                 dej        fdZ ej        d          ddd
edej        deej                 dej        fd            Zdddeej	                 de ej                 fdZ!dS )AsyncTuningsNr  r+   r   r   c                  K   t          j        ||          }| j        j        rAt	          |d|          }|                    d          }|rd                    |          }nCd}n@t          |d|          }|                    d          }|rd                    |          }nd}|                    d          }|r| dt          |           }|	                    dd           d}|j
        |j
        j        |j
        j        }t          j        |          }t          j        |          }| j                            d|||           d{V }	|	j        si nt#          j        |	j                  }
| j        j        rt'          |
d|          }
| j        j        st)          |
d|          }
t           j                            |
t/          |dd          rDdt/          |j
        d	d          t/          |j
        d
d          t/          |j
        dd          dini           }t          j        |	j                  |_        | j                            |           |S r  )r   r  r  r  r  r  r  r   r   r  r   r  r	   r  r  async_requestr  r  r  r  r~  r  r  r  r  r  r5   r  r  s               r#   r  zAsyncTunings._get"  s      3  O   6
4 l &))&11	 ""#3445
4 l &))&11	 ""#344##H--L 100y..00dXt$$$04L*"/;$+8l*<88L6|DDL%33t\<       H 'mJBBHM1J1JM  ,
 m $ +
 m ?11 ?Hd33#*#*,=t$ $ )0#*,BD) ) '.#*,@$' '
 

 
 ! 2  L$ &+%7 & & &L" 	%%l333r%   c                   K   t          j        |          }| j        j        st	          d          t          |d |          }|                    d          }|rd                    |          }nd}|                    d          }|r| dt          |           }|	                    dd            d }|j
        |j
        j        |j
        j        }t          j        |          }t          j        |          }| j                            d|||           d {V }|j        si nt#          j        |j                  }	| j        j        rt'          |	d |          }	t           j                            |	t-          |dd           rDdt-          |j
        d	d           t-          |j
        d
d           t-          |j
        dd           dini           }
t          j        |j                  |
_        | j                            |
           |
S r  )r   r  r  r  r@   r  r  r  r   r  r   r  r	   r  r  r<  r  r  r  r  r  r  r  r  r  r5   r  r  s              r#   r  zAsyncTunings._list  s      5  O
 $ 5  
 9
4 l &))&11	 &&'788##H--L 100y..00dXt$$$04L*"/;$+8l*<88L6|DDL%33t\<       H 'mJBBHM1J1JM  9
 m />> ?Hd33#*#*,=t$ $ )0#*,BD) ) '.#*,@$' '
 

 
 ! ?  L$ &+%7 & & &L" 	%%l333r%   c                  K   t          j        ||          }| j        j        rAt	          |d|          }|                    d          }|rd                    |          }nCd}n@t          |d|          }|                    d          }|rd                    |          }nd}|                    d          }|r| dt          |           }|	                    dd           d}|j
        |j
        j        |j
        j        }t          j        |          }t          j        |          }| j                            d|||           d{V }	|	j        si nt#          j        |	j                  }
| j        j        rt'          |
d|          }
| j        j        st)          |
d|          }
t           j                            |
t/          |dd          rDdt/          |j
        d	d          t/          |j
        d
d          t/          |j
        dd          dini           }t          j        |	j                  |_        | j                            |           |S )zaCancels a tuning job asynchronously.

    Args:
      name (str): A TuningJob resource name.
    r  Nr,   r  r  r  r   r  r   r   r  r  r  r  )r   r  r  r  r1   r  r  r.   r   r  r   r  r	   r  r  r<  r  r  r  r9   r6   r  r  r  r  r  r5   r  r  s               r#   r  zAsyncTunings.cancel  s      6  O   9
4 l &))&11	 ))*:;;8
4 l &))&11	 ))*:;;##H--L 100y..00dXt$$$04L*"/;$+8l*<88L6|DDL%33lL       H 'mJBBHM1J1JM  :
 m $ 9
 m 0?? ?Hd33#*#*,=t$ $ )0#*,BD) ) '.#*,@$' '
 

 
 ! @  L$ &+%7 & & &L" 	%%l333r%   r  r   r   r   c                &  K   t          j        ||||          }| j        j        st	          d          t          |d|          }|                    d          }|rd                    |          }nd}|                    d          }	|	r| dt          |	           }|	                    dd           d}
|j
        |j
        j        |j
        j        }
t          j        |          }t          j        |          }| j                            d	|||
           d{V }|j        si nt#          j        |j                  }| j        j        rt'          |d|          }t           j                            |t-          |dd          rDdt-          |j
        d
d          t-          |j
        dd          t-          |j
        dd          dini           }t          j        |j                  |_        | j                            |           |S r  )r   r  r  r  r@   r   r  r  r   r  r   r  r	   r  r  r<  r  r  r  r  r  r  r  r  r  r5   r  r  s                 r#   r  zAsyncTunings._tune)  s     & =')	  O $ 5  
 A
4 l &))&11	 &&'788##H--L 100y..00dXt$$$04L*"/;$+8l*<88L6|DDL%33lL       H 'mJBBHM1J1JM  ,
 m ?11 ?Hd33#*#*,=t$ $ )0#*,BD) ) '.#*,@$' '
 

 
 ! 2  L$ &+%7 & & &L" 	%%l333r%   c                &  K   t          j        ||||          }| j        j        rt	          d          t          |d|          }|                    d          }|rd                    |          }nd}|                    d          }	|	r| dt          |	           }|	                    dd           d}
|j
        |j
        j        |j
        j        }
t          j        |          }t          j        |          }| j                            d	|||
           d{V }|j        si nt#          j        |j                  }| j        j        st'          |d|          }t           j                            |t-          |dd          rDdt-          |j
        d
d          t-          |j
        dd          t-          |j
        dd          dini           }t          j        |j                  |_        | j                            |           |S r  )r   r  r  r  r@   r   r  r  r   r  r   r  r	   r  r  r<  r  r  r  r  r  r  r  r  r  r5   r  r  s                 r#   r  zAsyncTunings._tune_mldev  s     & =')	  O   4  
 @
4 l &))&11	 ''(899##H--L 100y..00dXt$$$04L*"/;$+8l*<88L6|DDL%33lL       H 'mJBBHM1J1JM$ 1
 m (77 ?Hd33#*#*,=t$ $ )0#*,BD) ) '.#*,@$' '
 

 
 ! 8  L$ &+%7 & & &L" 	%%l333r%   r  r  r  r  rD  rz   c                *  K   t          j        ||||||          }| j        j        st	          d          t          |d|          }|                    d          }	|	rd                    |	          }
nd}
|                    d          }|r|
 dt          |           }
|	                    dd           d}|j
        |j
        j        |j
        j        }t          j        |          }t          j        |          }| j                            d	|
||           d{V }|j        si nt#          j        |j                  }| j        j        rt'          |d|          }t           j                            |t-          |dd          rDdt-          |j
        d
d          t-          |j
        dd          t-          |j
        dd          dini           }t          j        |j                  |_        | j                            |           |S r  )r   r   r  r  r@   r  r  r  r   r  r   r  r	   r  r  r<  r  r  r  r  r  r  r  r  r  r5   r  r  s                   r#   r  zAsyncTunings.validate_reward  s     J 5'1 7  O $ G5  
 9
4 l &))&11	 GCNN   	 G##H--L 100y..00dXt$$$04L*"/;$+8l*<88L6|DDL%33lL       H 'mJBBHM1J1JM  9
 m />> ?Hd33#*#*,=t$ $ )0#*,BD) ) '.#*,@$' '
 

 
 ! ?  L$ &+%7 & & &L" 	%%l333r%   c                   K   |                      ||           d {V }|j        rC| j        j        r7| j        j        +t
                              |j        | j        j                   |S r  r  r
  s       r#   r  zAsyncTunings.getX  s       		tF	33
3
3
3
3
3
3C% $0--^"* .    Jr%   r  c                  K   | j         j        r}|                    d          rKd }|rt          |dd           }t	          j        ||          }|                     |||           d {V }n|t          |dd           t          |d          }t          |t                    rt	          j	        di |}|j
        r|j        st          d          t          t          |j
                            D ]T}t          |j
        |         t                    r2t          j                            |j
        |                   |j
        |<   Ut          |t                    r||d<   n||_        |                     |||           d {V }n|                     |||           d {V }	|	j        d|	j        v r|	j        d         }
n6|	j        t          d	          |	j                            d
          d         }
t	          j        |
t          j        j                  }|j        r,| j         j        r t2                              |j                   |S r  r  )r  r   r   r   r  r   r   rr   r"  r#  r  s              r#   r$  zAsyncTunings.tunej  s        ;			{	+	+ *
 	Q!&*I4PP--'}
 
 
  ::+- & 
 
 
 
 
 
 
 


  3T::F%f.ABB
)400 L % 6 K K9J K K#+&4    .67788  a+3A6== -2\-H-H#+A.. .'* %% 9*;F&'''8F$::!- & 
 
 
 
 
 
 
 


 ((+ )        i
 
		'LI<N,N,N$-l;>!899
9$>33NCCAF?/  j  4+4 //(o 0    r%   c                l   K   | j         }t          d||                      |           d{V |          S )a  Lists `TuningJob` objects asynchronously.

    Args:
      config: The configuration for the list request.

    Returns:
      A Pager object that contains one page of tuning jobs. When iterating over
      the pager, it automatically fetches the next page if there are more.

    Usage:

    .. code-block:: python
        async for tuning_job in await client.aio.tunings.list():
            print(tuning_job.name)
    r  r  N)r  r   r&  s      r#   r(  zAsyncTunings.list  sM      & :Ljjj''''''''	  r%   )"r)  r*  r+  r,  r   r   r-  r  r  r.  r  r  r/  r  r  r0  r1  r2  r  r  r  r3  r4  r5  r6  r7  r  r  r  r	   r8  r$  r   r(  rO   r%   r#   r:  r:     s        :>	^ ^ ^ ^ u56	^
 ^ ^ ^ ^B EIH H H @AH#H H H H\ =A	[ [ [ [ u89	[
 $[ [ [ [@ #'=A<@[ [ [ 3-[   9:	[
 1[ u89[ [ [ [ [@ #'=A<@[ [ [ 3-[   9:	[
 1[ u89[ [ [ [ [J  ;?s s s s *	s
 5s %

;s  (

> s u78s #s s s sr :>	    u56	
    $  7+  =AG G G G 1	G
 u89G G G G	 GT EI   @A%/"     r%   r:  c            
       N   e Zd ZU dZ e            Zee         ed<   ede	ee
f         fd            Zedefd            Zedefd            Zededee         defd	            Ze	 ddededee         ddfd            Zedededdfd            Zededdfd            ZdS )r  z6Temporary class to hold the IPython related functions.displayed_experimentsr   c                  T    dd l } d| j        v rddlm}  |            j        j        S dS )Nr   IPython)get_ipython )sysmodulesrH  rI  	__class__r)  )rK  rI  s     r#   _get_ipython_shell_namez%_IpythonUtils._get_ipython_shell_name  sA    JJJCK%%%%%%[]]$--2r%   c                  N    t          t                                                    S )N)boolr  rN  rO   r%   r#   is_ipython_availablez"_IpythonUtils.is_ipython_available  s    5577888r%   c                      dS )z8Returns the HTML style markup to support custom buttons.a  
    <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
    <style>
      .view-vertex-resource,
      .view-vertex-resource:hover,
      .view-vertex-resource:visited {
        position: relative;
        display: inline-flex;
        flex-direction: row;
        height: 32px;
        padding: 0 12px;
          margin: 4px 18px;
        gap: 4px;
        border-radius: 4px;

        align-items: center;
        justify-content: center;
        background-color: rgb(255, 255, 255);
        color: rgb(51, 103, 214);

        font-family: Roboto,"Helvetica Neue",sans-serif;
        font-size: 13px;
        font-weight: 500;
        text-transform: uppercase;
        text-decoration: none !important;

        transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1) 0s;
        box-shadow: 0px 3px 1px -2px rgba(0,0,0,0.2), 0px 2px 2px 0px rgba(0,0,0,0.14), 0px 1px 5px 0px rgba(0,0,0,0.12);
      }
      .view-vertex-resource:active {
        box-shadow: 0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12);
      }
      .view-vertex-resource:active .view-vertex-ripple::before {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        border-radius: 4px;
        pointer-events: none;

        content: '';
        background-color: rgb(51, 103, 214);
        opacity: 0.12;
      }
      .view-vertex-icon {
        font-size: 18px;
      }
    </style>
  rO   rO   r%   r#   _get_stylesz_IpythonUtils._get_styles  s    1 1r%   markerresource_partsc                     t          t          |                    D ]1}||         | k    r#|dz   t          |          k     r||dz            c S 2dS )z,Returns the part after the marker text part.r   rJ  )r  r  )rT  rU  r"  s      r#   _parse_resource_namez"_IpythonUtils._parse_resource_name  sd     3~&&'' % %		f	$	$Q^1D1D)D)Da!e$$$$2r%   open_in_newr'  urliconNc                 Z   d}|                     |          st          d| d          ddl}dt          |                                           }dt
                                           d| d	| d
| d|  d}|d| d| d| dz  }ddlm} ddlm	}  | ||                     dS )a@  Creates and displays the link to open the Gemini Enterprise Agent Platform resource.

    Args:
      text: The text displayed on the clickable button.
      url: The url that the button will lead to. Only cloud console URIs are
        allowed.
      icon: The icon name on the button (from material-icons library)
    z https://console.cloud.google.comzOnly urls starting with z are allowed.r   Nzview-vertex-resource-z	
        z-
        <a class="view-vertex-resource" id="z" href="#view-z;">
          <span class="material-icons view-vertex-icon">z</span>
          <span>z</span>
        </a>
        z]
        <script>
          (function () {
            const link = document.getElementById('z');
            link.addEventListener('click', (e) => {
              if (window.google?.colab?.openUrl) {
                window.google.colab.openUrl('z8');
              } else {
                window.open('z', '_blank');
              }
              e.stopPropagation();
              e.preventDefault();
            });
          })();
        </script>
    )display)HTML)
r  r@   uuidr,  uuid4r  rS  IPython.displayr\  r]  )	r'  rY  rZ  CLOUD_UI_URLr^  	button_idhtmlr\  r]  s	            r#   _display_linkz_IpythonUtils._display_link$  sB    6L>>,'' OM,MMMNNNKKK;DJJLL(9(9;;I		"	"	$	$ -6 FO  :>  	  D 	  4=  /2  "   D" ('''''$$$$$$GDDJJr%   r  r  c                 :   t                                           r| t           j        v rdS |                     d          }|d         }|d         }d| d| dz   d| z   }t                               d|d	           t           j                            |            dS )
a\  Function to generate a link bound to the Gemini Enterprise Agent Platform experiment.

    Args:
      experiment: The Gemini Enterprise Agent Platform experiment name. Example
        format:
          projects/{project_id}/locations/{location}/metadataStores/default/contexts/{experiment_name}
      project: The project (alphanumeric) name.
    N/   zAhttps://console.cloud.google.com/vertex-ai/experiments/locations/z/experiments/zruns?project=zView Experimentscience)r  rQ  rF  splitrd  add)r  r  rU  locationexperiment_nameuris         r#   r	  z'_IpythonUtils.display_experiment_buttonX  s     ..00<<<f  %%c**Na H$R(O 	L
6
6O
6
6
6	7
#'
#
#	$ 
  13	BBB '++J77777r%   r  c                     t                                           sdS |                     d          }|d         }|d         }|d         }dd| d| z   d	| z   }t                               d
|d           dS )a"  Function to generate a link bound to the Gemini Enterprise Agent Platform model tuning job.

    Args:
      tuning_job_resource: The Gemini Enterprise Agent Platform tuning job name.
        Example format:
        projects/{project_id}/locations/{location}/tuningJobs/{tuning_job_id}
    Nrf  r   rg  rh  z?https://console.cloud.google.com/vertex-ai/generative/language/z
locations/z/tuning/tuningJob/z	?project=zView Tuning Jobr$  )r  rQ  rj  rd  )r  rU  r  rl  tuning_job_idrn  s         r#   r  z)_IpythonUtils.display_model_tuning_buttonw  s     --// f(..s33NQGa H"2&M 	J
Bx
B
B=
B
B	C
g

	  
  13?????r%   )rX  )r)  r*  r+  __doc__setrF  r,  __annotations__staticmethodr   r   rN  rP  rQ  rS  r(  rW  r   rd  r	  r  rO   r%   r#   r  r    s        >>$'CEES)))5c?    < 9 9 9 9 <9 3s 3 3 3 <3j 3 S	 c    < 1>1 111!)#11 1 1 <1f 8C 8# 8$ 8 8 8 <8< @s @t @ @ @ <@ @ @r%   r  )NN)Pr  loggingtypingr   r   r   urllib.parser   rJ  r   r	   r
   r   r   r   r   r   r   pagersr   r   	getLoggerloggerr  r,  objectr$   r(   r.   r1   r6   r9   rA   rG   rJ   rT   rW   r]   r   r   r   r   r   r   r   r   r   r   r    r'   r   r  r	  r  r  r  r[   r9  r;  rB  rE  rM  rF   rI   r  r   ri  r   r   r~  r  r  r   r  r  r`  
BaseModuler  r:  r  rO   r%   r#   <module>r}     s}  $   ' ' ' ' ' ' ' ' ' ' " " " " " "                               . . . . . . . . . . . . % % % % % % % %		1	2	2
 /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   : /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   : /3;?	 	tCH~v-.	DcN+	 %S#X 678	 
#s(^		 	 	 	 /3;?	 	tCH~v-.	DcN+	 %S#X 678	 
#s(^		 	 	 	 /3;? tCH~v-.DcN+ %S#X 678 
#s(^	     /3;? tCH~v-.DcN+ %S#X 678 
#s(^	     /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   . /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   . /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   . /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   . /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   . /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   0 /3;?t ttCH~v-.tDcN+t %S#X 678t 
#s(^	t t t tr /3;?D DtCH~v-.DDcN+D %S#X 678D 
#s(^	D D D DR /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   6 /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   6 /3;?" "tCH~v-."DcN+" %S#X 678" 
#s(^	" " " "N /3;?+ +tCH~v-.+DcN++ %S#X 678+ 
#s(^	+ + + +` /3;?? ?tCH~v-.?DcN+? %S#X 678? 
#s(^	? ? ? ?H /3;?   tCH~v-. DcN+  %S#X 678  
#s(^	       J /3;?   tCH~v-. DcN+  %S#X 678  
#s(^	       J /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   . /3;?j jtCH~v-.jDcN+j %S#X 678j 
#s(^	j j j j^ /3;?v vtCH~v-.vDcN+v %S#X 678v 
#s(^	v v v vv /3;?	 	tCH~v-.	DcN+	 %S#X 678	 
#s(^		 	 	 	 /3;?	 	tCH~v-.	DcN+	 %S#X 678	 
#s(^		 	 	 	 /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   6 /3;? tCH~v-.DcN+ %S#X 678 
#s(^	     /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   : /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   * /3;?O OtCH~v-.ODcN+O %S#X 678O 
#s(^	O O O Oh /3;?) )tCH~v-.)DcN+) %S#X 678) 
#s(^	) ) ) )\ /3;?) )tCH~v-.)DcN+) %S#X 678) 
#s(^	) ) ) )\ /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   B /3;?+ +tCH~v-.+DcN++ %S#X 678+ 
#s(^	+ + + +` /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   B /3;?. .tCH~v-..DcN+. %S#X 678. 
#s(^	. . . .f /3;?. .tCH~v-..DcN+. %S#X 678. 
#s(^	. . . .f /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   . /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   D /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   " /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   < /3;?M MtCH~v-.MDcN+M %S#X 678M 
#s(^	M M M Md /3;?8 8tCH~v-.8DcN+8 %S#X 6788 
#s(^	8 8 8 8z /3;?r rtCH~v-.rDcN+r %S#X 678r 
#s(^	r r r rn /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   8 /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   * /3;?/ /tCH~v-./DcN+/ %S#X 678/ 
#s(^	/ / / /h /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   : /3;? tCH~v-.DcN+ %S#X 678 
#s(^	   6r
 r
 r
 r
 r
k$ r
 r
 r
jp
 p
 p
 p
 p
;) p
 p
 p
fz@ z@ z@ z@ z@ z@ z@ z@ z@ z@r%   