Files
offerpai_python_ai/app/ai/resume_extractor/prompts.py
T
2026-04-29 15:02:05 +08:00

88 lines
5.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""简历两阶段提取 Prompt
第一阶段(概览):5路并行,只提取主表短字段和子表标识名,不提取 description。
第二阶段(详情):N路并行,每条子表记录单独提取全部字段,description 用字母编号引用。
花括号用 {{ }} 转义,避免被 ChatPromptTemplate 当作变量。{name} 为运行时替换的记录标识名。
"""
# ==================== 第一阶段:概览提取 ====================
OVERVIEW_PROFILE_PROMPT = """简历文本每行以 [字母编号] 开头。严格根据简历原文提取,不要猜测或编造,没有的填null。
从中仅提取个人基本信息(不含技能、证书、自我评价),输出JSON:
```json
{{ "name": "姓名", "email": "邮箱", "mobileNumber": "手机号", "city": "所在城市", "wechatNumber": "微信号", "portfolioUrl": "作品集链接" }}
```
规则:只提取以上6个字段,不提取skills/certificates/summary/经历。没有的填null。只输出JSON。"""
OVERVIEW_EDUCATION_PROMPT = """简历文本每行以 [字母编号] 开头。严格根据简历原文提取,不要猜测或编造。
从中仅提取教育经历的学校名称列表,输出JSON数组:
```json
["北京大学", "清华大学"]
```
规则:只提取学校名称,不提取其他字段。没有输出[]。只输出JSON。"""
OVERVIEW_WORK_PROMPT = """简历文本每行以 [字母编号] 开头。严格根据简历原文提取,不要猜测或编造。
从中仅提取工作经历和实习经历的公司名称列表,输出JSON:
```json
{{ "work": ["阿里巴巴", "腾讯"], "internship": ["字节跳动"] }}
```
规则:标注"实习"的归internship,其余归work。只提取公司名称。没有填[]。只输出JSON。"""
OVERVIEW_PROJECT_PROMPT = """简历文本每行以 [字母编号] 开头。严格根据简历原文提取,不要猜测或编造。
从中仅提取项目经历的项目名称列表,输出JSON数组:
```json
["订单系统重构", "支付网关"]
```
规则:只提取项目名称,不提取其他字段。没有输出[]。只输出JSON。"""
OVERVIEW_COMPETITION_PROMPT = """简历文本每行以 [字母编号] 开头。严格根据简历原文提取,不要猜测或编造。
从中仅提取竞赛/获奖经历的竞赛名称列表,输出JSON数组:
```json
["ACM区域赛", "数学建模大赛"]
```
规则:只提取竞赛名称,不提取其他字段。没有输出[]。只输出JSON。"""
# ==================== 第二阶段:详情提取 ====================
DETAIL_EDUCATION_PROMPT = """简历文本每行以 [字母编号] 开头。严格根据简历原文提取,不要猜测或编造。
请提取"{name}"这条教育经历的详细信息,输出JSON
```json
{{ "school": "学校", "major": "专业", "degree": "学历", "studyType": "全日制/非全日制", "startDate": "2020.09", "endDate": "2024.06", "descLines": "e,f,g" }}
```
规则:descLines填描述内容对应的字母编号逗号分隔。时间格式YYYY.MM。没有的填null。只输出JSON。"""
DETAIL_WORK_PROMPT = """简历文本每行以 [字母编号] 开头。严格根据简历原文提取,不要猜测或编造。
请提取"{name}"这条工作经历的详细信息,输出JSON
```json
{{ "companyName": "公司", "position": "职位", "startDate": "2024.07", "endDate": "2025.03", "descLines": "h,i,j" }}
```
规则:descLines填描述内容对应的字母编号逗号分隔。时间格式YYYY.MM。没有的填null。只输出JSON。"""
DETAIL_INTERNSHIP_PROMPT = """简历文本每行以 [字母编号] 开头。严格根据简历原文提取,不要猜测或编造。
请提取"{name}"这条实习经历的详细信息,输出JSON
```json
{{ "companyName": "公司", "position": "职位", "startDate": "2023.06", "endDate": "2023.09", "descLines": "p,q,r" }}
```
规则:descLines填描述内容对应的字母编号逗号分隔。时间格式YYYY.MM。没有的填null。只输出JSON。"""
DETAIL_PROJECT_PROMPT = """简历文本每行以 [字母编号] 开头。严格根据简历原文提取,不要猜测或编造。
请提取"{name}"这条项目经历的详细信息,输出JSON
```json
{{ "companyName": "所属公司", "projectName": "项目名", "role": "角色名称", "startDate": "2023.03", "endDate": "2023.12", "descLines": "u,v,w" }}
```
规则:role只填简短角色名。descLines填描述内容对应的字母编号逗号分隔。时间格式YYYY.MM。没有的填null。只输出JSON。"""
DETAIL_COMPETITION_PROMPT = """简历文本每行以 [字母编号] 开头。严格根据简历原文提取,不要猜测或编造。
请提取"{name}"这条竞赛/获奖经历的详细信息,输出JSON:
```json
{{ "competitionName": "竞赛名", "award": "获奖情况", "awardDate": "2023.07", "descLines": "ae,af" }}
```
规则:descLines填描述内容对应的字母编号逗号分隔。时间格式YYYY.MM。没有的填null。只输出JSON。"""
DETAIL_PROFILE_PROMPT = """简历文本每行以 [字母编号] 开头。严格根据简历原文提取,不要猜测或编造。
从中提取技能标签、证书和自我评价/个人概述,输出JSON:
```json
{{ "skills": ["技能1"], "certificates": ["证书1"], "summaryLines": "k,l,m" }}
```
规则:skills填技能标签数组。certificates填证书数组。summaryLines填自我评价/个人概述对应的字母编号逗号分隔。没有的填null,数组填[]。只输出JSON。"""