瀏覽代碼

enh: utils

Timothy Jaeryang Baek 2 月之前
父節點
當前提交
b94b691993
共有 1 個文件被更改,包括 19 次插入0 次删除
  1. 19 0
      backend/open_webui/utils/misc.py

+ 19 - 0
backend/open_webui/utils/misc.py

@@ -131,6 +131,25 @@ def add_or_update_system_message(content: str, messages: list[dict]):
     return messages
 
 
+def append_or_update_assistant_message(content: str, messages: list[dict]):
+    """
+    Adds a new assistant message at the end of the messages list
+    or updates the existing assistant message at the end.
+
+    :param msg: The message to be added or appended.
+    :param messages: The list of message dictionaries.
+    :return: The updated list of message dictionaries.
+    """
+
+    if messages and messages[-1].get("role") == "assistant":
+        messages[-1]["content"] = f"{messages[-1]['content']}\n{content}"
+    else:
+        # Insert at the end
+        messages.append({"role": "assistant", "content": content})
+
+    return messages
+
+
 def openai_chat_message_template(model: str):
     return {
         "id": f"{model}-{str(uuid.uuid4())}",