from typing import Dict def format_agent_profile(profile: Dict) -> str: fields = [ ('name', '名字'), ('gender', '性别'), ('age', '年龄'), ('region', '所在地'), ('previous_location', '之前所在地'), ('education', '学历'), ('occupation', '职业'), ('work_experience', '工作经历'), ('family_members', '家庭成员'), ('family_occupation', '家庭成员职业') ] strings_to_join = [] for field in fields: if not profile.get(field[0], None): continue cur_string = f"- {field[1]}:{profile[field[0]]}" strings_to_join.append(cur_string) return "\n".join(strings_to_join) def format_user_profile(profile: Dict) -> str: """ :param profile: :return: formatted string. example: - 微信昵称:{nickname} - 姓名:{name} - 头像:{avatar} - 偏好的称呼:{preferred_nickname} - 年龄:{age} - 地区:{region} - 健康状况:{health_conditions} - 用药信息:{medications} - 兴趣爱好:{interests} """ fields = [ ('nickname', '微信昵称'), ('name', '姓名'), ('avatar', '头像'), ('preferred_nickname', '偏好的称呼'), ('age', '年龄'), ('region', '地区'), ('health_conditions', '健康状况'), ('medications', '用药信息'), ('interests', '兴趣爱好') ] strings_to_join = [] for field in fields: if not profile.get(field[0], None): continue cur_string = f"- {field[1]}:{profile[field[0]]}" strings_to_join.append(cur_string) return "\n".join(strings_to_join)