Update app.py
Browse files
app.py
CHANGED
|
@@ -73,11 +73,11 @@ top_p_default = 0.95
|
|
| 73 |
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
| 74 |
def answer_abc_questions(selected, bg_info, wv, ps, dd):
|
| 75 |
desired_parts = []
|
| 76 |
-
if "a" in selected:
|
| 77 |
desired_parts.append("A")
|
| 78 |
-
if "b" in selected:
|
| 79 |
desired_parts.append("B")
|
| 80 |
-
if "c" in selected:
|
| 81 |
desired_parts.append("C")
|
| 82 |
|
| 83 |
if not desired_parts:
|
|
@@ -223,10 +223,12 @@ def recommend_3jobs_for_direction(direction, bg_info, wv, ps, dd):
|
|
| 223 |
2) 典型工作职责
|
| 224 |
3) 技能/证书要求
|
| 225 |
4) 未来发展前景
|
| 226 |
-
最后
|
| 227 |
-
|
| 228 |
-
|
| 229 |
-
|
|
|
|
|
|
|
| 230 |
如都不满意,可输入'换'。
|
| 231 |
"""
|
| 232 |
try:
|
|
@@ -249,13 +251,21 @@ def recommend_3jobs_for_direction(direction, bg_info, wv, ps, dd):
|
|
| 249 |
)
|
| 250 |
output_text = resp.choices[0].message.content
|
| 251 |
|
| 252 |
-
#
|
| 253 |
-
|
| 254 |
-
|
| 255 |
-
|
| 256 |
-
|
| 257 |
-
|
| 258 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 259 |
|
| 260 |
# 设置为已经推荐过职业
|
| 261 |
global jobs_recommended
|
|
@@ -274,18 +284,22 @@ def recommend_3directions():
|
|
| 274 |
dd = user_profile["dream_day"] or "无"
|
| 275 |
|
| 276 |
rec_prompt = f"""
|
| 277 |
-
请根据以下信息,写一份条理清晰的人物画像+3个大方向,
|
| 278 |
- 学术背景: {bg_info}
|
| 279 |
- 工作意义: {wv}
|
| 280 |
- 性格: {ps}
|
| 281 |
- 理想工作: {dd}
|
| 282 |
分两部分:
|
| 283 |
[一、人物画像]:1) 学术背景 2) 价值观 3) 性格 4) 理想工作
|
| 284 |
-
|
| 285 |
-
|
| 286 |
-
|
| 287 |
-
|
| 288 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 289 |
如都不满意,可输入'换'。
|
| 290 |
"""
|
| 291 |
try:
|
|
@@ -307,13 +321,21 @@ def recommend_3directions():
|
|
| 307 |
)
|
| 308 |
output_text = resp.choices[0].message.content
|
| 309 |
|
| 310 |
-
#
|
| 311 |
-
|
| 312 |
-
|
| 313 |
-
|
| 314 |
-
|
| 315 |
-
|
| 316 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 317 |
return output_text
|
| 318 |
except Exception as e:
|
| 319 |
return f"多方向推荐出错: {str(e)}"
|
|
|
|
| 73 |
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
| 74 |
def answer_abc_questions(selected, bg_info, wv, ps, dd):
|
| 75 |
desired_parts = []
|
| 76 |
+
if "a" in selected.lower():
|
| 77 |
desired_parts.append("A")
|
| 78 |
+
if "b" in selected.lower():
|
| 79 |
desired_parts.append("B")
|
| 80 |
+
if "c" in selected.lower():
|
| 81 |
desired_parts.append("C")
|
| 82 |
|
| 83 |
if not desired_parts:
|
|
|
|
| 223 |
2) 典型工作职责
|
| 224 |
3) 技能/证书要求
|
| 225 |
4) 未来发展前景
|
| 226 |
+
最后以这样的格式结束(不要在前面重复这些选项):
|
| 227 |
+
|
| 228 |
+
请选择你的理想职业:
|
| 229 |
+
1. [职业名称1]
|
| 230 |
+
2. [职业名称2]
|
| 231 |
+
3. [职业名称3]
|
| 232 |
如都不满意,可输入'换'。
|
| 233 |
"""
|
| 234 |
try:
|
|
|
|
| 251 |
)
|
| 252 |
output_text = resp.choices[0].message.content
|
| 253 |
|
| 254 |
+
# 从回复中尝试解析职业名称 - 简单示例实现
|
| 255 |
+
import re
|
| 256 |
+
job_pattern = r'(\d+)\.\s+\[?(.*?)\]?(?:\n|$)'
|
| 257 |
+
job_matches = re.findall(job_pattern, output_text)
|
| 258 |
+
job_list = [match[1].strip() for match in job_matches]
|
| 259 |
+
|
| 260 |
+
# 如果没有找到合适的匹配,创建默认值
|
| 261 |
+
if len(job_list) < 3:
|
| 262 |
+
job_list = [
|
| 263 |
+
f"{direction} - 职业A",
|
| 264 |
+
f"{direction} - 职业B",
|
| 265 |
+
f"{direction} - 职业C"
|
| 266 |
+
]
|
| 267 |
+
|
| 268 |
+
user_profile["recommended_jobs"] = job_list[:3] # 确保只取前3个
|
| 269 |
|
| 270 |
# 设置为已经推荐过职业
|
| 271 |
global jobs_recommended
|
|
|
|
| 284 |
dd = user_profile["dream_day"] or "无"
|
| 285 |
|
| 286 |
rec_prompt = f"""
|
| 287 |
+
请根据以下信息,写一份条理清晰的人物画像+3个大方向,其中称呼对面用"你"不要用"他/她":
|
| 288 |
- 学术背景: {bg_info}
|
| 289 |
- 工作意义: {wv}
|
| 290 |
- 性格: {ps}
|
| 291 |
- 理想工作: {dd}
|
| 292 |
分两部分:
|
| 293 |
[一、人物画像]:1) 学术背景 2) 价值观 3) 性格 4) 理想工作
|
| 294 |
+
|
| 295 |
+
[二、推荐3个大方向]:每个方向写1~2段文字分析,并说明为什么适合学生。
|
| 296 |
+
|
| 297 |
+
最后结束时只有这样的选项(不要在前面重复这些选项):
|
| 298 |
+
|
| 299 |
+
请选择你的职业方向:
|
| 300 |
+
1. [方向名称1]
|
| 301 |
+
2. [方向名称2]
|
| 302 |
+
3. [方向名称3]
|
| 303 |
如都不满意,可输入'换'。
|
| 304 |
"""
|
| 305 |
try:
|
|
|
|
| 321 |
)
|
| 322 |
output_text = resp.choices[0].message.content
|
| 323 |
|
| 324 |
+
# 从回复中尝试解析方向名称 - 简单示例实现
|
| 325 |
+
import re
|
| 326 |
+
dir_pattern = r'(\d+)\.\s+\[?(.*?)\]?(?:\n|$)'
|
| 327 |
+
dir_matches = re.findall(dir_pattern, output_text)
|
| 328 |
+
dir_list = [match[1].strip() for match in dir_matches]
|
| 329 |
+
|
| 330 |
+
# 如果没有找到合适的匹配,创建默认值
|
| 331 |
+
if len(dir_list) < 3:
|
| 332 |
+
dir_list = [
|
| 333 |
+
"方向1",
|
| 334 |
+
"方向2",
|
| 335 |
+
"方向3"
|
| 336 |
+
]
|
| 337 |
+
|
| 338 |
+
user_profile["recommended_directions"] = dir_list[:3] # 确保只取前3个
|
| 339 |
return output_text
|
| 340 |
except Exception as e:
|
| 341 |
return f"多方向推荐出错: {str(e)}"
|