Class SummarizationHook
java.lang.Object
com.alibaba.cloud.ai.graph.agent.hook.messages.MessagesModelHook
com.alibaba.cloud.ai.graph.agent.hook.summarization.SummarizationHook
- All Implemented Interfaces:
Hook
Hook that summarizes conversation history when token limits are approached.
This hook monitors message token counts and automatically summarizes older
messages when a threshold is reached, preserving the first user message and
recent messages to maintain context continuity.
Example:
SummarizationHook summarizer = SummarizationHook.builder()
.model(chatModel)
.maxTokensBeforeSummary(4000)
.messagesToKeep(20)
.keepFirstUserMessage(true) // Default: true
.build();
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class com.alibaba.cloud.ai.graph.agent.hook.messages.MessagesModelHook
MessagesModelHook.AfterModelAction, MessagesModelHook.BeforeModelAction -
Method Summary
Modifier and TypeMethodDescriptionbeforeModel(List<org.springframework.ai.chat.messages.Message> previousMessages, RunnableConfig config) static SummarizationHook.Builderbuilder()getName()Methods inherited from class com.alibaba.cloud.ai.graph.agent.hook.messages.MessagesModelHook
afterModel, afterModelAction, beforeModelAction, getAgent, getAgentName, setAgent, setAgentNameMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.alibaba.cloud.ai.graph.agent.hook.Hook
getHookPositions, getKeyStrategys
-
Method Details
-
builder
-
beforeModel
public AgentCommand beforeModel(List<org.springframework.ai.chat.messages.Message> previousMessages, RunnableConfig config) - Overrides:
beforeModelin classMessagesModelHook
-
getName
-
canJumpTo
-