Spaces:
Sleeping
Sleeping
File size: 5,281 Bytes
1904012 5d75507 1904012 5d75507 1904012 5d75507 1904012 5d75507 1904012 5d75507 1904012 5d75507 1904012 5d75507 1904012 5d75507 1904012 5d75507 1904012 5d75507 1904012 5d75507 1904012 5d75507 1904012 5d75507 1904012 5d75507 1904012 5d75507 1904012 a4869e5 71703c8 a4869e5 5d75507 a4869e5 5d75507 1904012 a4869e5 71703c8 a4869e5 5d75507 a4869e5 5d75507 1904012 a4869e5 71703c8 a4869e5 5d75507 a4869e5 5d75507 71703c8 a4869e5 71703c8 a4869e5 5d75507 a4869e5 5d75507 1904012 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 |
from typing import Dict, Any, List, Optional
from datetime import datetime
def build_mentor_text(mentor_data: Dict[str, Any]) -> str:
parts = []
full_name = mentor_data.get("full_name", "")
if full_name:
parts.append(f"Hồ sơ Mentor: {full_name}")
bio = mentor_data.get("bio", "")
if bio:
parts.append(f"Giới thiệu: {bio}")
career = mentor_data.get("career", {})
if isinstance(career, dict) and career.get("name"):
parts.append(f"Nghề nghiệp: {career['name']}")
elif isinstance(career, str):
parts.append(f"Nghề nghiệp: {career}")
skills = mentor_data.get("skills", [])
if skills:
skill_names = []
for skill in skills:
if isinstance(skill, dict):
skill_names.append(skill.get("name", ""))
elif isinstance(skill, str):
skill_names.append(skill)
if skill_names:
parts.append(f"Kỹ năng: {', '.join(skill_names)}")
domains = mentor_data.get("domains", [])
if domains:
domain_names = []
for domain in domains:
if isinstance(domain, dict):
domain_names.append(domain.get("name", ""))
elif isinstance(domain, str):
domain_names.append(domain)
if domain_names:
parts.append(f"Lĩnh vực: {', '.join(domain_names)}")
experiences = mentor_data.get("experiences", [])
if experiences:
exp_parts = []
for exp in experiences:
if isinstance(exp, dict):
position = exp.get("position", "")
company = exp.get("company", "")
start_date = exp.get("start_date", "")
end_date = exp.get("end_date", "") or "Hiện tại"
description = exp.get("description", "")
exp_str = f" - {position}"
if company:
exp_str += f" tại {company}"
if start_date:
exp_str += f" ({start_date} - {end_date})"
if description:
exp_str += f": {description}"
exp_parts.append(exp_str)
if exp_parts:
parts.append("Kinh nghiệm làm việc:")
parts.extend(exp_parts)
educations = mentor_data.get("educations", [])
if educations:
edu_parts = []
for edu in educations:
if isinstance(edu, dict):
degree = edu.get("degree", "")
school = edu.get("school", "")
start_date = edu.get("start_date", "")
end_date = edu.get("end_date", "")
description = edu.get("description", "")
edu_str = " -"
if degree:
edu_str += f" {degree}"
if school:
edu_str += f" tại {school}"
if start_date:
edu_str += f" ({start_date} - {end_date})"
if description:
edu_str += f": {description}"
edu_parts.append(edu_str)
if edu_parts:
parts.append("Học vấn:")
parts.extend(edu_parts)
rating = mentor_data.get("rating", 0.0)
total_ratings = mentor_data.get("total_ratings", 0)
if rating or total_ratings:
parts.append(f"Đánh giá: {rating:.1f}/5.0 ({total_ratings} đánh giá)")
session_count = mentor_data.get("session_count", 0)
if session_count:
parts.append(f"Số buổi đã thực hiện: {session_count}")
return "\n".join(parts)
def build_mentee_query_text(mentee_data: Dict[str, Any]) -> str:
parts = ["Đang tìm mentor để hỗ trợ về:"]
goals = mentee_data.get("goals", "")
if goals:
parts.append(f"Mục tiêu: {goals}")
career_name = mentee_data.get("career_name")
career_id = mentee_data.get("career_id")
if career_name:
parts.append(f"Nghề nghiệp: {career_name}")
elif career_id:
parts.append(f"Mã nghề nghiệp: {career_id}")
domain_names = mentee_data.get("domain_names", [])
domain_ids = mentee_data.get("domain_ids", [])
if domain_names:
parts.append(f"Lĩnh vực quan tâm: {', '.join(domain_names)}")
elif domain_ids:
parts.append(f"Mã lĩnh vực quan tâm: {', '.join(map(str, domain_ids))}")
mentor_domain_names = mentee_data.get("mentor_domain_names", [])
mentor_domain_ids = mentee_data.get("mentor_domain_ids", [])
if mentor_domain_names:
parts.append(f"Lĩnh vực của mentor trước đây: {', '.join(mentor_domain_names)}")
elif mentor_domain_ids:
parts.append(f"Mã lĩnh vực của mentor trước đây: {', '.join(map(str, mentor_domain_ids))}")
skill_names = mentee_data.get("skill_names", [])
skill_ids = mentee_data.get("skill_ids", [])
if skill_names:
parts.append(f"Kỹ năng của mentor trước đây: {', '.join(skill_names)}")
elif skill_ids:
parts.append(f"Mã kỹ năng của mentor trước đây: {', '.join(map(str, skill_ids))}")
return "\n".join(parts)
|