| @@ -283,6 +283,7 @@ class OrchestratorRuleParser: | |||
| def _dynamic_calc_retrieve_k(cls, dataset: Dataset, rest_tokens: int) -> int: | |||
| DEFAULT_K = 2 | |||
| CONTEXT_TOKENS_PERCENT = 0.3 | |||
| MAX_K = 10 | |||
| if rest_tokens == -1: | |||
| return DEFAULT_K | |||
| @@ -311,5 +312,5 @@ class OrchestratorRuleParser: | |||
| if context_limit_tokens <= segment_max_tokens * DEFAULT_K: | |||
| return DEFAULT_K | |||
| # Expand the k value when there's still some room left in the 30% rest tokens space | |||
| return context_limit_tokens // segment_max_tokens | |||
| # Expand the k value when there's still some room left in the 30% rest tokens space, but less than the MAX_K | |||
| return min(context_limit_tokens // segment_max_tokens, MAX_K) | |||