Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 4 additions & 10 deletions dotnet/src/SemanticKernel.Core/Text/TextChunker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -192,18 +192,12 @@ private static List<string> ProcessParagraphs(List<string> paragraphs, int adjus

if (GetTokenCount(lastParagraph, tokenCounter) < adjustedMaxTokensPerParagraph / 4)
{
var lastParagraphTokens = lastParagraph.Split(s_spaceChar, StringSplitOptions.RemoveEmptyEntries);
var secondLastParagraphTokens = secondLastParagraph.Split(s_spaceChar, StringSplitOptions.RemoveEmptyEntries);
var lastParagraphTokenCount = GetTokenCount(lastParagraph, tokenCounter);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: GetTokenCount(lastParagraph, tokenCounter) is already computed on line 193 for the if guard, then recomputed identically here. Hoist the result into a local before the if to avoid invoking the token counter twice — especially relevant when tokenCounter is a non-trivial delegate.

Suggested change
if (GetTokenCount(lastParagraph, tokenCounter) < adjustedMaxTokensPerParagraph / 4)
{
var lastParagraphTokens = lastParagraph.Split(s_spaceChar, StringSplitOptions.RemoveEmptyEntries);
var secondLastParagraphTokens = secondLastParagraph.Split(s_spaceChar, StringSplitOptions.RemoveEmptyEntries);
var lastParagraphTokenCount = GetTokenCount(lastParagraph, tokenCounter);
var lastParagraphTokenCount = GetTokenCount(lastParagraph, tokenCounter);
if (lastParagraphTokenCount < adjustedMaxTokensPerParagraph / 4)
{

var secondLastParagraphTokenCount = GetTokenCount(secondLastParagraph, tokenCounter);

var lastParagraphTokensCount = lastParagraphTokens.Length;
var secondLastParagraphTokensCount = secondLastParagraphTokens.Length;

if (lastParagraphTokensCount + secondLastParagraphTokensCount <= adjustedMaxTokensPerParagraph)
if (lastParagraphTokenCount + secondLastParagraphTokenCount <= adjustedMaxTokensPerParagraph)
{
var newSecondLastParagraph = string.Join(" ", secondLastParagraphTokens);
var newLastParagraph = string.Join(" ", lastParagraphTokens);

paragraphs[paragraphs.Count - 2] = $"{newSecondLastParagraph} {newLastParagraph}";
paragraphs[paragraphs.Count - 2] = $"{secondLastParagraph} {lastParagraph}";
paragraphs.RemoveAt(paragraphs.Count - 1);
}
}
Expand Down
Loading