From 2e828600ea4bb396782ad68bb848176b3929acaf Mon Sep 17 00:00:00 2001 From: Charlotte Som Date: Wed, 26 Feb 2025 04:33:57 +0000 Subject: [PATCH] skip sending previous context if we're continuing a connection --- server/inference.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/server/inference.py b/server/inference.py index 5c6e7b3..ca99c34 100644 --- a/server/inference.py +++ b/server/inference.py @@ -14,6 +14,7 @@ async def list_conversations(request: Request): girlypop_prompt = llm.cli.load_template("girlypop").system async def connect_to_conversation(ws: WebSocket): + continuing = bool(ws.query_params["continue"]) conversation_id = ws.path_params["conversation"] if conversation_id == "new": conversation = llm.AsyncConversation(llm.get_async_model()) @@ -31,13 +32,14 @@ async def connect_to_conversation(ws: WebSocket): # only send the system prompt at the start of a conversation system_prompt = girlypop_prompt - for response in conversation.responses: - response: llm.AsyncResponse = response - if not response._done: continue - if response.prompt.system: - system_prompt = None - await ws.send_text(json.dumps({"u": response.prompt.prompt})) # user - await ws.send_text(json.dumps({"f": response.text_or_raise()})) # full + if not continuing: + for response in conversation.responses: + response: llm.AsyncResponse = response + if not response._done: continue + if response.prompt.system: + system_prompt = None + await ws.send_text(json.dumps({"u": response.prompt.prompt})) # user + await ws.send_text(json.dumps({"f": response.text_or_raise()})) # full async for message in ws.iter_text(): response = conversation.prompt(message, system=system_prompt, stream=True)