@Preview(value="3.4") public class InMemoryChatSession extends java.lang.Object implements ChatSession
| 限定符和类型 | 类和说明 |
|---|---|
static class |
InMemoryChatSession.Builder |
| 限定符和类型 | 字段和说明 |
|---|---|
protected int |
maxMessages |
protected java.util.List<ChatMessage> |
messages |
protected java.lang.String |
sessionId |
| 构造器和说明 |
|---|
InMemoryChatSession(java.lang.String sessionId) |
InMemoryChatSession(java.lang.String sessionId,
int maxMessages) |
InMemoryChatSession(java.lang.String sessionId,
java.util.List<SystemMessage> systemMessages,
java.util.List<ChatMessage> messages,
int maxMessages)
已过时。
3.9.1 不建议在会话里放系统消息
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addMessage(java.util.Collection<? extends ChatMessage> messages)
添加消息
|
java.util.Map<java.lang.String,java.lang.Object> |
attrs()
临时属性(不需要持久化)
|
static InMemoryChatSession.Builder |
builder() |
void |
clear()
清空消息
|
java.util.List<ChatMessage> |
getLatestMessages(int windowSize)
获取最近消息
|
int |
getMaxMessages()
获取最大消息数
|
java.util.List<ChatMessage> |
getMessages()
获取所有消息
|
java.lang.String |
getSessionId()
获取会话id
|
boolean |
isEmpty()
是否为空
|
protected void |
removeNonSystemMessages(int size)
移除size个非SystemMessage
当删除调用 ToolCall 的 AssistantMessage 时,需要删除后续对应的 ToolMessage,可能会导致实际删除的 size 大于传入的 size.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddMessage, addMessage, addMessage, loadNdjson, loadNdjson, toNdjson, toNdjsonprotected final java.lang.String sessionId
protected final java.util.List<ChatMessage> messages
protected final int maxMessages
public InMemoryChatSession(java.lang.String sessionId)
public InMemoryChatSession(java.lang.String sessionId,
int maxMessages)
@Deprecated
public InMemoryChatSession(java.lang.String sessionId,
java.util.List<SystemMessage> systemMessages,
java.util.List<ChatMessage> messages,
int maxMessages)
public java.lang.String getSessionId()
getSessionId 在接口中 ChatSessionpublic int getMaxMessages()
public java.util.List<ChatMessage> getMessages()
getMessages 在接口中 ChatSessionpublic java.util.List<ChatMessage> getLatestMessages(int windowSize)
getLatestMessages 在接口中 ChatSessionwindowSize - 窗口大小public void addMessage(java.util.Collection<? extends ChatMessage> messages)
addMessage 在接口中 ChatSessionprotected void removeNonSystemMessages(int size)
public boolean isEmpty()
ChatSessionisEmpty 在接口中 ChatSessionpublic void clear()
clear 在接口中 ChatSessionpublic java.util.Map<java.lang.String,java.lang.Object> attrs()
ChatSessionattrs 在接口中 ChatSessionpublic static InMemoryChatSession.Builder builder()