diff --git a/src/memos/api/handlers/suggestion_handler.py b/src/memos/api/handlers/suggestion_handler.py index a10251ec2..99e5885fb 100644 --- a/src/memos/api/handlers/suggestion_handler.py +++ b/src/memos/api/handlers/suggestion_handler.py @@ -32,22 +32,18 @@ def _get_further_suggestion( Args: llm: LLM instance for generating suggestions - message: Recent chat messages (can be a list of message dicts or a plain string) + message: Recent chat messages (MessageList or string for backward compatibility) Returns: List of suggestion queries """ try: + # Handle backward compatibility: convert string to MessageList format if isinstance(message, str): - dialogue_info = message - else: - dialogue_info = "\n".join( - [ - f"{msg['role']}: {msg['content']}" - for msg in message[-2:] - if isinstance(msg, dict) - ] - ) + logger.warning("Received string message, converting to MessageList format") + message = [{"role": "user", "content": message}] + + dialogue_info = "\n".join([f"{msg['role']}: {msg['content']}" for msg in message[-2:]]) further_suggestion_prompt = FURTHER_SUGGESTION_PROMPT.format(dialogue=dialogue_info) message_list = [{"role": "system", "content": further_suggestion_prompt}] response = llm.generate(message_list)