Diagram illustrating the process of parsing a user's resume to generate a structured XML user profile for personalized interactions, including caching and
flowchart TD
Start([用户入口:上传简历或开启简历解析模式]) --> CheckMode{是否开启简历模式?}
CheckMode -- 否 --> NormalFlow[进入普通对话模式\n不加载简历画像]
CheckMode -- 是 --> CheckCache{是否存在已解析的\nuser_profile.xml?}
%% 缓存逻辑
CheckCache -- 是 --> InjectXML[加载并注入\n已存在的用户画像 XML]
CheckCache -- 否 --> ExtractPipeline[启动简历解析流程]
%% 文本提取
ExtractPipeline --> TextExtract[文本提取模块\nPyPDF2 / python-docx / OCR]
TextExtract --> CallResumeAgent[调用 Resume Parsing Agent\n输入: TEXT_INPUT\n输出: 画像维度数据]
%% 核心解析流程
subgraph ResumeAnalysis [简历结构化画像构建流程]
direction TB
DimBasic[1. 基础画像抽取\n角色定位、年限、行业]
DimCareer[2. 职业目标抽取\n岗位、行业、动机、成长方向]
DimSkills[3. 核心技能抽取\n面试可推理的能力标签]
DimExp[4. 工作经历提炼\n职责定位 + 关键成果]
DimProjects[5. 项目结构化\n目标 / 角色 / 成果]
DimTech[6. 技术栈提取\n保持原文技术词汇]
end
CallResumeAgent --> DimBasic
DimBasic --> DimCareer
DimCareer --> DimSkills
DimSkills --> DimExp
DimExp --> DimProjects
DimProjects --> DimTech
DimTech --> FormatXML[合并解析结果\n构建 XML 画像]
%% 输出结构展示
subgraph OutputFormat [XML 构建与持久化]
direction TB
XMLBasic[basic_info 节点]
XMLCareer[career_target 节点]
XMLSkills[core_skills 节点]
XMLExp[experience_summary 节点]
XMLProj[projects 节点]
XMLTech[tech_stack_raw 节点]
XMLGrowth[growth_plan 节点]
end
FormatXML --> XMLBasic
XMLBasic --> SaveXML[持久化存储\nuser_profile.xml]
SaveXML --> InjectXML
%% 最终注入
InjectXML --> End([完成:面试 Agent 可随时使用画像数据])
This flowchart details the end-to-end process of converting a user's resume into a structured XML user profile. It covers initial resume upload, checking for a 'resume mode', leveraging a cache for existing profiles, text extraction from various document types (PyPDF2, python-docx, OCR), and a multi-stage resume parsing agent. The parsing agent extracts basic info, career goals, core skills, work experience, project details, and raw tech stack. Finally, these structured dimensions are merged into an XML format, persisted, and injected for use by an interview agent.
Use this diagram to understand or design systems that require personalized user profiles based on resume content. It's ideal for AI-powered interview preparation platforms, HR applicant tracking systems, personalized recommendation engines, or any application needing to extract and structure professional user data for enhanced interaction.
This flow can be adapted by integrating different text extraction libraries or OCR services, swapping the 'Resume Parsing Agent' with alternative NLP models or LLMs, modifying the structured profile dimensions (e.g., adding education, certifications), changing the output format from XML to JSON or a database schema, or extending the caching mechanism with versioning or invalidation strategies.