memory

Simple converation memory component for user-assistant conversations.

current_conversation

Stores the current active conversation.

Type:

Conversation

turn_db

Database for storing all conversation turns.

Type:

LocalDB

conver_db

Database for storing complete conversations.

Type:

LocalDB

Classes

ConversationMemory([turn_db, user_id])

class ConversationMemory(turn_db: LocalDB = None, user_id: str = None)[source]

Bases: Component

clear_conversation_turns()[source]
new_conversation()[source]
call(metadata_filter: List[str] | None = None) str[source]

Returns the current conversation history as a formatted string.

Parameters:

metadata_filter (Optional[List[str]]) – List of metadata keys to include. If None, all metadata is included.

Returns:

Formatted conversation history with alternating user and assistant messages.

Returns empty string if no conversation history exists.

Return type:

str

add_dialog_turn(user_query: str | UserQuery, assistant_response: str | AssistantResponse)[source]

Add a new dialog turn to the current conversation.

Parameters:
  • user_query (str) – The user’s input message.

  • assistant_response (str) – The assistant’s response message.

add_user_query(user_query: str | UserQuery) str[source]

Add a user query to start a new dialog turn.

Parameters:

user_query (Union[str, UserQuery]) – The user’s input message. If UserQuery object, can include metadata.

Returns:

The ID of the pending dialog turn.

Return type:

str

Raises:

ValueError – If there’s already a pending user query without an assistant response.

add_assistant_response(assistant_response: str | AssistantResponse) str[source]

Add an assistant response to complete the current dialog turn.

Parameters:

assistant_response (Union[str, AssistantResponse]) – The assistant’s response message.

Returns:

The ID of the completed dialog turn.

Return type:

str

Raises:

ValueError – If there’s no pending user query to respond to.

reset_pending_query()[source]

Reset any pending query state. Useful for cleanup after cancellations or before starting new queries.