Bem-vindo à aula sobre como dividir textos grandes com Javascript no curso "Construindo o Fluxo Prime: Seu Guia Inicial de IA com Nicochat". Nesta aula, você aprenderá:
Deixe seus comentários e dúvidas, teremos prazer em respondê-los!
Até a próxima aula!
Código Javascript:
(splitText, charLimit = 900)
function findEndOfSentenceNearLimit(text, start_index, char_limit) {
let end_indices = [];
[".", "?", "!"].forEach(symbol => {
let idx = text.indexOf(symbol, start_index);
while (idx !== -1 && idx <= char_limit) {
end_indices.push(idx);
idx = text.indexOf(symbol, idx + 1);
}
});
if (end_indices.length === 0) {
return char_limit < text.length ? char_limit : text.length;
}
return Math.min(...end_indices.filter(idx => idx >= start_index + char_limit * 0.8));
}
if (splitText.length <= charLimit) {
return ["", splitText.trim()];
}
let first_index = findEndOfSentenceNearLimit(splitText, 0, charLimit);
let first_part = splitText.slice(0, first_index + 1).trim();
let second_part = splitText.slice(first_index + 1).trim();
if (second_part.length > charLimit) {
let second_index = findEndOfSentenceNearLimit(second_part, 0, charLimit);
second_part = second_part.slice(0, second_index + 1).trim();
}
return [first_part, second_part];