优化简历定制简历生产
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
"""
|
||||
|
||||
import asyncio
|
||||
import time
|
||||
|
||||
from langchain_core.output_parsers import StrOutputParser
|
||||
from langchain_core.prompts import ChatPromptTemplate
|
||||
@@ -44,20 +45,23 @@ async def analyze_skill_gap(skill_tags: list[str], resume_json: str) -> list[str
|
||||
|
||||
_summary_optimize_chain = (
|
||||
ChatPromptTemplate.from_messages([("system", SUMMARY_OPTIMIZE_PROMPT), ("human", "请开始优化。")])
|
||||
| LLM.JIAYU_CLAUDE_SONNET_4_5.create(temperature=0.3)
|
||||
| LLM.DOUBAO_PRO_32K.create(temperature=0.3)
|
||||
| StrOutputParser()
|
||||
)
|
||||
|
||||
|
||||
async def optimize_summary(job_title: str, add_skills: list[str], original_summary: str) -> str:
|
||||
"""优化个人概述,融入技能关键词"""
|
||||
t0 = time.monotonic()
|
||||
try:
|
||||
return await _summary_optimize_chain.ainvoke({
|
||||
result = await _summary_optimize_chain.ainvoke({
|
||||
"job_title": job_title, "add_skills": "、".join(add_skills) if add_skills else "无",
|
||||
"original_summary": original_summary or "暂无",
|
||||
})
|
||||
log.info(f"AI优化summary完成 ({round(time.monotonic() - t0, 2)}s)")
|
||||
return result
|
||||
except Exception as e:
|
||||
log.warning(f"AI优化summary失败: {e}")
|
||||
log.warning(f"AI优化summary失败: {e} ({round(time.monotonic() - t0, 2)}s)")
|
||||
return original_summary
|
||||
|
||||
|
||||
@@ -65,21 +69,24 @@ async def optimize_summary(job_title: str, add_skills: list[str], original_summa
|
||||
|
||||
_experience_optimize_chain = (
|
||||
ChatPromptTemplate.from_messages([("system", EXPERIENCE_OPTIMIZE_PROMPT), ("human", "请开始优化。")])
|
||||
| LLM.JIAYU_CLAUDE_SONNET_4_5.create(temperature=0.3)
|
||||
| LLM.DOUBAO_PRO_32K.create(temperature=0.3)
|
||||
| StrOutputParser()
|
||||
)
|
||||
|
||||
|
||||
async def optimize_module(job_title: str, job_description: str, module_data: str) -> list | dict | None:
|
||||
"""优化子表模块经历描述,返回修改后的完整模块数据"""
|
||||
"""优化单条经历描述,返回修改后的记录数据"""
|
||||
t0 = time.monotonic()
|
||||
try:
|
||||
raw = await _experience_optimize_chain.ainvoke({
|
||||
"job_title": job_title, "job_description": job_description or "",
|
||||
"original_module_data": module_data,
|
||||
})
|
||||
return parse_llm_json(raw)
|
||||
result = parse_llm_json(raw)
|
||||
log.info(f"AI优化经历模块完成 ({round(time.monotonic() - t0, 2)}s)")
|
||||
return result
|
||||
except Exception as e:
|
||||
log.warning(f"AI优化经历模块失败: {e}")
|
||||
log.warning(f"AI优化经历模块失败: {e} ({round(time.monotonic() - t0, 2)}s)")
|
||||
return None
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user