class RedisVLSemanticMemory(ContextProvider): ... async def invoking( self, messages: ChatMessage | MutableSequence[ChatMessage], **kwargs: Any ) -> Context: if isinstance(messages, ChatMessage): # 1 messages = [messages] prompt = "\n".join([message.text for message in messages]) context = self._semantic_store.get_relevant( prompt=prompt, raw=True, session_tag=self._session_tag, ) context = sorted(context, key=lambda m: m['timestamp']) # 2 relevant_messages = [self._back_to_chat_message(message) for message in context] print([m.text for m in relevant_messages]) return Context(messages=relevant_messages) # 3