Merge #63 into develop from fix/llm-output
[fix]Refresh formatted output * fix/llm-output: (3 commits) [fix]Refresh formatted output [fix]Refresh formatted output Merge branch 'fix/llm-output' of codeup.aliyun.com:redbearai/python/redbear-mem... Signed-off-by: 乐力齐 <accounts_690c7b0af9007d7e338af636@mail.teambition.com> Reviewed-by: aliyun6762716068 <accounts_68cb7c6b61f5dcc4200d6251@mail.teambition.com> Merged-by: aliyun6762716068 <accounts_68cb7c6b61f5dcc4200d6251@mail.teambition.com> CR-link: https://codeup.aliyun.com/redbearai/python/redbear-mem-open/change/63
This commit is contained in:
@@ -312,7 +312,24 @@ class MemoryInsight:
|
||||
|
||||
response = await self.llm_client.chat(messages=messages)
|
||||
|
||||
return response.content
|
||||
# 确保返回字符串类型
|
||||
content = response.content
|
||||
if isinstance(content, list):
|
||||
# 如果是列表格式(如 [{'type': 'text', 'text': '...'}]),提取文本
|
||||
if len(content) > 0:
|
||||
if isinstance(content[0], dict):
|
||||
# 尝试提取 'text' 字段
|
||||
text = content[0].get('text', content[0].get('content', str(content[0])))
|
||||
return str(text)
|
||||
else:
|
||||
return str(content[0])
|
||||
return ""
|
||||
elif isinstance(content, dict):
|
||||
# 如果是字典格式,提取 text 字段
|
||||
return str(content.get('text', content.get('content', str(content))))
|
||||
else:
|
||||
# 已经是字符串或其他类型,转为字符串
|
||||
return str(content) if content is not None else ""
|
||||
|
||||
async def close(self):
|
||||
"""
|
||||
|
||||
@@ -135,7 +135,25 @@ class UserSummary:
|
||||
|
||||
# 3) Call LLM
|
||||
response = await self.llm.chat(messages=messages)
|
||||
return response.content
|
||||
|
||||
# 确保返回字符串类型
|
||||
content = response.content
|
||||
if isinstance(content, list):
|
||||
# 如果是列表格式(如 [{'type': 'text', 'text': '...'}]),提取文本
|
||||
if len(content) > 0:
|
||||
if isinstance(content[0], dict):
|
||||
# 尝试提取 'text' 字段
|
||||
text = content[0].get('text', content[0].get('content', str(content[0])))
|
||||
return str(text)
|
||||
else:
|
||||
return str(content[0])
|
||||
return ""
|
||||
elif isinstance(content, dict):
|
||||
# 如果是字典格式,提取 text 字段
|
||||
return str(content.get('text', content.get('content', str(content))))
|
||||
else:
|
||||
# 已经是字符串或其他类型,转为字符串
|
||||
return str(content) if content is not None else ""
|
||||
|
||||
|
||||
async def generate_user_summary(user_id: str | None = None) -> str:
|
||||
|
||||
Reference in New Issue
Block a user