@@ -150,16 +150,19 @@ async def run_rag_stream(
150150
151151 yield RetrievalResponseDelta (context = context , sessionState = new_session_state )
152152
153- message = Message ( content = "" , role = AIChatRoles . ASSISTANT )
153+ full_message_content = ""
154154 async for message_chunk in answer :
155- message .content = str (message_chunk .content )
156- yield RetrievalResponseDelta (
157- delta = message ,
155+ chunk_content = str (message_chunk .content )
156+ full_message_content += chunk_content
157+ message = Message (content = chunk_content , role = AIChatRoles .ASSISTANT )
158+ yield RetrievalResponseDelta (delta = message )
159+
160+ # Only save to Cosmos if we have content
161+ if full_message_content :
162+ full_message = Message (content = full_message_content , role = AIChatRoles .ASSISTANT )
163+ await self .add_to_cosmos (
164+ old_messages = messages ,
165+ new_message = full_message .to_dict (),
166+ session_state = session_state ,
167+ new_session_state = new_session_state ,
158168 )
159-
160- await self .add_to_cosmos (
161- old_messages = messages ,
162- new_message = message .to_dict (),
163- session_state = session_state ,
164- new_session_state = new_session_state ,
165- )
0 commit comments