@@ -16,6 +16,9 @@ class OpenAIRealtimeOptions(BaseModel):
1616 output_modalities : Optional [List [str ]] = Field (default = None , description = "Output modalities" )
1717 messages : Optional [List [Dict [str , Any ]]] = Field (default = None , description = "Conversation messages" )
1818 params : Optional [Dict [str , Any ]] = Field (default = None , description = "Additional parameters" )
19+ predefined_tools : Optional [List [str ]] = Field (default = None , description = "Predefined tools" )
20+ failure_message : Optional [str ] = Field (default = None , description = "Message played on failure" )
21+ max_history : Optional [int ] = Field (default = None , description = "Maximum conversation history length" )
1922
2023class OpenAIRealtime (BaseMLLM ):
2124 def __init__ (self , ** kwargs : Any ):
@@ -45,6 +48,12 @@ def to_config(self) -> Dict[str, Any]:
4548 config ["output_modalities" ] = self .options .output_modalities
4649 if self .options .messages is not None :
4750 config ["messages" ] = self .options .messages
51+ if self .options .predefined_tools is not None :
52+ config ["predefined_tools" ] = self .options .predefined_tools
53+ if self .options .failure_message is not None :
54+ config ["failure_message" ] = self .options .failure_message
55+ if self .options .max_history is not None :
56+ config ["max_history" ] = self .options .max_history
4857
4958 return config
5059
@@ -53,6 +62,7 @@ class VertexAIOptions(BaseModel):
5362 model_config = ConfigDict (extra = "forbid" )
5463
5564 model : str = Field (..., description = "Model name" )
65+ url : Optional [str ] = Field (default = None , description = "WebSocket URL" )
5666 project_id : str = Field (..., description = "Google Cloud project ID" )
5767 location : str = Field (..., description = "Google Cloud location/region" )
5868 adc_credentials_string : str = Field (..., description = "Application Default Credentials JSON string" )
@@ -63,6 +73,9 @@ class VertexAIOptions(BaseModel):
6373 output_modalities : Optional [List [str ]] = Field (default = None , description = "Output modalities" )
6474 messages : Optional [List [Dict [str , Any ]]] = Field (default = None , description = "Conversation messages" )
6575 additional_params : Optional [Dict [str , Any ]] = Field (default = None , description = "Additional parameters" )
76+ predefined_tools : Optional [List [str ]] = Field (default = None , description = "Predefined tools" )
77+ failure_message : Optional [str ] = Field (default = None , description = "Message played on failure" )
78+ max_history : Optional [int ] = Field (default = None , description = "Maximum conversation history length" )
6679
6780class VertexAI (BaseMLLM ):
6881 def __init__ (self , ** kwargs : Any ):
@@ -89,6 +102,8 @@ def to_config(self) -> Dict[str, Any]:
89102 "params" : params ,
90103 }
91104
105+ if self .options .url is not None :
106+ config ["url" ] = self .options .url
92107 if self .options .greeting_message is not None :
93108 config ["greeting_message" ] = self .options .greeting_message
94109 if self .options .input_modalities is not None :
@@ -97,6 +112,12 @@ def to_config(self) -> Dict[str, Any]:
97112 config ["output_modalities" ] = self .options .output_modalities
98113 if self .options .messages is not None :
99114 config ["messages" ] = self .options .messages
115+ if self .options .predefined_tools is not None :
116+ config ["predefined_tools" ] = self .options .predefined_tools
117+ if self .options .failure_message is not None :
118+ config ["failure_message" ] = self .options .failure_message
119+ if self .options .max_history is not None :
120+ config ["max_history" ] = self .options .max_history
100121
101122 return config
102123
@@ -106,13 +127,17 @@ class GeminiLiveOptions(BaseModel):
106127
107128 api_key : str = Field (..., description = "Google API key" )
108129 model : str = Field (..., description = "Gemini Live model name" )
130+ url : Optional [str ] = Field (default = None , description = "WebSocket URL" )
109131 instructions : Optional [str ] = Field (default = None , description = "System instructions" )
110132 voice : Optional [str ] = Field (default = None , description = "Voice name" )
111133 greeting_message : Optional [str ] = Field (default = None , description = "Agent greeting message" )
112134 input_modalities : Optional [List [str ]] = Field (default = None , description = "Input modalities" )
113135 output_modalities : Optional [List [str ]] = Field (default = None , description = "Output modalities" )
114136 messages : Optional [List [Dict [str , Any ]]] = Field (default = None , description = "Conversation messages" )
115137 additional_params : Optional [Dict [str , Any ]] = Field (default = None , description = "Additional parameters" )
138+ predefined_tools : Optional [List [str ]] = Field (default = None , description = "Predefined tools" )
139+ failure_message : Optional [str ] = Field (default = None , description = "Message played on failure" )
140+ max_history : Optional [int ] = Field (default = None , description = "Maximum conversation history length" )
116141
117142class GeminiLive (BaseMLLM ):
118143 def __init__ (self , ** kwargs : Any ):
@@ -135,6 +160,8 @@ def to_config(self) -> Dict[str, Any]:
135160 "params" : params ,
136161 }
137162
163+ if self .options .url is not None :
164+ config ["url" ] = self .options .url
138165 if self .options .greeting_message is not None :
139166 config ["greeting_message" ] = self .options .greeting_message
140167 if self .options .input_modalities is not None :
@@ -143,5 +170,11 @@ def to_config(self) -> Dict[str, Any]:
143170 config ["output_modalities" ] = self .options .output_modalities
144171 if self .options .messages is not None :
145172 config ["messages" ] = self .options .messages
173+ if self .options .predefined_tools is not None :
174+ config ["predefined_tools" ] = self .options .predefined_tools
175+ if self .options .failure_message is not None :
176+ config ["failure_message" ] = self .options .failure_message
177+ if self .options .max_history is not None :
178+ config ["max_history" ] = self .options .max_history
146179
147180 return config
0 commit comments