@@ -119,6 +119,7 @@ def generate_query_from_prompt(
119119 collection_context : CollectionContext = None ,
120120 intermediate_context : dict = None ,
121121 all_collections_schema : str = "" ,
122+ model : str = "gemini-2.5-flash" ,
122123) -> GeneratedCode :
123124 # Prune intermediate_context to remove image/large data
124125 safe_intermediate_context = (
@@ -136,7 +137,7 @@ def generate_query_from_prompt(
136137 )
137138 client = genai .Client ()
138139 response = client .models .generate_content (
139- model = "gemini-2.5-flash" ,
140+ model = model ,
140141 contents = full_prompt ,
141142 config = types .GenerateContentConfig (
142143 thinking_config = types .ThinkingConfig (thinking_budget = 0 ) # Disables thinking
@@ -146,14 +147,16 @@ def generate_query_from_prompt(
146147 return GeneratedCode (generated_code = code )
147148
148149
149- def generate_suggestion_from_query_error (query : str , error_message : str ) -> str :
150+ def generate_suggestion_from_query_error (
151+ query : str , error_message : str , model : str = "gemini-2.5-flash"
152+ ) -> str :
150153 """
151154 Sends a failed query and error message to Gemini for debugging suggestion.
152155 """
153156 full_prompt = PROMPT_TEMPLATE_DEBUG .format (query = query , error_message = error_message )
154157 client = genai .Client ()
155158 response = client .models .generate_content (
156- model = "gemini-2.5-flash" ,
159+ model = model ,
157160 contents = full_prompt ,
158161 config = types .GenerateContentConfig (
159162 thinking_config = types .ThinkingConfig (thinking_budget = 0 ) # Disables thinking
@@ -202,11 +205,11 @@ def generate_suggestion_from_query_error(query: str, error_message: str) -> str:
202205"""
203206
204207
205- def generate_audit_sql (user_input : str ) -> str :
208+ def generate_audit_sql (user_input : str , model : str = "gemini-2.5-flash" ) -> str :
206209 full_prompt = PROMPT_TEMPLATE_AUDIT_SQL .format (user_input = user_input )
207210 client = genai .Client ()
208211 response = client .models .generate_content (
209- model = "gemini-2.5-flash" ,
212+ model = model ,
210213 contents = full_prompt ,
211214 config = types .GenerateContentConfig (
212215 thinking_config = types .ThinkingConfig (thinking_budget = 0 )
@@ -220,7 +223,7 @@ def generate_audit_sql(user_input: str) -> str:
220223
221224
222225def summarize_audit_results (
223- user_input : str , sql_query : str , results : list
226+ user_input : str , sql_query : str , results : list , model : str = "gemini-2.5-flash"
224227) -> AuditSummaryResponse :
225228 # Truncate results if too large to avoid token limits
226229 results_str = str (results )[:10000 ]
@@ -229,7 +232,7 @@ def summarize_audit_results(
229232 )
230233 client = genai .Client ()
231234 response = client .models .generate_content (
232- model = "gemini-2.5-flash" ,
235+ model = model ,
233236 contents = full_prompt ,
234237 config = types .GenerateContentConfig (
235238 response_mime_type = "application/json" ,
@@ -281,13 +284,15 @@ def summarize_audit_results(
281284"""
282285
283286
284- def generate_schema_relationships (schema_summary : str ) -> SchemaRelationshipsResponse :
287+ def generate_schema_relationships (
288+ schema_summary : str , model : str = "gemini-2.5-flash"
289+ ) -> SchemaRelationshipsResponse :
285290 from models .schemas import SchemaRelationshipsResponse
286291
287292 full_prompt = PROMPT_TEMPLATE_RELATIONSHIPS .format (schema_summary = schema_summary )
288293 client = genai .Client ()
289294 response = client .models .generate_content (
290- model = "gemini-2.5-flash" ,
295+ model = model ,
291296 contents = full_prompt ,
292297 config = types .GenerateContentConfig (
293298 response_mime_type = "application/json" ,
0 commit comments