mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-08-01 08:32:18 +00:00
Fix: key the AI suggestion cache by model and endpoint (#13449)
--------- Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
This commit is contained in:
co-authored by
shamoon
parent
752c949009
commit
3d57f4396f
@@ -491,6 +491,42 @@ class TestAISuggestions(DirectoriesMixin, TestCase):
|
||||
"Titre IA",
|
||||
)
|
||||
|
||||
@patch("documents.views.get_ai_document_classification")
|
||||
@override_settings(
|
||||
AI_ENABLED=True,
|
||||
LLM_BACKEND="mock_backend",
|
||||
LLM_MODEL="model-a",
|
||||
LLM_ENDPOINT="http://endpoint-a",
|
||||
)
|
||||
def test_ai_suggestions_cache_key_includes_model_and_endpoint(
|
||||
self,
|
||||
mock_get_ai_classification,
|
||||
) -> None:
|
||||
"""Cached suggestions are keyed by model and endpoint, so switching
|
||||
either yields a cache miss instead of a stale hit."""
|
||||
mock_get_ai_classification.return_value = {
|
||||
"title": "Answer A",
|
||||
"tags": [],
|
||||
"correspondents": [],
|
||||
"document_types": [],
|
||||
"storage_paths": [],
|
||||
"dates": [],
|
||||
}
|
||||
|
||||
self.client.force_login(user=self.user)
|
||||
response = self.client.get(
|
||||
f"/api/documents/{self.document.pk}/ai_suggestions/",
|
||||
)
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
||||
# Cached under a key that carries model + endpoint...
|
||||
self.assertIsNotNone(
|
||||
get_llm_suggestion_cache(
|
||||
self.document.pk,
|
||||
backend="mock_backend:model-a:http://endpoint-a",
|
||||
),
|
||||
)
|
||||
|
||||
@patch("documents.views.get_ai_document_classification")
|
||||
@override_settings(
|
||||
AI_ENABLED=True,
|
||||
|
||||
Reference in New Issue
Block a user