feat: Update context count logic

- Updated logic for determining context count based on clear messages.
This commit is contained in:
kangfenmao 2024-09-06 14:17:22 +08:00
parent e73bbf4d6a
commit e55c0cdcef

View File

@ -23,13 +23,15 @@ export function filterContextMessages(messages: Message[]): Message[] {
export function getContextCount(assistant: Assistant, messages: Message[]) { export function getContextCount(assistant: Assistant, messages: Message[]) {
const contextCount = assistant?.settings?.contextCount ?? DEFAULT_CONEXTCOUNT const contextCount = assistant?.settings?.contextCount ?? DEFAULT_CONEXTCOUNT
const clearIndex = takeRight(messages, contextCount).findLastIndex((message) => message.type === 'clear') const _messages = takeRight(messages, contextCount)
const clearIndex = _messages.findLastIndex((message) => message.type === 'clear')
const messagesCount = _messages.length
if (clearIndex === -1) { if (clearIndex === -1) {
return contextCount return contextCount
} }
return contextCount - (clearIndex + 1) return messagesCount - (clearIndex + 1)
} }
export function estimateInputTokenCount(text: string) { export function estimateInputTokenCount(text: string) {