mirror of
https://github.com/open-webui/open-webui.git
synced 2025-12-11 20:05:19 +00:00
Merge pull request #15842 from expruc/fix/handle_remove_files_from_vdb
fix: deleting files from vector DB upon file deletion
This commit is contained in:
commit
2d4675dc1c
1 changed files with 3 additions and 1 deletions
|
|
@ -21,6 +21,7 @@ from fastapi import (
|
||||||
from fastapi.responses import FileResponse, StreamingResponse
|
from fastapi.responses import FileResponse, StreamingResponse
|
||||||
from open_webui.constants import ERROR_MESSAGES
|
from open_webui.constants import ERROR_MESSAGES
|
||||||
from open_webui.env import SRC_LOG_LEVELS
|
from open_webui.env import SRC_LOG_LEVELS
|
||||||
|
from open_webui.retrieval.vector.factory import VECTOR_DB_CLIENT
|
||||||
|
|
||||||
from open_webui.models.users import Users
|
from open_webui.models.users import Users
|
||||||
from open_webui.models.files import (
|
from open_webui.models.files import (
|
||||||
|
|
@ -286,6 +287,7 @@ async def delete_all_files(user=Depends(get_admin_user)):
|
||||||
if result:
|
if result:
|
||||||
try:
|
try:
|
||||||
Storage.delete_all_files()
|
Storage.delete_all_files()
|
||||||
|
VECTOR_DB_CLIENT.reset()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
log.exception(e)
|
log.exception(e)
|
||||||
log.error("Error deleting files")
|
log.error("Error deleting files")
|
||||||
|
|
@ -603,12 +605,12 @@ async def delete_file_by_id(id: str, user=Depends(get_verified_user)):
|
||||||
or user.role == "admin"
|
or user.role == "admin"
|
||||||
or has_access_to_file(id, "write", user)
|
or has_access_to_file(id, "write", user)
|
||||||
):
|
):
|
||||||
# We should add Chroma cleanup here
|
|
||||||
|
|
||||||
result = Files.delete_file_by_id(id)
|
result = Files.delete_file_by_id(id)
|
||||||
if result:
|
if result:
|
||||||
try:
|
try:
|
||||||
Storage.delete_file(file.path)
|
Storage.delete_file(file.path)
|
||||||
|
VECTOR_DB_CLIENT.delete(collection_name=f"file-{id}")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
log.exception(e)
|
log.exception(e)
|
||||||
log.error("Error deleting files")
|
log.error("Error deleting files")
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue