Spaces:
Running
Running
def chunk_text_by_tokens(text, max_tokens=1300, approx_tokens_per_word=1.3): | |
""" | |
Metni yaklaşık token sayısına göre parçalara böler. | |
Args: | |
text (str): Bölünecek uzun metin. | |
max_tokens (int): Her bir parçanın tahmini token limiti. | |
approx_tokens_per_word (float): Kelime başına ortalama token sayısı. | |
Returns: | |
List[str]: Token limitine uygun metin parçaları. | |
""" | |
words = text.split() | |
max_words = int(max_tokens / approx_tokens_per_word) | |
chunks = [] | |
for i in range(0, len(words), max_words): | |
chunk = " ".join(words[i:i + max_words]) | |
chunks.append(chunk) | |
return chunks | |