perf(memory): truncate profile list fields to 5 items in get_end_user_info response
Limit role, domain, expertise, and interests arrays to MAX_PROFILE_LIST_SIZE (5) entries when returning end user info to reduce response payload size.
This commit is contained in:
@@ -401,12 +401,21 @@ class UserMemoryService:
|
|||||||
# 构建响应数据(转换时间为毫秒时间戳)
|
# 构建响应数据(转换时间为毫秒时间戳)
|
||||||
# 将 meta_data 中的 profile、knowledge_tags、behavioral_hints 平铺到顶层
|
# 将 meta_data 中的 profile、knowledge_tags、behavioral_hints 平铺到顶层
|
||||||
meta = end_user_info_record.meta_data or {}
|
meta = end_user_info_record.meta_data or {}
|
||||||
|
|
||||||
|
# profile 列表字段截断:只返回前 MAX_PROFILE_LIST_SIZE 条(按时间从新到旧)
|
||||||
|
MAX_PROFILE_LIST_SIZE = 5
|
||||||
|
profile = meta.get("profile")
|
||||||
|
if isinstance(profile, dict):
|
||||||
|
for key in ("role", "domain", "expertise", "interests"):
|
||||||
|
if isinstance(profile.get(key), list):
|
||||||
|
profile[key] = profile[key][:MAX_PROFILE_LIST_SIZE]
|
||||||
|
|
||||||
response_data = {
|
response_data = {
|
||||||
"end_user_info_id": str(end_user_info_record.id),
|
"end_user_info_id": str(end_user_info_record.id),
|
||||||
"end_user_id": str(end_user_info_record.end_user_id),
|
"end_user_id": str(end_user_info_record.end_user_id),
|
||||||
"other_name": end_user_info_record.other_name,
|
"other_name": end_user_info_record.other_name,
|
||||||
"aliases": end_user_info_record.aliases,
|
"aliases": end_user_info_record.aliases,
|
||||||
"profile": meta.get("profile"),
|
"profile": profile,
|
||||||
"knowledge_tags": meta.get("knowledge_tags"),
|
"knowledge_tags": meta.get("knowledge_tags"),
|
||||||
"behavioral_hints": meta.get("behavioral_hints"),
|
"behavioral_hints": meta.get("behavioral_hints"),
|
||||||
"created_at": datetime_to_timestamp(end_user_info_record.created_at),
|
"created_at": datetime_to_timestamp(end_user_info_record.created_at),
|
||||||
|
|||||||
Reference in New Issue
Block a user