mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-23 10:39:25 -05:00
Invalidate llm suggestion cache on doc save
This commit is contained in:
parent
c872e50739
commit
ddd2428d9c
@ -122,7 +122,7 @@ def get_llm_suggestion_cache(
|
|||||||
doc_key = get_suggestion_cache_key(document_id)
|
doc_key = get_suggestion_cache_key(document_id)
|
||||||
data: SuggestionCacheData = cache.get(doc_key)
|
data: SuggestionCacheData = cache.get(doc_key)
|
||||||
|
|
||||||
if data and data.classifier_version == 1000 and data.classifier_hash == backend:
|
if data and data.classifier_hash == backend:
|
||||||
return data
|
return data
|
||||||
|
|
||||||
return None
|
return None
|
||||||
@ -152,6 +152,19 @@ def set_llm_suggestions_cache(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def invalidate_llm_suggestions_cache(
|
||||||
|
document_id: int,
|
||||||
|
) -> None:
|
||||||
|
"""
|
||||||
|
Invalidate the LLM suggestions cache for a specific document and backend.
|
||||||
|
"""
|
||||||
|
doc_key = get_suggestion_cache_key(document_id)
|
||||||
|
data: SuggestionCacheData = cache.get(doc_key)
|
||||||
|
|
||||||
|
if data:
|
||||||
|
cache.delete(doc_key)
|
||||||
|
|
||||||
|
|
||||||
def get_metadata_cache_key(document_id: int) -> str:
|
def get_metadata_cache_key(document_id: int) -> str:
|
||||||
"""
|
"""
|
||||||
Returns the basic key for a document's metadata
|
Returns the basic key for a document's metadata
|
||||||
|
@ -25,6 +25,7 @@ from guardian.shortcuts import remove_perm
|
|||||||
|
|
||||||
from documents import matching
|
from documents import matching
|
||||||
from documents.caching import clear_document_caches
|
from documents.caching import clear_document_caches
|
||||||
|
from documents.caching import invalidate_llm_suggestions_cache
|
||||||
from documents.file_handling import create_source_path_directory
|
from documents.file_handling import create_source_path_directory
|
||||||
from documents.file_handling import delete_empty_directories
|
from documents.file_handling import delete_empty_directories
|
||||||
from documents.file_handling import generate_unique_filename
|
from documents.file_handling import generate_unique_filename
|
||||||
@ -524,6 +525,15 @@ def update_filename_and_move_files(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@receiver(models.signals.post_save, sender=Document)
|
||||||
|
def update_llm_suggestions_cache(sender, instance, **kwargs):
|
||||||
|
"""
|
||||||
|
Invalidate the LLM suggestions cache when a document is saved.
|
||||||
|
"""
|
||||||
|
# Invalidate the cache for the document
|
||||||
|
invalidate_llm_suggestions_cache(instance.pk)
|
||||||
|
|
||||||
|
|
||||||
# should be disabled in /src/documents/management/commands/document_importer.py handle
|
# should be disabled in /src/documents/management/commands/document_importer.py handle
|
||||||
@receiver(models.signals.post_save, sender=CustomField)
|
@receiver(models.signals.post_save, sender=CustomField)
|
||||||
def check_paths_and_prune_custom_fields(sender, instance: CustomField, **kwargs):
|
def check_paths_and_prune_custom_fields(sender, instance: CustomField, **kwargs):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user