memory¶
Simple converation memory component for user-assistant conversations.
- current_conversation¶
Stores the current active conversation.
- Type:
Classes
|
- class ConversationMemory(turn_db: LocalDB = None, user_id: str = None)[source]¶
Bases:
Component
- 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.