mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-07-25 09:53:29 +08:00
Fix: reject empty/space-only content in update_chunk API (#14082)
Closes #6541 ### What problem does this PR solve? Add content validation to `update_chunk` (SDK and non-SDK) to reject empty or whitespace-only content before it reaches the embedding model. **Before:** Calling `update_chunk` with space-only content (like `" "`, `""`, `"\n"`) bypassed validation and was sent directly to the embedding model, which returned an error. This was the same bug previously fixed for `add_chunk` in #6390, but `update_chunk` was missed. **After:** Empty/whitespace-only content is caught by validation and returns an error: `` `content` is required `` ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
@@ -220,6 +220,7 @@ def _load_chunk_module(monkeypatch):
|
||||
|
||||
string_utils_mod = ModuleType("common.string_utils")
|
||||
string_utils_mod.remove_redundant_spaces = lambda text: " ".join(str(text).split())
|
||||
string_utils_mod.is_content_empty = lambda content: content is None or not str(content).strip()
|
||||
monkeypatch.setitem(sys.modules, "common.string_utils", string_utils_mod)
|
||||
|
||||
metadata_utils_mod = ModuleType("common.metadata_utils")
|
||||
|
||||
@@ -46,10 +46,10 @@ class TestUpdateChunk:
|
||||
"payload, expected_code, expected_message",
|
||||
[
|
||||
({"content_with_weight": None}, 100, "TypeError('expected string or bytes-like object')"),
|
||||
({"content_with_weight": ""}, 100, """Exception('Error: 413 - {"error":"Input validation error: `inputs` cannot be empty","error_type":"Validation"}')"""),
|
||||
({"content_with_weight": ""}, 102, "`content_with_weight` is required"),
|
||||
({"content_with_weight": 1}, 100, "TypeError('expected string or bytes-like object')"),
|
||||
({"content_with_weight": "update chunk"}, 0, ""),
|
||||
({"content_with_weight": " "}, 0, ""),
|
||||
({"content_with_weight": " "}, 102, "`content_with_weight` is required"),
|
||||
({"content_with_weight": "\n!?。;!?\"'"}, 0, ""),
|
||||
],
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user