Spaces:
Running
Running
fix(chunk): paragraph mode gom dong - token_chunker.py
Browse files- src/token_chunker.py +8 -5
src/token_chunker.py
CHANGED
|
@@ -114,14 +114,17 @@ def split_for_translation(
|
|
| 114 |
return []
|
| 115 |
|
| 116 |
if chunk_mode == "paragraph":
|
|
|
|
|
|
|
|
|
|
| 117 |
paragraphs = [p.strip() for p in re.split(r"\n\s*\n+", text) if p.strip()]
|
| 118 |
chunks: list[str] = []
|
| 119 |
for paragraph in paragraphs:
|
| 120 |
-
for line in paragraph.splitlines()
|
| 121 |
-
|
| 122 |
-
|
| 123 |
-
|
| 124 |
-
|
| 125 |
return chunks
|
| 126 |
|
| 127 |
chunks = []
|
|
|
|
| 114 |
return []
|
| 115 |
|
| 116 |
if chunk_mode == "paragraph":
|
| 117 |
+
# "Theo đoạn": GOM cả đoạn (các dòng nối lại) thành một khối rồi mới chia,
|
| 118 |
+
# để sentence_chunks pack tới sát cap — KHÁC "sentence" (xử lý từng dòng
|
| 119 |
+
# riêng). Đoạn ngăn nhau bằng dòng trống vẫn tách (không trộn 2 đoạn).
|
| 120 |
paragraphs = [p.strip() for p in re.split(r"\n\s*\n+", text) if p.strip()]
|
| 121 |
chunks: list[str] = []
|
| 122 |
for paragraph in paragraphs:
|
| 123 |
+
lines = [line.strip() for line in paragraph.splitlines() if line.strip()]
|
| 124 |
+
if not lines:
|
| 125 |
+
continue
|
| 126 |
+
block = "\n".join(lines)
|
| 127 |
+
chunks.extend(sentence_chunks(tokenizer, block, max_tokens=max_tokens))
|
| 128 |
return chunks
|
| 129 |
|
| 130 |
chunks = []
|