@@ -12,6 +12,7 @@ export function getTokenCount(input: string): number {
12
12
return encode ( input ) . length
13
13
}
14
14
15
+
15
16
export function splitPrompt (
16
17
maxTokens : number ,
17
18
prompt : string
@@ -22,24 +23,24 @@ export function splitPrompt(
22
23
const promptPieces : string [ ] = [ ]
23
24
let remainingPrompt = prompt
24
25
while ( remainingPrompt . length > 0 ) {
25
- if ( remainingPrompt . length > maxTokens && ! remainingPrompt . includes ( ' ' ) ) {
26
- const piece = remainingPrompt . substring ( 0 , maxTokens ) . trim ( ) ;
27
- promptPieces . push ( piece ) ;
28
- remainingPrompt = remainingPrompt . substring ( maxTokens ) . trim ( ) ;
29
- }
30
- const lastSpaceIndex = remainingPrompt . lastIndexOf ( ' ' , maxTokens )
31
- if ( lastSpaceIndex >= 0 ) {
32
- // Split at the last space
33
- const piece = remainingPrompt . substring ( 0 , lastSpaceIndex ) . trim ( )
34
- promptPieces . push ( piece )
35
- remainingPrompt = remainingPrompt . substring ( lastSpaceIndex ) . trim ( )
26
+ let piece ;
27
+ if ( remainingPrompt . length > maxTokens && ! remainingPrompt . includes ( ' ' ) ) {
28
+ piece = remainingPrompt . substring ( 0 , maxTokens ) . trim ( ) ;
36
29
} else {
37
- // If no space found in the next `maxTokens` characters, split at `maxTokens` directly
38
- const piece = remainingPrompt . substring ( 0 , maxTokens ) . trim ( )
39
- promptPieces . push ( piece )
40
- remainingPrompt = remainingPrompt . substring ( maxTokens ) . trim ( )
30
+ const lastSpaceIndex = remainingPrompt . lastIndexOf ( ' ' , maxTokens )
31
+ if ( lastSpaceIndex >= 0 ) {
32
+ // Split at the last space
33
+ piece = remainingPrompt . substring ( 0 , lastSpaceIndex ) . trim ( )
34
+ } else {
35
+ // If no space found in the next `maxTokens` characters, split at `maxTokens` directly
36
+ piece = remainingPrompt . substring ( 0 , maxTokens ) . trim ( )
37
+ }
41
38
}
39
+ promptPieces . push ( piece )
40
+ remainingPrompt = remainingPrompt . substring ( piece . length ) . trim ( )
42
41
}
43
42
44
43
return promptPieces
45
44
}
45
+
46
+
0 commit comments