Class: SummaryChatHistory
A ChatHistory is used to keep the state of back and forth chat messages
Hierarchy
-
↳
SummaryChatHistory
Constructors
constructor
• new SummaryChatHistory(init?
): SummaryChatHistory
Parameters
Name | Type |
---|---|
init? | Partial <SummaryChatHistory > |
Returns
Overrides
Defined in
packages/core/src/ChatHistory.ts:79
Properties
llm
• llm: LLM
<Record
<string
, unknown
>, Record
<string
, unknown
>>
Defined in
packages/core/src/ChatHistory.ts:76
messages
• messages: { content
: MessageContent
; options?
: Record
<string
, unknown
> ; role
: MessageType
}[]
Overrides
Defined in
packages/core/src/ChatHistory.ts:74
messagesBefore
• Private
messagesBefore: number
Defined in
packages/core/src/ChatHistory.ts:77
summaryPrompt
• summaryPrompt: (__namedParameters
: { context
: undefined
| string
= "" }) => string
Type declaration
▸ («destructured»
): string
Parameters
Name | Type | Default value |
---|---|---|
«destructured» | Object | undefined |
› context | undefined | string | "" |
Returns
string
Defined in
packages/core/src/ChatHistory.ts:75
tokenizer
• tokenizer: (text
: string
) => Uint32Array
= globalsHelper.defaultTokenizer.encode
Tokenizer function that converts text to tokens, this is used to calculate the number of tokens in a message.
Type declaration
▸ (text
): Uint32Array
Parameters
Name | Type |
---|---|
text | string |
Returns
Uint32Array
Defined in
packages/core/src/ChatHistory.ts:71
tokensToSummarize
• tokensToSummarize: number
Defined in
packages/core/src/ChatHistory.ts:73
Accessors
nonSystemMessages
• get
nonSystemMessages(): { content
: MessageContent
; options?
: Record
<string
, unknown
> ; role
: MessageType
}[]
Returns
{ content
: MessageContent
; options?
: Record
<string
, unknown
> ; role
: MessageType
}[]
Defined in
packages/core/src/ChatHistory.ts:149
systemMessages
• get
systemMessages(): { content
: MessageContent
; options?
: Record
<string
, unknown
> ; role
: MessageType
}[]
Returns
{ content
: MessageContent
; options?
: Record
<string
, unknown
> ; role
: MessageType
}[]
Defined in
packages/core/src/ChatHistory.ts:144
Methods
addMessage
▸ addMessage(message
): void
Adds a message to the chat history.
Parameters
Name | Type |
---|---|
message | Object |
message.content | MessageContent |
message.options? | Record <string , unknown > |
message.role | MessageType |
Returns
void
Overrides
Defined in
packages/core/src/ChatHistory.ts:123
calcConversationMessages
▸ calcConversationMessages(transformSummary?
): { content
: MessageContent
; options?
: Record
<string
, unknown
> ; role
: MessageType
}[]
Calculates the messages that describe the conversation so far. If there's no memory, all non-system messages are used. If there's a memory, uses all messages after the last summary message.
Parameters
Name | Type |
---|---|
transformSummary? | boolean |
Returns
{ content
: MessageContent
; options?
: Record
<string
, unknown
> ; role
: MessageType
}[]
Defined in
packages/core/src/ChatHistory.ts:159
calcCurrentRequestMessages
▸ calcCurrentRequestMessages(transientMessages?
): { content
: MessageContent
; options?
: Record
<string
, unknown
> ; role
: MessageType
}[]
Parameters
Name | Type |
---|---|
transientMessages? | { content : MessageContent ; options? : Record <string , unknown > ; role : MessageType }[] |
Returns
{ content
: MessageContent
; options?
: Record
<string
, unknown
> ; role
: MessageType
}[]
Defined in
packages/core/src/ChatHistory.ts:177
getLastSummary
▸ getLastSummary(): null
| { content
: MessageContent
; options?
: Record
<string
, unknown
> ; role
: MessageType
}
Returns
null
| { content
: MessageContent
; options?
: Record
<string
, unknown
> ; role
: MessageType
}
Defined in
packages/core/src/ChatHistory.ts:139
getLastSummaryIndex
▸ getLastSummaryIndex(): null
| number
Returns
null
| number
Defined in
packages/core/src/ChatHistory.ts:128
newMessages
▸ newMessages(): { content
: MessageContent
; options?
: Record
<string
, unknown
> ; role
: MessageType
}[]
Returns the new messages since the last call to this function (or since calling the constructor)
Returns
{ content
: MessageContent
; options?
: Record
<string
, unknown
> ; role
: MessageType
}[]
Overrides
Defined in
packages/core/src/ChatHistory.ts:221
requestMessages
▸ requestMessages(transientMessages?
): Promise
<{ content
: MessageContent
; options?
: Record
<string
, unknown
> ; role
: MessageType
}[]>
Returns the messages that should be used as input to the LLM.
Parameters
Name | Type |
---|---|
transientMessages? | { content : MessageContent ; options? : Record <string , unknown > ; role : MessageType }[] |
Returns
Promise
<{ content
: MessageContent
; options?
: Record
<string
, unknown
> ; role
: MessageType
}[]>
Overrides
Defined in
packages/core/src/ChatHistory.ts:187
reset
▸ reset(): void
Resets the chat history so that it's empty.
Returns
void
Overrides
Defined in
packages/core/src/ChatHistory.ts:217
summarize
▸ summarize(): Promise
<{ content
: MessageContent
; options?
: Record
<string
, unknown
> ; role
: MessageType
}>
Returns
Promise
<{ content
: MessageContent
; options?
: Record
<string
, unknown
> ; role
: MessageType
}>