Skip to content

Index

Base interface class for storing chat history per user.

BaseChatStore #

Bases: BaseComponent

Source code in llama-index-core/llama_index/core/storage/chat_store/base.py
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
class BaseChatStore(BaseComponent):
    @classmethod
    def class_name(cls) -> str:
        """Get class name."""
        return "BaseChatStore"

    @abstractmethod
    def set_messages(self, key: str, messages: List[ChatMessage]) -> None:
        """Set messages for a key."""
        ...

    @abstractmethod
    def get_messages(self, key: str) -> List[ChatMessage]:
        """Get messages for a key."""
        ...

    @abstractmethod
    def add_message(self, key: str, message: ChatMessage) -> None:
        """Add a message for a key."""
        ...

    @abstractmethod
    def delete_messages(self, key: str) -> Optional[List[ChatMessage]]:
        """Delete messages for a key."""
        ...

    @abstractmethod
    def delete_message(self, key: str, idx: int) -> Optional[ChatMessage]:
        """Delete specific message for a key."""
        ...

    @abstractmethod
    def delete_last_message(self, key: str) -> Optional[ChatMessage]:
        """Delete last message for a key."""
        ...

    @abstractmethod
    def get_keys(self) -> List[str]:
        """Get all keys."""
        ...

class_name classmethod #

class_name() -> str

Get class name.

Source code in llama-index-core/llama_index/core/storage/chat_store/base.py
10
11
12
13
@classmethod
def class_name(cls) -> str:
    """Get class name."""
    return "BaseChatStore"

set_messages abstractmethod #

set_messages(key: str, messages: List[ChatMessage]) -> None

Set messages for a key.

Source code in llama-index-core/llama_index/core/storage/chat_store/base.py
15
16
17
18
@abstractmethod
def set_messages(self, key: str, messages: List[ChatMessage]) -> None:
    """Set messages for a key."""
    ...

get_messages abstractmethod #

get_messages(key: str) -> List[ChatMessage]

Get messages for a key.

Source code in llama-index-core/llama_index/core/storage/chat_store/base.py
20
21
22
23
@abstractmethod
def get_messages(self, key: str) -> List[ChatMessage]:
    """Get messages for a key."""
    ...

add_message abstractmethod #

add_message(key: str, message: ChatMessage) -> None

Add a message for a key.

Source code in llama-index-core/llama_index/core/storage/chat_store/base.py
25
26
27
28
@abstractmethod
def add_message(self, key: str, message: ChatMessage) -> None:
    """Add a message for a key."""
    ...

delete_messages abstractmethod #

delete_messages(key: str) -> Optional[List[ChatMessage]]

Delete messages for a key.

Source code in llama-index-core/llama_index/core/storage/chat_store/base.py
30
31
32
33
@abstractmethod
def delete_messages(self, key: str) -> Optional[List[ChatMessage]]:
    """Delete messages for a key."""
    ...

delete_message abstractmethod #

delete_message(key: str, idx: int) -> Optional[ChatMessage]

Delete specific message for a key.

Source code in llama-index-core/llama_index/core/storage/chat_store/base.py
35
36
37
38
@abstractmethod
def delete_message(self, key: str, idx: int) -> Optional[ChatMessage]:
    """Delete specific message for a key."""
    ...

delete_last_message abstractmethod #

delete_last_message(key: str) -> Optional[ChatMessage]

Delete last message for a key.

Source code in llama-index-core/llama_index/core/storage/chat_store/base.py
40
41
42
43
@abstractmethod
def delete_last_message(self, key: str) -> Optional[ChatMessage]:
    """Delete last message for a key."""
    ...

get_keys abstractmethod #

get_keys() -> List[str]

Get all keys.

Source code in llama-index-core/llama_index/core/storage/chat_store/base.py
45
46
47
48
@abstractmethod
def get_keys(self) -> List[str]:
    """Get all keys."""
    ...