Bugfix/Buffer Memory for Anthropic (#3242)

fix buffer memory
This commit is contained in:
Henry Heng
2024-09-24 15:19:08 +01:00
committed by GitHub
parent 7d88183eca
commit a6a0398074
3 changed files with 22 additions and 8 deletions
@@ -10,9 +10,10 @@ import {
} from '../../../src/Interface'
import { getBaseClasses, mapChatMessageToBaseMessage } from '../../../src/utils'
import { BaseLanguageModel } from '@langchain/core/language_models/base'
import { BaseMessage, getBufferString } from '@langchain/core/messages'
import { BaseMessage, getBufferString, HumanMessage } from '@langchain/core/messages'
import { ConversationSummaryBufferMemory, ConversationSummaryBufferMemoryInput } from 'langchain/memory'
import { DataSource } from 'typeorm'
import { ChatAnthropic } from '../../chatmodels/ChatAnthropic/FlowiseChatAnthropic'
class ConversationSummaryBufferMemory_Memory implements INode {
label: string
@@ -163,7 +164,12 @@ class ConversationSummaryBufferMemoryExtended extends FlowiseSummaryBufferMemory
// ----------- Finished Pruning ---------------
if (this.movingSummaryBuffer) {
baseMessages = [new this.summaryChatMessageClass(this.movingSummaryBuffer), ...baseMessages]
// Anthropic doesn't support multiple system messages
if (this.llm instanceof ChatAnthropic) {
baseMessages = [new HumanMessage(`Below is the summarized conversation:\n\n${this.movingSummaryBuffer}`), ...baseMessages]
} else {
baseMessages = [new this.summaryChatMessageClass(this.movingSummaryBuffer), ...baseMessages]
}
}
if (returnBaseMessages) {