Skip to content

Commit 13644c3

Browse files
committed
fix streaming saving last message only
1 parent 597b014 commit 13644c3

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

src/quartapp/config.py

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)