@@ -167,6 +167,22 @@ def _GetCustomJobParameters_to_vertex(
167167 return to_object
168168
169169
170+ def _OptimizeConfig_to_vertex (
171+ from_object : Union [dict [str , Any ], object ],
172+ parent_object : Optional [dict [str , Any ]] = None ,
173+ ) -> dict [str , Any ]:
174+ to_object : dict [str , Any ] = {}
175+
176+ if getv (from_object , ["optimization_target" ]) is not None :
177+ setv (
178+ parent_object ,
179+ ["optimizationTarget" ],
180+ getv (from_object , ["optimization_target" ]),
181+ )
182+
183+ return to_object
184+
185+
170186def _OptimizeRequestParameters_to_vertex (
171187 from_object : Union [dict [str , Any ], object ],
172188 parent_object : Optional [dict [str , Any ]] = None ,
@@ -176,7 +192,11 @@ def _OptimizeRequestParameters_to_vertex(
176192 setv (to_object , ["content" ], getv (from_object , ["content" ]))
177193
178194 if getv (from_object , ["config" ]) is not None :
179- setv (to_object , ["config" ], getv (from_object , ["config" ]))
195+ setv (
196+ to_object ,
197+ ["config" ],
198+ _OptimizeConfig_to_vertex (getv (from_object , ["config" ]), to_object ),
199+ )
180200
181201 return to_object
182202
@@ -468,7 +488,10 @@ def optimize(
468488 return job
469489
470490 def optimize_prompt (
471- self , * , prompt : str , config : Optional [types .OptimizeConfig ] = None
491+ self ,
492+ * ,
493+ prompt : str ,
494+ config : Optional [types .OptimizeConfig ] = None ,
472495 ) -> types .OptimizeResponse :
473496 """Makes an API request to _optimize_prompt and returns the parsed response.
474497
@@ -480,19 +503,21 @@ def optimize_prompt(
480503
481504 Args:
482505 prompt: The prompt to optimize.
483- config: The configuration for prompt optimization. Currently, config is
484- not supported for a single prompt optimization.
506+ config: Optional.The configuration for prompt optimization. To optimize
507+ prompts from Android API provide
508+ types.OptimizeConfig(
509+ optimization_target=types.OptimizeTarget.OPTIMIZATION_TARGET_GEMINI_NANO
510+ )
485511 Returns:
486512 The parsed response from the API request.
487513 """
488- if config is not None :
489- raise ValueError (
490- "Currently, config is not supported for a single prompt optimization."
491- )
492514
493515 prompt = genai_types .Content (parts = [genai_types .Part (text = prompt )], role = "user" )
494516 # TODO: b/435653980 - replace the custom method with a generated method.
495- return self ._custom_optimize_prompt (content = prompt )
517+ return self ._custom_optimize_prompt (
518+ content = prompt ,
519+ config = config ,
520+ )
496521
497522 def _custom_optimize_prompt (
498523 self ,
@@ -511,7 +536,6 @@ def _custom_optimize_prompt(
511536 content = content ,
512537 config = config ,
513538 )
514-
515539 request_url_dict : Optional [dict [str , str ]]
516540 if not self ._api_client .vertexai :
517541 raise ValueError ("This method is only supported in the Vertex AI client." )
@@ -850,7 +874,6 @@ async def _custom_optimize_prompt(
850874 content = content ,
851875 config = config ,
852876 )
853-
854877 request_url_dict : Optional [dict [str , str ]]
855878 if not self ._api_client .vertexai :
856879 raise ValueError ("This method is only supported in the Vertex AI client." )
@@ -909,7 +932,10 @@ async def _custom_optimize_prompt(
909932 return final_response
910933
911934 async def optimize_prompt (
912- self , * , prompt : str , config : Optional [types .OptimizeConfig ] = None
935+ self ,
936+ * ,
937+ prompt : str ,
938+ config : Optional [types .OptimizeConfig ] = None ,
913939 ) -> types .OptimizeResponse :
914940 """Makes an async request to _optimize_prompt and returns an optimized prompt.
915941
@@ -920,16 +946,18 @@ async def optimize_prompt(
920946
921947 Args:
922948 prompt: The prompt to optimize.
923- config: The configuration for prompt optimization. Currently, config is
924- not supported for a single prompt optimization.
949+ config: Optional.The configuration for prompt optimization. To optimize
950+ prompts from Android API provide
951+ types.OptimizeConfig(
952+ optimization_target=types.OptimizeTarget.OPTIMIZATION_TARGET_GEMINI_NANO
953+ )
925954 Returns:
926955 The parsed response from the API request.
927956 """
928- if config is not None :
929- raise ValueError (
930- "Currently, config is not supported for a single prompt optimization."
931- )
932957
933958 prompt = genai_types .Content (parts = [genai_types .Part (text = prompt )], role = "user" )
934959 # TODO: b/435653980 - replace the custom method with a generated method.
935- return await self ._custom_optimize_prompt (content = prompt )
960+ return await self ._custom_optimize_prompt (
961+ content = prompt ,
962+ config = config ,
963+ )
0 commit comments