
    Mib                       S SK r S SKrS SKJrJrJr  S SKJr  SSKJ	r	  SSKJ
r
  SSKJr  SSKJr  SS	K
Jr  SS
K
Jr  SSKJrJr  \R*                  " S5      r  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S jjr  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S jjr  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S jjr  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S jjr  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S jjr  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S jjr  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S jjr   S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S jjr!  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S jjr"  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S jjr#  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S jjr$  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S jjr%  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S jjr&  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S jjr'  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S jjr(  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S  jjr)  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S! jjr*  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S" jjr+  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S# jjr,  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S$ jjr-  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S% jjr.  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S& jjr/  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S' jjr0  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S( jjr1  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S) jjr2  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S* jjr3  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S+ jjr4  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S, jjr5  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S- jjr6  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S. jjr7  S6S\\\\4   \4   S\\\\4      S\\\\\4   \4      S\\\4   4S/ jjr8 " S0 S1\	Rr                  5      r: " S2 S3\	Rr                  5      r; " S4 S55      r<g)7    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           
      V   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b#  [        US/[        [        U S/5      X25      5        U$ )	NsamplingCountsampling_countflipEnabledflip_enabledautoraterModelautorater_modelgenerationConfiggeneration_config)getvsetv_GenerationConfig_from_vertexr   r   r   	to_objects       n/var/www/eduai.edurigo.com/storigo/production/storigo_env/lib/python3.13/site-packages/google/genai/tunings.py_AutoraterConfig_from_vertexr#   "   s    
 !)	+()5%&[?:K(LM	+'3^$d;&HI	+()*6&'k<L;M)NO	+*+,8	%123Y	
 
    c           
      V   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b#  [        US/[        [        U S/5      X25      5        U$ )	Nr   r   r   r   r   r   r   r   )r   r   _GenerationConfig_to_vertexr    s       r"   _AutoraterConfig_to_vertexr'   =   s    
 !)	+()*6_%tK:J9K'LM	+'(4]OT+7G%HI	+)*+7%&[;L:M(NO	++,-9	#234i	
 
r$   c                 Z    0 n[        U S/5      b  [        USS/[        U S/5      5        U$ Nname_urlr   r   r    s       r"   #_CancelTuningJobParameters_to_mldevr-   X   8    
 !)	+x ,VV$d;&AB	r$   c                 Z    0 n[        U S/5      b  [        USS/[        U S/5      5        U$ r)   r,   r    s       r"   $_CancelTuningJobParameters_to_vertexr0   d   r.   r$   c                 X    0 n[        U S/5      b  [        US/[        U S/5      5        U$ NsdkHttpResponsesdk_http_responser,   r    s       r"   #_CancelTuningJobResponse_from_mldevr5   p   @    
 !)	+)*+7'(${=N<O*P 
r$   c                 X    0 n[        U S/5      b  [        US/[        U S/5      5        U$ r2   r,   r    s       r"   $_CancelTuningJobResponse_from_vertexr8   ~   r6   r$   c                    0 n[        U S/5      b  [        S5      e[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        S5      e[        U S/5      b  [        U/ SQ[        U S/5      5        [        U S	/5      b  [        U/ S
Q[        U S	/5      5        [        U S/5      b  [        S5      e[        U S/5      b  [        S5      e[        U S/5      b  [        S5      e[        U S/5      b  [        S5      e[        U S/5      b  [        S5      e[        U S/5      b  [        U/ SQ[        U S/5      5        [        U S/5      b  [        U/ SQ[        U S/5      5        [        U S/5      b  [        S5      e[        U S/5      b  [        S5      e[        U S/5      b  [        S5      e[        U S/5      b  [        S 5      e[        U S!/5      b  [        S"5      e[        U S#/5      b  [        S$5      e[        U S%/5      b  [        S&5      e[        U S'/5      b  [        S(5      eU$ ))Nvalidation_datasetz<validation_dataset parameter is not supported in Gemini API.tuned_model_display_namedisplayNamedescriptionz5description parameter is not supported in Gemini API.epoch_count)
tuningTaskhyperparameters
epochCountlearning_rate_multiplier)r?   r@   learningRateMultiplierexport_last_checkpoint_onlyzEexport_last_checkpoint_only parameter is not supported in Gemini API.pre_tuned_model_checkpoint_idzGpre_tuned_model_checkpoint_id parameter is not supported in Gemini API.adapter_sizez6adapter_size parameter is not supported in Gemini API.tuning_modez5tuning_mode parameter is not supported in Gemini API.custom_base_modelz;custom_base_model parameter is not supported in Gemini API.
batch_size)r?   r@   	batchSizelearning_rate)r?   r@   learningRateevaluation_configz;evaluation_config parameter is not supported in Gemini API.labelsz0labels parameter is not supported in Gemini API.betaz.beta parameter is not supported in Gemini API.base_teacher_modelz<base_teacher_model parameter is not supported in Gemini API.tuned_teacher_model_sourcezDtuned_teacher_model_source parameter is not supported in Gemini API.sft_loss_weight_multiplierzDsft_loss_weight_multiplier parameter is not supported in Gemini API.
output_uriz4output_uri parameter is not supported in Gemini API.encryption_specz9encryption_spec parameter is not supported in Gemini API.r   
ValueErrorr   r    s       r"   _CreateTuningJobConfig_to_mldevrW      s   
 !)	+,-.:
F  
+234@	[567 
+'3
L
MM	+'37[=/* 
+234@C[567 
+567C
O  
+789E
	 
 
+'(4
M
NN	+'3
L
MM	++,-9
E  
+~&26[<.) 
+()59[?+, 
++,-9
E  
+z".
G
HH	+x ,
E
FF	+,-.:
F  
+456B
N  
+456B
N  
+~&2
K
LL	+)*+7
C  
r$   c           
         0 n[        USS/5      nUc  SnUS:X  a2  [        U S/5      b#  [        US/[        [        U S/5      X25      5        OoUS:X  a2  [        U S/5      b#  [        US/[        [        U S/5      X25      5        O7US:X  a1  [        U S/5      b#  [        US	/[        [        U S/5      X25      5        [        U S
/5      b  [        US/[        U S
/5      5        [        U S/5      b  [        US/[        U S/5      5        [        USS/5      nUc  SnUS:X  a)  [        U S/5      b  [        U/ SQ[        U S/5      5        O]US:X  a)  [        U S/5      b  [        U/ SQ[        U S/5      5        O.US:X  a(  [        U S/5      b  [        U/ SQ[        U S/5      5        [        USS/5      nUc  SnUS:X  a)  [        U S/5      b  [        U/ SQ[        U S/5      5        O]US:X  a)  [        U S/5      b  [        U/ SQ[        U S/5      5        O.US:X  a(  [        U S/5      b  [        U/ SQ[        U S/5      5        [        USS/5      nUc  SnUS:X  a)  [        U S/5      b  [        USS/[        U S/5      5        O]US:X  a)  [        U S/5      b  [        USS/[        U S/5      5        O.US:X  a(  [        U S/5      b  [        US	S/[        U S/5      5        [        USS/5      nUc  SnUS:X  a)  [        U S/5      b  [        U/ SQ[        U S/5      5        O]US:X  a)  [        U S/5      b  [        U/ SQ[        U S/5      5        O.US:X  a(  [        U S/5      b  [        U/ SQ[        U S/5      5        [        USS/5      nUc  SnUS:X  a)  [        U S/5      b  [        USS/[        U S/5      5        O.US:X  a(  [        U S/5      b  [        US	S/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        USS/5      nUc  SnUS:X  a)  [        U S/5      b  [        U/ S Q[        U S/5      5        O.US:X  a(  [        U S/5      b  [        U/ S!Q[        U S/5      5        [        USS/5      nUc  SnUS:X  a)  [        U S"/5      b  [        U/ S#Q[        U S"/5      5        O.US:X  a(  [        U S"/5      b  [        U/ S$Q[        U S"/5      5        [        USS/5      nUc  SnUS:X  a3  [        U S%/5      b$  [        USS&/[        [        U S%/5      X25      5        OqUS:X  a3  [        U S%/5      b$  [        USS&/[        [        U S%/5      X25      5        O8US:X  a2  [        U S%/5      b$  [        US	S&/[        [        U S%/5      X25      5        [        U S'/5      b  [        US'/[        U S'/5      5        [        U S(/5      b  [        U/ S)Q[        U S(/5      5        [        U S*/5      b  [        US	S+/[        U S*/5      5        [        U S,/5      b  [        US	S-/[        U S,/5      5        [        U S./5      b  [        U/ S/Q[        U S./5      5        [        U S0/5      b  [        US1/[        U S0/5      5        [        U S2/5      b  [        US3/[        U S2/5      5        U$ )4NconfigmethodSUPERVISED_FINE_TUNINGr:   supervisedTuningSpecPREFERENCE_TUNINGpreferenceOptimizationSpecDISTILLATIONdistillationSpecr;   tunedModelDisplayNamer=   r>   )r\   hyperParametersrA   )r^   rb   rA   )r`   rb   rA   rB   )r\   rb   rC   )r^   rb   rC   )r`   rb   rC   rD   exportLastCheckpointOnlyrF   )r\   rb   adapterSize)r^   rb   rd   )r`   rb   rd   rG   
tuningModerH   customBaseModelrI   )r\   rb   rJ   )r`   rb   rJ   rK   )r\   rb   rL   )r`   rb   rL   rM   evaluationConfigrN   rO   )r^   rb   rO   rP   baseTeacherModelrQ   tunedTeacherModelSourcerR   )r`   rb   sftLossWeightMultiplierrS   	outputUrirT   encryptionSpec)r   r   "_TuningValidationDataset_to_vertex_EvaluationConfig_to_vertexr   r   r   r!   discriminators        r"    _CreateTuningJobConfig_to_vertexrq      sn   
 !){Xx$89-,M..K./0<

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1
2
%;!4 56	 
+z".
Dxj$AB	+x ,A[6(# 
+,-.:	/0[/01 
+456B	67[789 
+456BJ[789 
+~&2tK,'HI	+)*+7	[,-. 
r$   c                 :   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        [        U S/5      X25        [        U S/5      b  [        [        U S/5      X25        U$ N
base_model	baseModelpre_tuned_modelpreTunedModeltraining_datasetrY   )r   r   _TuningDataset_to_mldevrW   r    s       r"   *_CreateTuningJobParametersPrivate_to_mldevrz     s    
 !)	+~&2[M4l^#DE	+)*+7_%tK:K9L'MN	+*+,8[-./ 
+z".#[8*%y 
r$   c                 :   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        [        U S/5      X25        [        U S/5      b  [        [        U S/5      X25        U$ rs   )r   r   _TuningDataset_to_vertexrq   r    s       r"   +_CreateTuningJobParametersPrivate_to_vertexr}   2  s    
 !)	+~&2[M4l^#DE	+)*+7_%tK:K9L'MN	+*+,8[-./ 
+z".$[8*%y 
r$   c           
         0 n[        U S/5      b-  [        US/[        R                  " [        U S/5      5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b#  [        US/[	        [        U S/5      X25      5        [        U S/5      b$  [        US/[        [        U S/5      UU5      5        U$ )NmetricsoutputConfigoutput_configautoraterConfigautorater_configinferenceGenerationConfiginference_generation_config)r   r   t	t_metricsr#   r   r    s       r"   _EvaluationConfig_from_vertexr   K  s    
 !)	+	{#/YKT+	{-K!LM	+'(4_%tK.9I'JK	+)*+7	$012I	
 
+345A	&'%:;<	
 
r$   c           
         0 n[        U S/5      b-  [        US/[        R                  " [        U S/5      5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b#  [        US/[	        [        U S/5      X25      5        [        U S/5      b$  [        US/[        [        U S/5      UU5      5        U$ )Nr   r   r   r   r   r   r   )r   r   r   r   r'   r&   r    s       r"   rn   rn   n  s    
 !)	+	{#/YKT+	{-K!LM	+()5^$d;8I&JK	+*+,8	"123Y	
 
+567C	$%#<=>	
 
r$   c                    0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S	/5      b  [        US
/[        U S	/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US /[        U S/5      5        [        U S!/5      b  [        US"/[        U S!/5      5        [        U S#/5      b  [        US#/[        U S#/5      5        [        U S$/5      b  [        US%/[        U S$/5      5        [        U S&/5      b  [        US'/[        U S&/5      5        [        U S(/5      b  [        US)/[        U S(/5      5        U$ )*NmodelConfigmodel_selection_configresponseJsonSchemaresponse_json_schemaaudioTimestampaudio_timestampcandidateCountcandidate_countenableAffectiveDialogenable_affective_dialogfrequencyPenaltyfrequency_penaltylogprobsmaxOutputTokensmax_output_tokens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     s   
 !)	+'3	!"[=/* 
+,-.:	 [/01 
+()*6&'k<L;M)NO	+()*6&'k<L;M)NO	+/01=	"#[234 
+*+,8	[-./ 
+
|$0ZL${ZL"AB	+)*+7'(${=N<O*P 
+)*+7&'k<M;N)O 
+)*+7&'k<M;N)O 
+*+,8	[-./ 
+*+,8	[-./ 
+,-.:	[/01 
+()*6&'k<L;M)NO	+()5%&[?:K(LM	+x ,VHd;9:	+'(4_%tK.9I'JK	+()5%&[?:K(LM	+'3]OT+%GH	+()*6&'k<L;M)NO	+x ,WItK&:;	+x ,WItK&:;	r$   c           
         0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S	/5      b  [        US
/[        U S	/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b#  [        US /[        [        U S/5      X25      5        [        U S!/5      b  [        US"/[        U S!/5      5        [        U S#/5      b  [        US#/[        U S#/5      5        [        U S$/5      b  [        US%/[        U S$/5      5        [        U S&/5      b  [        US'/[        U S&/5      5        [        U S(/5      b  [        US)/[        U S(/5      5        [        U S*/5      b  [        S+5      eU$ ),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_answersz]enable_enhanced_civic_answers parameter is not supported in Gemini Enterprise Agent Platform.)r   r   _SpeechConfig_to_vertexrV   r    s       r"   r&   r&     s"   
 !)	+012>	[345 
+./0<	[123 
+)*+7%&[;L:M(NO	+)*+7%&[;L:M(NO	+123?	 ![456 
++,-9	[./0 
+
|$0ZL${ZL"AB	++,-9%&[;N:O(P 
+*+,8%&[;M:N(O 
+*+,8%&[;M:N(O 
++,-9	[./0 
+,-.:	[/01 
+-./;	[012 
+)*+7%&[;L:M(NO	+()*6_%tK:J9K'LM	+x ,VHd;9:	+()5	/0)	
 
+()*6_%tK:J9K'LM	+'3]OT+%GH	+)*+7%&[;L:M(NO	+y!-VHd;	:;	+y!-VHd;	:;	+789E
	& 
 
r$   c                 Z    0 n[        U S/5      b  [        USS/[        U S/5      5        U$ r)   r,   r    s       r"    _GetTuningJobParameters_to_mldevr   w  r.   r$   c                 Z    0 n[        U S/5      b  [        USS/[        U S/5      5        U$ r)   r,   r    s       r"   !_GetTuningJobParameters_to_vertexr     r.   r$   c                     0 n[        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        U$ )N	page_size_querypageSize
page_token	pageTokenfilterr,   r    s       r"   _ListTuningJobsConfig_to_vertexr     s    
 !)	+}%1*-tK+/O 
+~&2	;[<.) 
+z".8,d;
.KL	r$   c                 T    0 n[        U S/5      b  [        [        U S/5      X25        U$ )NrY   )r   r   r    s       r"   #_ListTuningJobsParameters_to_vertexr     s6    
 !)	+z".#[8*%y 
r$   c                 4   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b4  [        US/[        U S/5       Vs/ s H  n[        XCU5      PM     sn5        U$ s  snf )Nr3   r4   nextPageTokennext_page_token
tuningJobstuning_jobs)r   r   _TuningJob_from_vertexr   r   r   r!   items        r"   #_ListTuningJobsResponse_from_vertexr     s    
 !)	+)*+7'(${=N<O*P 
+()5&'kO;L)MN	+~&2	 [<.9	
9 #4K@9	
 
	
s   6Bc                     0 n[        U S/5      b4  [        US/[        U S/5       Vs/ s H  n[        XCU5      PM     sn5        U$ s  snf )Nspeaker_voice_configsspeakerVoiceConfigs)r   r   _SpeakerVoiceConfig_to_vertexr   s        r"   "_MultiSpeakerVoiceConfig_to_vertexr     sg    
 !)	+/01=	 [+B*CD	
D *$;GD	
 
	
s   Ac                 
   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        S5      e[        U S/5      b  [        S5      eU$ )	N	mime_typemimeTypevoice_sample_audiovoiceSampleAudioconsent_audiozMconsent_audio parameter is not supported in Gemini Enterprise Agent Platform.voice_consent_signaturezWvoice_consent_signature parameter is not supported in Gemini Enterprise Agent Platform.r   r   rV   r    s       r"    _ReplicatedVoiceConfig_to_vertexr     s    
 !)	+}%1ZL${[M"BC	+,-.:	[/01 
+()5
	 
 
+123?
	& 
 
r$   c           
          0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b#  [        US/[        [        U S/5      X25      5        U$ )Nspeakervoice_configvoiceConfig)r   r   _VoiceConfig_to_vertexr    s       r"   r   r     sn    
 !)	+	{#/YKkI;!?@	+'(4	~./	
 
r$   c           
         0 n[        U S/5      b#  [        US/[        [        U S/5      X25      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b$  [        US/[        [        U S/5      UU5      5        U$ )Nr   r   language_codelanguageCodemulti_speaker_voice_configmultiSpeakerVoiceConfig)r   r   r   r   r    s       r"   r   r     s    
 !)	+'(4	~./	
 
+()5^$d;8I&JK	+456B	"#*;<=	
 
r$   c                     0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nr*   modelendpointr,   r    s       r"   _TunedModel_from_mldevr   8  s[    
 !)	+x ,WItK&:;	+x ,ZL${VH"=>	r$   c                     0 n[        U S/5      b  [        S5      e[        U S/5      b  [        S5      e[        U S/5      b*  [        USS/[        U S/5       Vs/ s H  oDPM     sn5        U$ s  snf )Ngcs_uriz1gcs_uri parameter is not supported in Gemini API.vertex_dataset_resourcezAvertex_dataset_resource parameter is not supported in Gemini API.examplesrU   r   s        r"   ry   ry   G  s    
 !)	+	{#/
H
II	+123?
K  
+
|$0	Z {ZL9:9$9: 
 	;s   A/c                    0 n[        USS/5      nUc  SnUS:X  a)  [        U S/5      b  [        USS/[        U S/5      5        O]US:X  a)  [        U S/5      b  [        USS/[        U S/5      5        O.US	:X  a(  [        U S/5      b  [        US
S/[        U S/5      5        [        USS/5      nUc  SnUS:X  a)  [        U S/5      b  [        USS/[        U S/5      5        O]US:X  a)  [        U S/5      b  [        USS/[        U S/5      5        O.US	:X  a(  [        U S/5      b  [        US
S/[        U S/5      5        [        U S/5      b  [        S5      eU$ )NrY   rZ   r[   r   r\   trainingDatasetUrir]   r^   r_   r`   promptDatasetUrir   r   zHexamples parameter is not supported in Gemini Enterprise Agent Platform.r   ro   s        r"   r|   r|   _  s   
 !){Xx$89-,M..K)%1

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

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

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

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

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

1
2
{67
8 
+
|$0
	 
 
r$   c           
      Z   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b-  [        US/[        R                  " [        U S/5      5      5        [        U S/5      b  [        US/[        U S/5      5        [        U SS/5      b  [        US	/[        U SS/5      5        [        U SS
/5      b  [        US/[        U SS
/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b#  [        US/[	        [        U S/5      X25      5        U$ )Nr3   r4   r*   state
createTimecreate_timer?   	startTime
start_timecompleteTimeend_time
updateTimeupdate_timer=   ru   rt   _selftuned_model)r   r   r   t_tuning_job_statusr   r    s       r"   _TuningJob_from_mldevr     s   
 !)	+)*+7'(${=N<O*P 
+x ,VHd;9:	+y!-			d;	:; 
+~&2]OT+~%FG	+k23?	[<56 
+n56B	[<89 
+~&2]OT+~%FG	+'3]OT+%GH	+}%1\ND{m$DE	+y!-	wi()	
 
r$   c           
      0
   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b-  [        US/[        R                  " [        U S/5      5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S	/5      b  [        US
/[        U S	/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US /[        U S/5      5        [        U S!/5      b#  [        US"/[	        [        U S!/5      X25      5        [        U S#/5      b  [        US$/[        U S#/5      5        [        U S%/5      b)  [        US&/[        U S%/5       Vs/ s H  oDPM     sn5        [        U S'/5      b  [        US'/[        U S'/5      5        [        U S(/5      b  [        US)/[        U S(/5      5        [        U S*/5      b  [        US*/[        U S*/5      5        [        U S+/5      b  [        US,/[        U S+/5      5        [        U S-/5      b  [        US./[        U S-/5      5        [        U S//5      b  [        US0/[        U S//5      5        [        U S1/5      b  [        US2/[        U S1/5      5        [        U S3/5      b  [        US4/[        U S3/5      5        [        U S5/5      b  [        US6/[        U S5/5      5        [        U S7/5      b  [        US8/[        U S7/5      5        [        U S9/5      b  [        US:/[        U S9/5      5        U$ s  snf );Nr3   r4   r*   r   r   r   r   r   endTimer   r   r   errorr=   ru   rt   
tunedModelr   rw   rv   r\   supervised_tuning_specr^   preference_optimization_specr`   distillation_spectuningDataStatstuning_data_statsrl   rT   partnerModelTuningSpecpartner_model_tuning_specrg   rM   rf   rH   evaluateDatasetRunsevaluate_dataset_runs
experimentfullFineTuningSpecfull_fine_tuning_specrN   rk   rS   pipelineJobpipeline_jobserviceAccountservice_accountra   r;   tuningJobStatetuning_job_stateveoTuningSpecveo_tuning_specdistillationSamplingSpecdistillation_sampling_spectuningJobMetadatatuning_job_metadata)r   r   r   r   r   r   s        r"   r   r     s   
 !)	+)*+7'(${=N<O*P 
+x ,VHd;9:	+y!-			d;	:; 
+~&2]OT+~%FG	+}%1\ND{m$DE	+	{#/ZL${YK"@A	+~&2]OT+~%FG	+y!-WItK';<	+'3]OT+%GH	+}%1\ND{m$DE	+~&2]OT+~%FG	+()5&'kO;L)MN	+./0<	!"[123 
+456B	'([789 
+*+,8	[-./ 
+)*+7'(${=N<O*P 
+()*6&'k<L;M)NO	+012>	$%[345 
+*+,8	%123Y	
 
+)*+7'(${=N<O*P 
+-./;	 !{-B,CDED$DE 
+~&2\ND|n$EF	+,-.:	 ![/01 
+z".XJ[8* =>	+}%1\ND{m$DE	+'3^$d;&HI	+()*6&'k<L;M)NO	+/01=	#$[234 
+()*6'(${=M<N*OP	+()5&'kO;L)MN	+234@	%&[567 
++,-9	[./0 
i 	Fs   Tc                    0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nr3   r4   r*   metadatadoner  r,   r    s       r"   _TuningOperation_from_mldevr  y  s    
 !)	+)*+7'(${=N<O*P 
+x ,VHd;9:	+
|$0ZL${ZL"AB	+x ,VHd;9:	+y!-WItK';<	r$   c                     0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nr   validationDatasetUrir   r,   r    s       r"   rm   rm     si    
 !)	+	{#/+,d;.LM	+123?	 [456 
r$   c           
          0 n[        U S/5      b$  [        US/[        [        U S/5      UU5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nreplicated_voice_configreplicatedVoiceConfigprebuilt_voice_configprebuiltVoiceConfig)r   r   r   r    s       r"   r   r     s    
 !)	+123?	 !(89:	
 
+/01=	[234 
r$   c                   4   \ rS rSrSS.S\S\\R                     S\R                  4S jjr	SS.S\\R                     S\R                  4S jjrSS.S\S\\R                     S\R                  4S	 jjrSSSS
.S\\   S\\R                      S\R"                  S\\R$                     S\R                  4
S jjrSSSS
.S\\   S\\R                      S\R"                  S\\R$                     S\R(                  4
S jjrSS.S\S\\R                     S\R                  4S jjr\R0                  " S5      SS.S\S\R"                  S\\R$                     S\R                  4S jj5       rSS.S\\R                     S\\R                     4S jjrSrg)Tuningsi  NrY   r*   rY   r   c                :   [         R                  " UUS9nU R                  R                  (       a:  [	        USU5      nUR                  S5      nU(       a  SR                  U5      nO<SnO9[        USU5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS5        SnUR                  b-  UR                  R                  b  UR                  R                  n[        R                  " U5      n[        R                  " U5      nU R                  R                  SXdU5      n	U	R                   (       d  0 O["        R$                  " U	R                   5      n
U R                  R                  (       a  ['        U
SU5      n
U R                  R                  (       d  [)        U
SU5      n
[         R*                  R-                  U
[/        USS5      (       aG  S[/        UR                  S	S5      [/        UR                  S
S5      [/        UR                  SS5      S.0O0 S9n[         R0                  " U	R2                  S9Ul        U R                  R7                  U5        U$ zfGets a TuningJob.

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

Returns:
  A TuningJob object.
r*   rY   Nr+   z{name}r   ?rY   getr   r   include_all_fieldsr   r   r.  responsekwargsheaders)r   _GetTuningJobParameters_api_clientvertexair   r-  
format_mapr   r   poprY   http_optionsr	   convert_to_dictencode_unserializable_typesrequestbodyjsonloadsr   r   	TuningJob_from_responsegetattrHttpResponser4  r4   _verify_responseselfr*   rY   parameter_modelrequest_dictrequest_url_dictpathquery_paramsr:  r1  response_dictreturn_values               r"   _getTunings._get  sk    33O   6
4l &))&1	""#345
4l &))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''t<PH&mmBHMM1JM  ,
m $$+
m ??11 ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! 2 L$ &+%7%7  &L" 	%%l3r$   c                   [         R                  " US9nU R                  R                  (       d  [	        S5      e[        US U5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS 5        S nUR                  b-  UR                  R                  b  UR                  R                  n[        R                  " U5      n[        R                  " U5      nU R                  R                  SXSU5      nUR                   (       d  0 O["        R$                  " UR                   5      n	U R                  R                  (       a  ['        U	S U5      n	[         R(                  R+                  U	[-        USS 5      (       aG  S[-        UR                  S	S 5      [-        UR                  S
S 5      [-        UR                  SS 5      S.0O0 S9n
[         R.                  " UR0                  S9U
l        U R                  R5                  U
5        U
$ Nr(  mThis method is only supported in the Gemini Enterprise Agent Platform (previously known as Vertex AI) client.r+   r   r   r,  rY   r-  r   r   r.  r/  r0  r3  )r   _ListTuningJobsParametersr6  r7  rV   r   r-  r8  r   r9  rY   r:  r	   r;  r<  r=  r>  r?  r@  r   ListTuningJobsResponserB  rC  rD  r4  r4   rE  rG  rY   rH  rI  rJ  rK  rL  r:  r1  rM  rN  s              r"   _listTunings._list!  s    55O
 $$> 
 9
4l &))&1	&&'78##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''t<PH&mmBHMM1JM  9
m //>> ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! ? L$ &+%7%7  &L" 	%%l3r$   c                :   [         R                  " UUS9nU R                  R                  (       a:  [	        USU5      nUR                  S5      nU(       a  SR                  U5      nO<SnO9[        USU5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS5        SnUR                  b-  UR                  R                  b  UR                  R                  n[        R                  " U5      n[        R                  " U5      nU R                  R                  SXdU5      n	U	R                   (       d  0 O["        R$                  " U	R                   5      n
U R                  R                  (       a  ['        U
SU5      n
U R                  R                  (       d  [)        U
SU5      n
[         R*                  R-                  U
[/        USS5      (       aG  S[/        UR                  S	S5      [/        UR                  S
S5      [/        UR                  SS5      S.0O0 S9n[         R0                  " U	R2                  S9Ul        U R                  R7                  U5        U$ )zDCancels a tuning job.

Args:
  name (str): TuningJob resource name.
r+  Nr+   {name}:cancelr   r,  rY   postr   r   r.  r/  r0  r3  )r   _CancelTuningJobParametersr6  r7  r0   r-  r8  r-   r   r9  rY   r:  r	   r;  r<  r=  r>  r?  r@  r8   r5   CancelTuningJobResponserB  rC  rD  r4  r4   rE  rF  s               r"   cancelTunings.canceli  ss    66O   9
4l &))&1	))*:;8
4l &))&1	))*:;##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''LH 'mmBHMM1JM  :
m $$9
m 00?? ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! @ L$ &+%7%7  &L" 	%%l3r$   rt   rv   rY   rt   rv   rx   c                   [         R                  " UUUUS9nU R                  R                  (       d  [	        S5      e[        USU5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      n	U	(       a  U S[        U	5       3nUR                  SS5        Sn
UR                  b-  UR                  R                  b  UR                  R                  n
[        R                  " U5      n[        R                  " U5      nU R                  R                  S	XU
5      nUR                   (       d  0 O["        R$                  " UR                   5      nU R                  R                  (       a  ['        USU5      n[         R(                  R+                  U[-        USS5      (       aG  S[-        UR                  S
S5      [-        UR                  SS5      [-        UR                  SS5      S.0O0 S9n[         R.                  " UR0                  S9Ul        U R                  R5                  U5        U$ zCreates 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.
rt   rv   rx   rY   rS  Nr+   r   r   r,  rY   r[  r   r   r.  r/  r0  r3  )r   !_CreateTuningJobParametersPrivater6  r7  rV   r}   r-  r8  r   r9  rY   r:  r	   r;  r<  r=  r>  r?  r@  r   rA  rB  rC  rD  r4  r4   rE  rG  rt   rv   rx   rY   rH  rI  rJ  rK  rL  r:  r1  rM  rN  s                 r"   _tuneTunings._tune  s,   & ==')	O $$> 
 A
4l &))&1	&&'78##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''LH 'mmBHMM1JM  ,
m ??11 ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! 2 L$ &+%7%7  &L" 	%%l3r$   c                   [         R                  " UUUUS9nU R                  R                  (       a  [	        S5      e[        USU5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      n	U	(       a  U S[        U	5       3nUR                  SS5        Sn
UR                  b-  UR                  R                  b  UR                  R                  n
[        R                  " U5      n[        R                  " U5      nU R                  R                  S	XU
5      nUR                   (       d  0 O["        R$                  " UR                   5      nU R                  R                  (       d  ['        USU5      n[         R(                  R+                  U[-        USS5      (       aG  S[-        UR                  S
S5      [-        UR                  SS5      [-        UR                  SS5      S.0O0 S9n[         R.                  " UR0                  S9Ul        U R                  R5                  U5        U$ zCreates 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.
rc  z=This method is only supported in the Gemini Developer client.Nr+   tunedModelsr   r,  rY   r[  r   r   r.  r/  r0  r3  )r   rd  r6  r7  rV   rz   r-  r8  r   r9  rY   r:  r	   r;  r<  r=  r>  r?  r@  r  TuningOperationrB  rC  rD  r4  r4   rE  re  s                 r"   _tune_mldevTunings._tune_mldev#  s,   & ==')	O   
I  @
4l &))&1	''(89##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''LH 'mmBHMM1JM$$1
m ((77 ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! 8 L$ &+%7%7  &L" 	%%l3r$   c                   U R                  XS9nUR                  (       ad  U R                  R                  (       aI  U R                  R                  b2  [
        R                  UR                  U R                  R                  S9  U$ Nr+  )r  projectrO  r  r6  r7  rp  _IpythonUtilsdisplay_experiment_buttonrG  r*   rY   jobs       r"   r-  Tunings.get  sl     )))
-C%%$$0--^^""** .  Jr$   SThe SDK's tuning implementation is experimental, and may change in future versions.c                D   U R                   R                  (       Ga  UR                  S5      (       a=  S nU(       a  [        USS 5      n[        R
                  " XS9nU R                  UUUS9nGOS nUGb  [        USS 5      Gb  [        US5      n[        U[        5      (       a  [        R                  " S0 UD6nUR                  (       a  UR                  (       d  [        S5      e[        [        UR                  5      5       H`  n	[        UR                  U	   [        5      (       d  M'  [        R                  R!                  UR                  U	   5      UR                  U	'   Mb     [        U[        5      (       a  XS'   OXl        UnU R                  UUUS9nUb  [        USS 5      b  Xvl        OU R%                  UUUS9n
U
R&                  b   SU
R&                  ;   a  U
R&                  S   nO6U
R(                  c  [        S	5      eU
R(                  R+                  S
5      S   n[        R,                  " U[        R.                  R0                  S9nUR(                  (       a8  U R                   R                  (       a  [2        R5                  UR(                  S9  U$ Nz	projects/rE   )tuned_model_namecheckpoint_id)rv   rx   rY   rM   zEEvaluation config must have at least one metric and an output config.)rt   rx   rY   r  zOperation name is required.z/operations/r   )r*   r   )tuning_job_resource r6  r7  
startswithrC  r   PreTunedModelrf  
isinstancedictEvaluationConfigr   r   rV   rangelenMetricmodel_validaterM   rl  r  r*   	partitionrA  JobStateJOB_STATE_QUEUEDrr  display_model_tuning_button)rG  rt   rx   rY   r{  rv   
tuning_jobvalidated_evaluation_configrM   i	operationrz  s               r"   tuneTunings.tune  sx       			{	+	+!&*I4P---'
 ZZ+-   

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

  3T:F)D
&""+ # i
 
			'LI<N<N,N$--l;>>!89
9$>>33NCAF??//j 4++44//(oo 0  r$   c                P    U R                   n[        SUU R                  US9U5      $ )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(  )rW  r   rG  rY   list_requests      r"   listTunings.list  s1    & ::L

&
!	 r$   r}  )__name__
__module____qualname____firstlineno__strr   r   GetTuningJobConfigOrDictrA  rO  ListTuningJobsConfigOrDictrU  rW  CancelTuningJobConfigOrDictr]  r^  PreTunedModelOrDictTuningDatasetOrDictCreateTuningJobConfigOrDictrf  rk  rl  r-  r	   experimental_warningr  r   r  __static_attributes__r}  r$   r"   r'  r'    sd    :>	\ \ u556	\
 \~ EIF @ @AF##FX =A	[ [ u889	[
 $$[@ #'=A<@[ 3-[   9 9:	[
 11[ u889[ [@ #'=A<@Z 3-Z   9 9:	Z
 11Z u889Z Z@ :>	  u556	
 $ + =AM M 11	M
 u889M M	M` EI @ @AU__ r$   r'  c                   4   \ rS rSrSS.S\S\\R                     S\R                  4S jjr	SS.S\\R                     S\R                  4S jjrSS.S\S\\R                     S\R                  4S	 jjrSSSS
.S\\   S\\R                      S\R"                  S\\R$                     S\R                  4
S jjrSSSS
.S\\   S\\R                      S\R"                  S\\R$                     S\R(                  4
S jjrSS.S\S\\R                     S\R                  4S jjr\R0                  " S5      SS.S\S\R"                  S\\R$                     S\R                  4S jj5       rSS.S\\R                     S\\R                     4S jjrSrg)AsyncTuningsi   Nr(  r*   rY   r   c                X  #    [         R                  " UUS9nU R                  R                  (       a:  [	        USU5      nUR                  S5      nU(       a  SR                  U5      nO<SnO9[        USU5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS5        SnUR                  b-  UR                  R                  b  UR                  R                  n[        R                  " U5      n[        R                  " U5      nU R                  R                  SXdU5      I Sh  vN n	U	R                   (       d  0 O["        R$                  " U	R                   5      n
U R                  R                  (       a  ['        U
SU5      n
U R                  R                  (       d  [)        U
SU5      n
[         R*                  R-                  U
[/        USS5      (       aG  S[/        UR                  S	S5      [/        UR                  S
S5      [/        UR                  SS5      S.0O0 S9n[         R0                  " U	R2                  S9Ul        U R                  R7                  U5        U$  GN?7fr*  )r   r5  r6  r7  r   r-  r8  r   r   r9  rY   r:  r	   r;  r<  async_requestr>  r?  r@  r   r   rA  rB  rC  rD  r4  r4   rE  rF  s               r"   rO  AsyncTunings._get  s~     33O   6
4l &))&1	""#345
4l &))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33t< H 'mmBHMM1JM  ,
m $$+
m ??11 ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! 2 L$ &+%7%7  &L" 	%%l3M   E&J*(J')D?J*c                  #    [         R                  " US9nU R                  R                  (       d  [	        S5      e[        US U5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS 5        S nUR                  b-  UR                  R                  b  UR                  R                  n[        R                  " U5      n[        R                  " U5      nU R                  R                  SXSU5      I S h  vN nUR                   (       d  0 O["        R$                  " UR                   5      n	U R                  R                  (       a  ['        U	S U5      n	[         R(                  R+                  U	[-        USS 5      (       aG  S[-        UR                  S	S 5      [-        UR                  S
S 5      [-        UR                  SS 5      S.0O0 S9n
[         R.                  " UR0                  S9U
l        U R                  R5                  U
5        U
$  GN7frR  )r   rT  r6  r7  rV   r   r-  r8  r   r9  rY   r:  r	   r;  r<  r  r>  r?  r@  r   rU  rB  rC  rD  r4  r4   rE  rV  s              r"   rW  AsyncTunings._listb  s2     55O
 $$> 
 9
4l &))&1	&&'78##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33t< H 'mmBHMM1JM  9
m //>> ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! ? L$ &+%7%7  &L" 	%%l3Cs   D6I8I9DIc                X  #    [         R                  " UUS9nU R                  R                  (       a:  [	        USU5      nUR                  S5      nU(       a  SR                  U5      nO<SnO9[        USU5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS5        SnUR                  b-  UR                  R                  b  UR                  R                  n[        R                  " U5      n[        R                  " U5      nU R                  R                  SXdU5      I Sh  vN n	U	R                   (       d  0 O["        R$                  " U	R                   5      n
U R                  R                  (       a  ['        U
SU5      n
U R                  R                  (       d  [)        U
SU5      n
[         R*                  R-                  U
[/        USS5      (       aG  S[/        UR                  S	S5      [/        UR                  S
S5      [/        UR                  SS5      S.0O0 S9n[         R0                  " U	R2                  S9Ul        U R                  R7                  U5        U$  GN?7f)zUCancels a tuning job asynchronously.

Args:
  name (str): A TuningJob resource name.
r+  Nr+   rZ  r   r,  rY   r[  r   r   r.  r/  r0  r3  )r   r\  r6  r7  r0   r-  r8  r-   r   r9  rY   r:  r	   r;  r<  r  r>  r?  r@  r8   r5   r]  rB  rC  rD  r4  r4   rE  rF  s               r"   r^  AsyncTunings.cancel  s     66O   9
4l &))&1	))*:;8
4l &))&1	))*:;##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33L H 'mmBHMM1JM  :
m $$9
m 00?? ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! @ L$ &+%7%7  &L" 	%%l3Mr  r`  rt   rv   rx   c                  #    [         R                  " UUUUS9nU R                  R                  (       d  [	        S5      e[        USU5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      n	U	(       a  U S[        U	5       3nUR                  SS5        Sn
UR                  b-  UR                  R                  b  UR                  R                  n
[        R                  " U5      n[        R                  " U5      nU R                  R                  S	XU
5      I Sh  vN nUR                   (       d  0 O["        R$                  " UR                   5      nU R                  R                  (       a  ['        USU5      n[         R(                  R+                  U[-        USS5      (       aG  S[-        UR                  S
S5      [-        UR                  SS5      [-        UR                  SS5      S.0O0 S9n[         R.                  " UR0                  S9Ul        U R                  R5                  U5        U$  GN7frb  )r   rd  r6  r7  rV   r}   r-  r8  r   r9  rY   r:  r	   r;  r<  r  r>  r?  r@  r   rA  rB  rC  rD  r4  r4   rE  re  s                 r"   rf  AsyncTunings._tune		  s:    & ==')	O $$> 
 A
4l &))&1	&&'78##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33L H 'mmBHMM1JM  ,
m ??11 ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! 2 L$ &+%7%7  &L" 	%%l3C   D9I;I<DIc                  #    [         R                  " UUUUS9nU R                  R                  (       a  [	        S5      e[        USU5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      n	U	(       a  U S[        U	5       3nUR                  SS5        Sn
UR                  b-  UR                  R                  b  UR                  R                  n
[        R                  " U5      n[        R                  " U5      nU R                  R                  S	XU
5      I Sh  vN nUR                   (       d  0 O["        R$                  " UR                   5      nU R                  R                  (       d  ['        USU5      n[         R(                  R+                  U[-        USS5      (       aG  S[-        UR                  S
S5      [-        UR                  SS5      [-        UR                  SS5      S.0O0 S9n[         R.                  " UR0                  S9Ul        U R                  R5                  U5        U$  GN7fri  )r   rd  r6  r7  rV   rz   r-  r8  r   r9  rY   r:  r	   r;  r<  r  r>  r?  r@  r  rk  rB  rC  rD  r4  r4   rE  re  s                 r"   rl  AsyncTunings._tune_mldevf	  s:    & ==')	O   
I  @
4l &))&1	''(89##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33L H 'mmBHMM1JM$$1
m ((77 ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! 8 L$ &+%7%7  &L" 	%%l3Cr  c                *  #    U R                  XS9I S h  vN nUR                  (       ad  U R                  R                  (       aI  U R                  R                  b2  [
        R                  UR                  U R                  R                  S9  U$  N{7fro  rq  rt  s       r"   r-  AsyncTunings.get	  sw      		t	3
3C%%$$0--^^""** .  J 4s   BBA<Brw  c                T  #    U R                   R                  (       Ga  UR                  S5      (       aE  S nU(       a  [        USS 5      n[        R
                  " XS9nU R                  UUUS9I S h  vN nGOUGb  [        USS 5      Gb  [        US5      n[        U[        5      (       a  [        R                  " S0 UD6nUR                  (       a  UR                  (       d  [        S5      e[        [        UR                  5      5       H`  n[        UR                  U   [        5      (       d  M'  [        R                  R!                  UR                  U   5      UR                  U'   Mb     [        U[        5      (       a  XsS'   OXsl        U R                  UUUS9I S h  vN nOU R%                  UUUS9I S h  vN n	U	R&                  b   SU	R&                  ;   a  U	R&                  S   n
O6U	R(                  c  [        S	5      eU	R(                  R+                  S
5      S   n
[        R,                  " U
[        R.                  R0                  S9nUR(                  (       a8  U R                   R                  (       a  [2        R5                  UR(                  S9  U$  GN. N N7fry  r~  )rG  rt   rx   rY   r{  rv   r  rM   r  r  rz  s              r"   r  AsyncTunings.tune	  so        			{	+	+!&*I4P---'
  ::+- & 
 

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

 ((+ )  i
 
			'LI<N<N,N$--l;>>!89
9$>>33NCAF??//j 4++44//(oo 0  o
<
s?   A1J(3J!4B>J(6A1J('J$(J(J&C J($J(&J(c                l   #    U R                   n[        SUU R                  US9I Sh  vN U5      $  N	7f)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)rW  r   r  s      r"   r  AsyncTunings.list!
  s<     & ::Ljjj''	  	(s   &42
4r}  )r  r  r  r  r  r   r   r  rA  rO  r  rU  rW  r  r]  r^  r  r  r  rf  rk  rl  r-  r	   r  r  r   r  r  r}  r$   r"   r  r     sd    :>	^ ^ u556	^
 ^B EIH @ @AH##H\ =A	[ [ u889	[
 $$[@ #'=A<@[ 3-[   9 9:	[
 11[ u889[ [@ #'=A<@Z 3-Z   9 9:	Z
 11Z u889Z Z@ :>	  u556	
 $ + =AG G 11	G
 u889G G	GT EI @ @A%//" r$   r  c            
          \ rS rSr% Sr\" 5       r\\   \S'   \	S\
\\4   4S j5       r\	S\4S j5       r\	S\4S j5       r\	S\S	\\   S\4S
 j5       r\	 SS\S\S\\   SS4S jj5       r\	S\S\SS4S j5       r\	S\SS4S j5       rSrg)rr  i=
  z6Temporary class to hold the IPython related functions.displayed_experimentsr   c                  n    SS K n SU R                  ;   a!  SSKJn  U" 5       R                  R
                  $ g)Nr   IPython)get_ipython )sysmodulesr  r  	__class__r  )r  r  s     r"   _get_ipython_shell_name%_IpythonUtils._get_ipython_shell_nameB
  s+    CKK%]$$---r$   c                  <    [        [        R                  5       5      $ )N)boolrr  r  r}  r$   r"   is_ipython_available"_IpythonUtils.is_ipython_availableL
  s    55788r$   c                      g)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>
  r}  r}  r$   r"   _get_styles_IpythonUtils._get_stylesP
  s    1r$   markerresource_partsc                     [        [        U5      5       H(  nX   U :X  d  M  US-   [        U5      :  d  M!  XS-      s  $    g)z,Returns the part after the marker text part.r   r  )r  r  )r  r  r  s      r"   _parse_resource_name"_IpythonUtils._parse_resource_name
  sE     3~&'		f	$Q^1D)D!e$$ ( r$   texturliconNc                 ,   SnUR                  U5      (       d  [        SU S35      eSSKnS[        UR	                  5       5       3nS[
        R                  5        SU S	U S
U SU  S3nUSU SU SU S3-  nSSKJn  SSKJ	n  U" U" U5      5        g)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  rV   uuidr  uuid4rr  r  IPython.displayr  r  )	r  r  r  CLOUD_UI_URLr  	button_idhtmlr  r  s	            r"   _display_link_IpythonUtils._display_link
  s     6L>>,''1,}MNN'DJJL(9':;I			"	"	$% &--6K~i[ Q99= ? 		D 	 3 4=+ >. /2U 3!U # D" ($DJr$   r  rp  c                 $   [         R                  5       (       a  U [         R                  ;   a  gU R                  S5      nUS   nUS   nSU SU S3-   SU 3-   n[         R	                  SUS	5        [         R                  R                  U 5        g)
aD  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)rr  r  r  splitr  add)r  rp  r  locationexperiment_nameuris         r"   rs  '_IpythonUtils.display_experiment_button
  s     ..00<<<  %%c*Na H$R(O 	LJmO#4A
6	7'
#	$ 
  13	B ''++J7r$   r|  c                     [         R                  5       (       d  gU R                  S5      nUS   nUS   nUS   nSSU SU 3-   S	U 3-   n[         R                  S
US5        g)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}
Nr  r   r  r  z?https://console.cloud.google.com/vertex-ai/generative/language/z
locations/z/tuning/tuningJob/z	?project=zView Tuning Jobr  )rr  r  r  r  )r|  r  rp  r  tuning_job_idr  s         r"   r  )_IpythonUtils.display_model_tuning_button
  s     --//(..s3NQGa H"2&M 	Jxj 2=/
B	CgY
	  
  13?r$   r}  )open_in_new)r  r  r  r  __doc__setr  r  __annotations__staticmethodr   r   r  r  r  r  r  r  r   r  rs  r  r  r}  r$   r"   rr  rr  =
  s&   >$'ES)5c?   9 9 9 3s 3 3j 3 S	 c   1>111!)#11 1f 8C 8# 8$ 8 8< @s @t @ @r$   rr  )NN)=r?  loggingtypingr   r   r   urllib.parser   r  r   r	   r
   r   r   r   r   r   r   pagersr   r   	getLoggerloggerr  r  objectr#   r'   r-   r0   r5   r8   rW   rq   rz   r}   r   rn   r   r&   r   r   r   r   r   r   r   r   r   r   ry   r|   r   r   r  rm   r   
BaseModuler'  r  rr  r}  r$   r"   <module>r     s	  $   ' ' "      . . %			1	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;?jtCH~v-.jDcN+j %S#X 678j 
#s(^	j^ /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(^	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(^	 J /3;? tCH~v-. DcN+  %S#X 678  
#s(^	 J /3;?jtCH~v-.jDcN+j %S#X 678j 
#s(^	j^ /3;?vtCH~v-.vDcN+v %S#X 678v 
#s(^	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;?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(^	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(^	4 /3;??tCH~v-.?DcN+? %S#X 678? 
#s(^	?H /3;?8tCH~v-.8DcN+8 %S#X 6788 
#s(^	8z /3;?ZtCH~v-.ZDcN+Z %S#X 678Z 
#s(^	Z~ /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(^	6|k$$ |~z;)) zzz@ z@r$   