|
@@ -2,6 +2,8 @@
|
|
|
from abc import ABC, abstractmethod
|
|
|
from typing import Optional
|
|
|
|
|
|
+from flask import current_app
|
|
|
+
|
|
|
from core.model_manager import ModelInstance
|
|
|
from core.rag.extractor.entity.extract_setting import ExtractSetting
|
|
|
from core.rag.models.document import Document
|
|
@@ -43,8 +45,9 @@ class BaseIndexProcessor(ABC):
|
|
|
# The user-defined segmentation rule
|
|
|
rules = processing_rule['rules']
|
|
|
segmentation = rules["segmentation"]
|
|
|
- if segmentation["max_tokens"] < 50 or segmentation["max_tokens"] > 1000:
|
|
|
- raise ValueError("Custom segment length should be between 50 and 1000.")
|
|
|
+ max_segmentation_tokens_length = int(current_app.config['INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH'])
|
|
|
+ if segmentation["max_tokens"] < 50 or segmentation["max_tokens"] > max_segmentation_tokens_length:
|
|
|
+ raise ValueError(f"Custom segment length should be between 50 and {max_segmentation_tokens_length}.")
|
|
|
|
|
|
separator = segmentation["separator"]
|
|
|
if separator:
|