Class CassandraChatMemoryStore

java.lang.Object
dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore
All Implemented Interfaces:
dev.langchain4j.store.memory.chat.ChatMemoryStore

public class CassandraChatMemoryStore extends Object implements dev.langchain4j.store.memory.chat.ChatMemoryStore
Implementation of ChatMemoryStore using Astra DB Vector Search. Table contains all chats. (default name is message_store). Each chat with multiple messages is a partition.Message id is a time uuid.
See Also:
  • Field Details

  • Constructor Details

    • CassandraChatMemoryStore

      public CassandraChatMemoryStore(com.datastax.oss.driver.api.core.CqlSession session)
      Constructor for message store
      Parameters:
      session - cassandra session
    • CassandraChatMemoryStore

      public CassandraChatMemoryStore(com.datastax.oss.driver.api.core.CqlSession session, String tableName)
      Constructor for message store
      Parameters:
      session - cassandra session
      tableName - table name
  • Method Details

    • create

      public void create()
      Create the table if not exist.
    • delete

      public void delete()
      Delete the table.
    • clear

      public void clear()
      Delete all rows.
    • getCassandraSession

      public com.datastax.oss.driver.api.core.CqlSession getCassandraSession()
      Access the cassandra session for fined grained operation.
      Returns:
      current cassandra session
    • getMessages

      public List<dev.langchain4j.data.message.ChatMessage> getMessages(@NonNull @NonNull Object memoryId)
      Specified by:
      getMessages in interface dev.langchain4j.store.memory.chat.ChatMemoryStore
    • updateMessages

      public void updateMessages(@NonNull @NonNull Object memoryId, @NonNull @NonNull List<dev.langchain4j.data.message.ChatMessage> messages)
      Specified by:
      updateMessages in interface dev.langchain4j.store.memory.chat.ChatMemoryStore
    • deleteMessages

      public void deleteMessages(@NonNull @NonNull Object memoryId)
      Specified by:
      deleteMessages in interface dev.langchain4j.store.memory.chat.ChatMemoryStore
    • builder

      public static CassandraChatMemoryStore.Builder builder()
    • builderAstra

      public static CassandraChatMemoryStore.BuilderAstra builderAstra()