简历结构化候选人数据提取(GPT AI)
这是一个HR, AI Summarization领域的自动化工作流,包含 20 个节点。主要使用 Set, Switch, Aggregate, GoogleSheets, Agent 等节点。 使用GPT AI从简历中提取结构化候选人数据
- •Google Sheets API 凭证
- •OpenAI API Key
使用的节点 (20)
{
"meta": {
"instanceId": "cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "98df1ef4-b57a-43a6-a928-d765559f747c",
"name": "当收到聊天消息时",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
-100,
1140
],
"webhookId": "592787f5-230a-4e76-960c-6277f9faa9c8",
"parameters": {
"options": {
"allowFileUploads": true
}
},
"typeVersion": 1.1
},
{
"id": "94e30376-80da-497e-830f-21dae01580f5",
"name": "切换",
"type": "n8n-nodes-base.switch",
"position": [
120,
1014
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "CSV",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "fcf85095-1221-4490-9d30-e10d7c3b686c",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
"rightValue": ".csv"
}
]
},
"renameOutput": true
},
{
"outputKey": "HTML",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "58e60d14-1beb-47b8-8789-6cee2b2bb224",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
"rightValue": ".html"
}
]
},
"renameOutput": true
},
{
"outputKey": "ODS",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "afce5705-212f-4e56-ac34-8b99e15a0806",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
"rightValue": ".ods"
}
]
},
"renameOutput": true
},
{
"outputKey": "PDF",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "bb223b8a-826c-488b-9eb7-b1b50a6aef7f",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
"rightValue": ".pdf"
}
]
},
"renameOutput": true
},
{
"outputKey": "RTF",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "29d5bf9a-69fb-4e01-8ea9-2ca7c8b3fc9c",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
"rightValue": ".rtf"
}
]
},
"renameOutput": true
},
{
"outputKey": "TXT",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "d2e22acb-adbb-43d9-8a18-70851be20ea5",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
"rightValue": ".txt"
}
]
},
"renameOutput": true
},
{
"outputKey": "XML",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "257adc56-8632-4671-9237-4e233b95e3fe",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
"rightValue": ".xml"
}
]
},
"renameOutput": true
},
{
"outputKey": "XLS",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "d4673034-eaca-4f4c-9c37-104ffe0bb170",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
"rightValue": ".xls"
}
]
},
"renameOutput": true
}
]
},
"options": {
"fallbackOutput": "extra"
}
},
"typeVersion": 3.2
},
{
"id": "e16c87a4-86d0-4878-96bb-a0228ca621b0",
"name": "编辑字段",
"type": "n8n-nodes-base.set",
"position": [
780,
1040
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "70ba1c39-f90f-44ac-9fdc-9a8a8d188484",
"name": "text",
"type": "string",
"value": "={{ $json.text }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "b752e83e-3052-43d1-9418-4d433e351614",
"name": "AI Agent1",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1000,
1040
],
"parameters": {
"text": "={{ $json.text }}",
"options": {
"systemMessage": "You are a helpful assistant that extracts email, name, skills, and education from resume text. "
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.9
},
{
"id": "0944cce4-d5b7-4e48-a466-1aa8f3b76e26",
"name": "OpenAI 聊天模型1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1028,
1260
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "QpFZ2EiM3WGl6Zr3",
"name": "Marketing OpenAI"
}
},
"typeVersion": 1.2
},
{
"id": "58a42607-b1b4-43e0-884f-5a13e706edf8",
"name": "多表:您可以连接多个表以实现有组织的数据结构",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1148,
1260
],
"parameters": {
"jsonSchemaExample": "{\n \"name\": \"Angel Menendez\",\n \"email\": \"angel.menendez@example.com\",\n \"skills\": \"JavaScript, Node.js, n8n, Docker, REST APIs\",\n \"education\": \"B.S. in Computer Science, University of Arizona, 2010\"\n}\n"
},
"typeVersion": 1.2
},
{
"id": "42d5ebda-7d49-40ef-8c44-2fa57ec68f3e",
"name": "验证输出",
"type": "n8n-nodes-base.set",
"onError": "continueErrorOutput",
"position": [
1376,
1040
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "4a062055-7dde-447e-ada1-0032f46af02a",
"name": "output.name",
"type": "string",
"value": "={{ $json.output.name }}"
},
{
"id": "bf28519f-f8e3-4b26-bee4-7758340df194",
"name": "output.email",
"type": "string",
"value": "={{ $json.output.email }}"
},
{
"id": "24975388-f25a-4c86-a995-9ec2cf819c13",
"name": "output.skills",
"type": "string",
"value": "={{ $json.output.skills }}"
},
{
"id": "c410f2d2-00e1-499b-9346-553164881465",
"name": "output.education",
"type": "string",
"value": "={{ $json.output.education }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "1235bbab-c227-4054-b8ce-007f39a805f5",
"name": "Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"disabled": true,
"position": [
1596,
940
],
"parameters": {
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": ""
},
"documentId": {
"__rl": true,
"mode": "list",
"value": ""
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "4ZBfVX71VUd6pRy3",
"name": "Google Sheets Angel Access"
}
},
"typeVersion": 4.6
},
{
"id": "bc4ca090-6c51-49e8-989a-147a6e720411",
"name": "编辑字段 1",
"type": "n8n-nodes-base.set",
"position": [
1596,
1140
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "3fb8fe8f-a5f5-4c00-a8d2-39cd3e35615e",
"name": "output",
"type": "string",
"value": "Unable to parse the agent outputs"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "7b0211f3-1925-4709-b274-e8d23437bb12",
"name": "编辑字段2",
"type": "n8n-nodes-base.set",
"position": [
340,
1890
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "3fb8fe8f-a5f5-4c00-a8d2-39cd3e35615e",
"name": "output",
"type": "string",
"value": "Unable to parse the file data"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "8b178bfb-ff80-4600-b6e2-1fe252c11f45",
"name": "编辑字段3",
"type": "n8n-nodes-base.set",
"position": [
1816,
940
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "3fb8fe8f-a5f5-4c00-a8d2-39cd3e35615e",
"name": "output",
"type": "string",
"value": "=Name: {{ $json.output.name }}\nEmail: {{ $json.output.email }}\nSkills: {{ $json.output.skills }}\nEducation: {{ $json.output.education }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "5d4372fc-d63b-49d2-a2b6-70fd194ba550",
"name": "从 CSV 提取",
"type": "n8n-nodes-base.extractFromFile",
"position": [
340,
340
],
"parameters": {
"options": {},
"binaryPropertyName": "data0"
},
"typeVersion": 1
},
{
"id": "2eb2d95e-5453-47ad-a548-dbeaa32e3dbb",
"name": "从 HTML 提取",
"type": "n8n-nodes-base.extractFromFile",
"position": [
560,
540
],
"parameters": {
"options": {},
"operation": "html",
"binaryPropertyName": "data0"
},
"typeVersion": 1
},
{
"id": "45c74d33-e46b-43ca-a71f-e16aa28910a2",
"name": "从 ODS 提取",
"type": "n8n-nodes-base.extractFromFile",
"position": [
560,
740
],
"parameters": {
"options": {},
"operation": "ods",
"binaryPropertyName": "data0"
},
"typeVersion": 1
},
{
"id": "a2bf9dbe-94d0-4432-b8cc-5db69451e013",
"name": "从 PDF 提取",
"type": "n8n-nodes-base.extractFromFile",
"position": [
560,
940
],
"parameters": {
"options": {},
"operation": "pdf",
"binaryPropertyName": "data0"
},
"typeVersion": 1
},
{
"id": "1bc7dbd2-1ce0-4244-8454-29eeb7b5fb64",
"name": "从 RTF 提取",
"type": "n8n-nodes-base.extractFromFile",
"position": [
560,
1140
],
"parameters": {
"options": {},
"operation": "rtf",
"binaryPropertyName": "data0"
},
"typeVersion": 1
},
{
"id": "279cc40d-373a-48e3-9f53-4498d0181302",
"name": "从 TXT 提取",
"type": "n8n-nodes-base.extractFromFile",
"position": [
560,
1340
],
"parameters": {
"options": {},
"operation": "text",
"destinationKey": "text",
"binaryPropertyName": "data0"
},
"typeVersion": 1
},
{
"id": "7aa0c6f1-2630-4e0d-90e8-cd0d060327b2",
"name": "从 XLS 提取",
"type": "n8n-nodes-base.extractFromFile",
"position": [
560,
1740
],
"parameters": {
"options": {},
"operation": "xls",
"binaryPropertyName": "data0"
},
"typeVersion": 1
},
{
"id": "f65cf46c-3482-4757-a087-3f48cb19c30b",
"name": "从 XML 提取",
"type": "n8n-nodes-base.extractFromFile",
"position": [
560,
1540
],
"parameters": {
"options": {},
"operation": "xml",
"destinationKey": "text",
"binaryPropertyName": "data0"
},
"typeVersion": 1
},
{
"id": "209e973c-a4ac-49bc-b977-90f2d1de487c",
"name": "聚合",
"type": "n8n-nodes-base.aggregate",
"position": [
560,
340
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData",
"destinationFieldName": "text"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"Switch": {
"main": [
[
{
"node": "Extract from CSV",
"type": "main",
"index": 0
}
],
[
{
"node": "Extract from HTML",
"type": "main",
"index": 0
}
],
[
{
"node": "Extract from ODS",
"type": "main",
"index": 0
}
],
[
{
"node": "Extract from PDF",
"type": "main",
"index": 0
}
],
[
{
"node": "Extract from RTF",
"type": "main",
"index": 0
}
],
[
{
"node": "Extract from TXT",
"type": "main",
"index": 0
}
],
[
{
"node": "Extract from XML",
"type": "main",
"index": 0
}
],
[
{
"node": "Extract from XLS",
"type": "main",
"index": 0
}
],
[
{
"node": "Edit Fields2",
"type": "main",
"index": 0
}
]
]
},
"AI Agent1": {
"main": [
[
{
"node": "Validate Output",
"type": "main",
"index": 0
}
]
]
},
"Aggregate": {
"main": [
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields": {
"main": [
[
{
"node": "AI Agent1",
"type": "main",
"index": 0
}
]
]
},
"Google Sheets": {
"main": [
[
{
"node": "Edit Fields3",
"type": "main",
"index": 0
}
]
]
},
"Validate Output": {
"main": [
[
{
"node": "Google Sheets",
"type": "main",
"index": 0
}
],
[
{
"node": "Edit Fields1",
"type": "main",
"index": 0
}
]
]
},
"Extract from CSV": {
"main": [
[
{
"node": "Aggregate",
"type": "main",
"index": 0
}
]
]
},
"Extract from ODS": {
"main": [
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
]
]
},
"Extract from PDF": {
"main": [
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
]
]
},
"Extract from RTF": {
"main": [
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
]
]
},
"Extract from TXT": {
"main": [
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
]
]
},
"Extract from XLS": {
"main": [
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
]
]
},
"Extract from XML": {
"main": [
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
]
]
},
"Extract from HTML": {
"main": [
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model1": {
"ai_languageModel": [
[
{
"node": "AI Agent1",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "AI Agent1",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"When chat message received": {
"main": [
[
{
"node": "Switch",
"type": "main",
"index": 0
}
]
]
}
}
}如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 人力资源, AI 摘要总结
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
Angel Menendez
@djangelicAngel Menendez is a Staff Developer Advocate at n8n.io, specializing in low-code tools for cybersecurity workflows. From Puerto Rico, Angel's tech journey began by helping his father translate technical books. He later started a web development business and transitioned from a career as a flight attendant to cybersecurity engineering. His workflows have saved companies significant time. Outside work, Angel enjoys time with his two sons, riding electric bikes, reading, and exploring new places.
分享此工作流