@@ -221,12 +221,29 @@ async def generate_agent_response(
221221 context .query_request .conversation_id is None
222222 and bool (context .query_request .generate_topic_summary )
223223 )
224- topic_summary = await maybe_get_topic_summary (
225- generate_topic_summary = should_generate_topic_summary ,
226- input_text = context .query_request .query ,
227- client = context .client ,
228- model_id = responses_params .model ,
229- )
224+ try :
225+ topic_summary = await maybe_get_topic_summary (
226+ generate_topic_summary = should_generate_topic_summary ,
227+ input_text = context .query_request .query ,
228+ client = context .client ,
229+ model_id = responses_params .model ,
230+ )
231+ except HTTPException as exc :
232+ logger .warning (
233+ "Topic summary failed for request %s: %s" ,
234+ context .request_id ,
235+ exc .detail ,
236+ )
237+ detail : dict [str , str ] = exc .detail if isinstance (exc .detail , dict ) else {}
238+ yield serialize_event (
239+ ErrorStreamPayload .create (
240+ status_code = exc .status_code ,
241+ response = detail .get ("response" , "Internal server error" ),
242+ cause = detail .get ("cause" , str (exc .detail )),
243+ ),
244+ media_type ,
245+ )
246+ return
230247 logger .info ("Consuming tokens" )
231248 consume_query_tokens (
232249 user_id = context .user_id ,
0 commit comments