Timothy Jaeryang Baek 2 月之前
父節點
當前提交
bf3c807047
共有 3 個文件被更改,包括 11 次插入10 次删除
  1. 8 1
      backend/open_webui/main.py
  2. 3 1
      backend/open_webui/retrieval/utils.py
  3. 0 8
      backend/open_webui/utils/middleware.py

+ 8 - 1
backend/open_webui/main.py

@@ -1404,7 +1404,6 @@ async def chat_completion(
         form_data, metadata, events = await process_chat_payload(
         form_data, metadata, events = await process_chat_payload(
             request, form_data, user, metadata, model
             request, form_data, user, metadata, model
         )
         )
-
     except Exception as e:
     except Exception as e:
         log.debug(f"Error processing chat payload: {e}")
         log.debug(f"Error processing chat payload: {e}")
         if metadata.get("chat_id") and metadata.get("message_id"):
         if metadata.get("chat_id") and metadata.get("message_id"):
@@ -1424,6 +1423,14 @@ async def chat_completion(
 
 
     try:
     try:
         response = await chat_completion_handler(request, form_data, user)
         response = await chat_completion_handler(request, form_data, user)
+        if metadata.get("chat_id") and metadata.get("message_id"):
+            Chats.upsert_message_to_chat_by_id_and_message_id(
+                metadata["chat_id"],
+                metadata["message_id"],
+                {
+                    "model": model_id,
+                },
+            )
 
 
         return await process_chat_response(
         return await process_chat_response(
             request, response, form_data, user, metadata, model, events, tasks
             request, response, form_data, user, metadata, model, events, tasks

+ 3 - 1
backend/open_webui/retrieval/utils.py

@@ -508,7 +508,9 @@ def get_sources_from_items(
             # Note Attached
             # Note Attached
             note = Notes.get_note_by_id(item.get("id"))
             note = Notes.get_note_by_id(item.get("id"))
 
 
-            if user.role == "admin" or has_access(user.id, "read", note.access_control):
+            if note and (
+                user.role == "admin" or has_access(user.id, "read", note.access_control)
+            ):
                 # User has access to the note
                 # User has access to the note
                 query_result = {
                 query_result = {
                     "documents": [[note.data.get("content", {}).get("md", "")]],
                     "documents": [[note.data.get("content", {}).get("md", "")]],

+ 0 - 8
backend/open_webui/utils/middleware.py

@@ -1381,14 +1381,6 @@ async def process_chat_response(
         task_id = str(uuid4())  # Create a unique task ID.
         task_id = str(uuid4())  # Create a unique task ID.
         model_id = form_data.get("model", "")
         model_id = form_data.get("model", "")
 
 
-        Chats.upsert_message_to_chat_by_id_and_message_id(
-            metadata["chat_id"],
-            metadata["message_id"],
-            {
-                "model": model_id,
-            },
-        )
-
         def split_content_and_whitespace(content):
         def split_content_and_whitespace(content):
             content_stripped = content.rstrip()
             content_stripped = content.rstrip()
             original_whitespace = (
             original_whitespace = (