1717 SUGGESTION_QUERY_PROMPT_EN ,
1818 SUGGESTION_QUERY_PROMPT_ZH ,
1919)
20- from memos .types import MessageList
20+ from memos .types import MessageList , MessagesType
2121
2222
2323logger = get_logger (__name__ )
2424
2525
2626def _get_further_suggestion (
2727 llm : Any ,
28- message : MessageList ,
28+ message : MessageList | str ,
2929) -> list [str ]:
3030 """
3131 Get further suggestion based on recent dialogue.
3232
3333 Args:
3434 llm: LLM instance for generating suggestions
35- message: Recent chat messages
35+ message: Recent chat messages (can be a list of message dicts or a plain string)
3636
3737 Returns:
3838 List of suggestion queries
3939 """
4040 try :
41- dialogue_info = "\n " .join ([f"{ msg ['role' ]} : { msg ['content' ]} " for msg in message [- 2 :]])
41+ if isinstance (message , str ):
42+ dialogue_info = message
43+ else :
44+ dialogue_info = "\n " .join (
45+ [
46+ f"{ msg ['role' ]} : { msg ['content' ]} "
47+ for msg in message [- 2 :]
48+ if isinstance (msg , dict )
49+ ]
50+ )
4251 further_suggestion_prompt = FURTHER_SUGGESTION_PROMPT .format (dialogue = dialogue_info )
4352 message_list = [{"role" : "system" , "content" : further_suggestion_prompt }]
4453 response = llm .generate (message_list )
@@ -53,7 +62,7 @@ def _get_further_suggestion(
5362def handle_get_suggestion_queries (
5463 user_id : str ,
5564 language : str ,
56- message : MessageList | None ,
65+ message : MessagesType | None ,
5766 llm : Any ,
5867 naive_mem_cube : Any ,
5968) -> SuggestionResponse :
0 commit comments