enh: delete_file query param

This commit is contained in:
Timothy Jaeryang Baek 2025-09-02 21:32:07 +04:00
parent 182408a52e
commit 22c4ef4fb0

View file

@ -1,6 +1,6 @@
from typing import List, Optional from typing import List, Optional
from pydantic import BaseModel from pydantic import BaseModel
from fastapi import APIRouter, Depends, HTTPException, status, Request from fastapi import APIRouter, Depends, HTTPException, status, Request, Query
import logging import logging
from open_webui.models.knowledge import ( from open_webui.models.knowledge import (
@ -492,6 +492,7 @@ def update_file_from_knowledge_by_id(
def remove_file_from_knowledge_by_id( def remove_file_from_knowledge_by_id(
id: str, id: str,
form_data: KnowledgeFileIdForm, form_data: KnowledgeFileIdForm,
delete_file: bool = Query(True),
user=Depends(get_verified_user), user=Depends(get_verified_user),
): ):
knowledge = Knowledges.get_knowledge_by_id(id=id) knowledge = Knowledges.get_knowledge_by_id(id=id)
@ -528,18 +529,19 @@ def remove_file_from_knowledge_by_id(
log.debug(e) log.debug(e)
pass pass
try: if delete_file:
# Remove the file's collection from vector database try:
file_collection = f"file-{form_data.file_id}" # Remove the file's collection from vector database
if VECTOR_DB_CLIENT.has_collection(collection_name=file_collection): file_collection = f"file-{form_data.file_id}"
VECTOR_DB_CLIENT.delete_collection(collection_name=file_collection) if VECTOR_DB_CLIENT.has_collection(collection_name=file_collection):
except Exception as e: VECTOR_DB_CLIENT.delete_collection(collection_name=file_collection)
log.debug("This was most likely caused by bypassing embedding processing") except Exception as e:
log.debug(e) log.debug("This was most likely caused by bypassing embedding processing")
pass log.debug(e)
pass
# Delete file from database # Delete file from database
Files.delete_file_by_id(form_data.file_id) Files.delete_file_by_id(form_data.file_id)
if knowledge: if knowledge:
data = knowledge.data or {} data = knowledge.data or {}