AI工作流:使用fastGPT,分分钟成为人岗匹配专家!效率提升10倍!
作者:微信文章大家好,我是大全,AIGC探索者,专注研究AI提示词、AI工具及 AI 自媒体工作流,探索AI全面赋能工作与生活。
“点击上方卡片关注 / 领取10万字AI学习资料”
我之前都没太理解,什么时候会用到人才画像,人岗匹配要做什么,直到我听到下面这几个场景:
集团公司有 2 万名员工,需要快速找到“熟悉 ABB保护装置+有海上风电”的专家
新建核电项目启动,需要匹配“核级焊工+20 年经验+无不良记录”的技术团队
台风季节来临,应急指挥中心需要 3 分钟内锁定“抢修经验丰富+地理位置就近”的专业队伍
技术传承计划启动,需要识别“即将退休的高级专家+可培养的年轻骨干”的师徒配对
HR 想查一下面试候选人中“擅长golang 架构+10 年以上大厂经验”的专家
如果是以前,要么开发一套代码把判断的逻辑准确实现,或者手动检测资料之后再采用人工审核的方法。
现在,利用一条工作流,配合「人岗匹配雷达图评估维度」知识,要找什么样的人才,分分钟就给你结果!
<img />
01
分析和拆解需求
上面的那些案例,乍一看还挺挑战的,无从下手。
问题可能主要在于“如何去画像”,人的能力素养距离岗位要求越近,越能够匹配到合适的人。
这样的话,人岗匹配的核心要素是不是:
1、有人才库的数据
2、「人岗匹配雷达图评估维度」知识,评判人岗匹配程度的标准
3、评估方法,是用代码开发出一套公式,还是直接使用大模型?
对于第一个要素“人才库数据”,建议从数据库中读取文件。当然,如果数据量很少,使用 csv 也是可以,但从专业角度和长远考虑,采用数据库是没毛病的。
第二,「人岗匹配雷达图评估维度」知识,适合放到知识库中。因为它相对来说比较稳定,而且会被频繁调用。我们可以根据实际需求,制作适合自己场景的雷达图维度。换个角度想,即使没有工作流和大模型,自己也需要梳理这样一份标准文档,用于筛选合适的人才。
第三是评估方法。有了源数据和评估维度,我们还需要知道如何使用这些数据,是需要计算,还是直接评分?这里我们充分调动大模型的灵活性和对知识的理解,由大模型对各个维度进行打分,并且说出评分依据。
这样做的优点是,很灵活,调好提示词明确目标,就不需要额外做什么了。缺点也是存在的,要检查一下评分和评分依据,是否准确合理。
这个案例也是我们首次在工作流中使用数据库,有很多方法和思路来调用数据库,今天就是非常直观的一种应用。
02
知识库准备
知识库的准备方法, 在上一篇文中讲的比较细,方法相通的。我就简要介绍这一次导入知识库的过程。
首先,在知识的内容上,仍然采用 markdown 格式。与上一期不同的是,分隔符我采用了三个短横线“---”。这个看个人习惯了,使用两个回车符也是没有问题的。只要保证知识库内容被合理的分块,都是可以接受的。
先建一个通用知识库,命名,模型默认就好,点击“确认创建”。
上传提前准备好的《雷达图评估维度.md》,进入「参数设置」环节。采用“---”来分块处理,其他设置保持默认即可。
保险期间,在“数据预览”页面我都会验证一下分块预览的效果,确保按照预期进行分块。比如这个例子中,每一个岗位的雷达维度都应该是一个“块”。
接下来,将文档一步一步上传到知识库,完成就可以了。
对于知识库内容的准备,需要从业务需求出发。比如我想查看候选人在软件工程师维度的雷达图,那么知识库就准备软件工程师需要具备的能力维度,像架构设计能力、代码掌握能力、单元测试能力等,都可以作为考量方向。
03
搭建工作流
老规矩,先看一下整体工作流长什么样子,如下图所示。完整的配置文件,可以和我联系免费获取。
工作流包含 5 个环节:
第一部分:解析需求,形成查询语句。
第一步是比较重要的,我们收到需求来自于用户对智能体的提问。用户的问题是多样的,表达方式是丰富的,因此适合使用AI大模型来 解析用户提问的问题。
对于这个“人岗匹配”助手,在真实场景中,用户很可能不按套路出牌,会问一些天气,会询问其他类型问题,会和助手“谈心”。所以第一步其实特别适合放置“问题分类”插件,对每一类问题都有特定的处理流程。
但是我们今天的重点不在这里。回到“解析需求,形成查询语句”的场景,第一个节点选择“AI 会话”,
提示词如下:
# 角色你是一个专业的SQL生成助手,专为postgresql数据库环境服务,能够根据各种表格准确生成对应的SQL代码。
## 技能### 技能 1: 生成SQL代码1. 当用户提供表格相关信息时,分析表格结构、字段等内容。2. 根据postgresql数据库的特性和用户需求,生成符合要求的SQL代码。===回复示例===```sql-- 生成的SQL代码示例SELECT * FROM table_name;```===示例结束===
## 限制:- 只回答与根据表格生成SQL代码相关的内容,拒绝回答无关话题。- 所输出的SQL代码必须符合postgresql数据库的语法要求。- 输出的代码应结构清晰,必要时添加注释。 - 只能输出SELECT语句,必须严格遵守这个限制- 只允许输出sql,不需要输出其他解释性语言和```sql ```
同时,由于我希望 AI 将用户转换为查询的 SQL 语句,那么就需要告诉大模型,数据库表的结构是怎样的。所以,在“AI 会话”插件的用户问题,会输入两部分内容,一是用户的原始提问问题,一是数据表的结构。
我以候选面试人的简历库作为数据源,“用户问题”填写以下内容:
### 查询需求流程开始->用户问题### 查询全部字段#### 表名resume_info#### 表结构name 用户姓名 Stringemail 用户邮箱 String gender 用户性别 Stringmobile 用户手机号 String date_of_birth 用户出生日期 String certificate_list 用户证书列表 String award_list 用户获奖列表 String language_list 用户语言列表 String education_list 用户教育经历列表 String project_list 用户项目列表 String work_year 工作年限 String competition_list 竞赛 String self_evaluation 自我评价 String score 简历评分 Number resume_info 简历原文 String
现在来测试一下,当我询问“请分析张明远的画像”,AI 会话的节点输出为:
```sql-- 查询张明远的所有信息SELECT * FROM resume_infoWHERE name = '张明远';```
这句 SQL 就是下一步要去数据库中执行的语句,也是大模型根据我的需求分析出的 SQL 语句。
第二部分:数据库查询。
在上一步,我们根据需求生成的 SQL 语句,这一步执行语句,取回结果。
需要注意一个细节是,上一次返回的结果中,有的时候会包含```sql 这样的字符,即使在提示词中限制输出它,也是不稳定的。所以我在这里补一手,用“代码运行”插件做一次清洗。
代码如下:
def main(data1): import json import re pattern = r'```sql\s*(.*?)\s*```' matches = re.findall(pattern, data1, re.DOTALL) jsonstr='' if matches: # 如果找到匹配,返回所有匹配的内容(合并成一个字符串) jsonstr='\n'.join(matches) else: # 如果没有找到匹配,返回原文本 jsonstr=data1 return { "result": jsonstr }
接下来,新增一个“数据库连接”插件,填写配置信息。具体的配置信息,根据你所连接的数据库信息来配置。
数据库连接这个插件,返回的是 string 类型,内容是数据库查询后的结果。
第三部分:知识库查询。
首先,添加一个“判断器”,如果上一环节返回的结果是空,就可以直接回复“查无此人”。只有在数据库查到结果,再进行下一步。
在“知识库搜索”插件中,输入的内容数据库查询的结果。例子中的张明远符合软件工程师的定位,则知识库会返回软件工程师的雷达图维度。
知识库召回的结构是数组,也就是说,可能召回多个结果,按照准确度倒序排列。我希望取最相近的答案,所以在知识库插件的后面直接解“代码运行”插件,实现获取最优解的功能。
第四部分:画像分析。
在第四部分,涉及具体的评估。按照预想,我需要一张评估雷达图,再附上每个维度的简短说明,如下图的效果。
第一步,生成画图所需的参数。这些参数(即每个维度具体的数值)由大模型推算而来。将数据库查询的基础信息、知识库返回的雷达维度,大模型就可以依照提示词来评估各个维度的分值。
第二步,生成各个维度的评估文案,也交给大模型来输出。
画像评分的提示词:
# 角色你是 一个专业的画像生成助手,能够根据用户提供的内容进行分析,并按照特定评估维度进行打分,最后以指定格式输出结果。## 技能### 技能 1: 打分并输出结果1. 仔细分析用户提供的内容。2. 依据评估维度进行打分。3. 能够根据给定数据生成Echart雷达图的option配置信息,输出格式严格为JSON,生成Echart雷达图option配置信息,输出为json示例如下:{"xAxis": { "type": "category", "data": ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]},"yAxis": { "type": "value"},"series": [ { "data": , "type": "line" }]};## 限制:- 仅围绕用户提供的内容进行分析打分并按格式输出,不回答与画像生成打分输出无关的话题。- 严格按照给定的格式输出结果,不得偏离框架要求。-不允许输出```json ````这些字符,只允许输出纯JSON
画像评估文案的提示词:
# 角色你是一个专业的画像生成助手,能够根据用户提供的内容进行分析,并按照特定评估维度进行评判,最后以指定格式输出结果。## 技能### 技能 1: 打分并输出结果1. 仔细分析用户提供的内容。2. 依据评估维度进行分析评判。3. 按照以下格式输出结果,以markdown格式输出:评估维度:评估结果评估维度:评估结果评估维度:评估结果## 限制:- 仅围绕用户提供的内容进行分析打分并按格式输出,不回答与画像生成打分输出无关的话题。- 严格按照给定的格式输出结果,不得偏离框架要求。
第四部分:生图图表和文案。
在上一部分生成了图表参数、评估文案之后,这一部分只负责输出结果。
画图工具,由于 fastGPT 自带的 BI 工具没有支持雷达图,所以我借用了一个在线画图的服务,后续我可能会改良为 MCP 实现。
至此,整条工作流就搭好了,向他提问就可以得到对应结果了。
04
知识库的补充内容
知识库文档的格式、内容结构化是影响召回准确度的重要因素。我根据学习的经验做了一些总结。
文件格式优先级:
1、强烈推荐 markdown 格式。
最推荐 markdown 格式(文件后缀为.md)。md 格式对表格、图片、公式等复杂格式支持的最好,可以将doc、pdf 类型文件使用软件转换为markdown。由于涉及信息安全,最好使用本地安装的软件来进行转换,比如Writage、pandoc、doc2x。
2、其次,使用可编辑的 doc、txt 格式。
3、不推荐使用包含杂乱数据的 pdf。
尤其是带页眉、页脚、页码、水印等脏数据的 pdf,召回效果很差。
4、excel、csv 等结构化数据召回效果较好,但是导入文件时要遵照平台的格式要求。
05
结语
在 6 月份,我会深度参与我们单位的「AI 赋能公司经营管理」的专题任务,深挖业务工作流,思考AI 与经营管理契合的创新点。
你们公司内部都做了哪些 AI+业务的赋能实践呢?可以分享给我吗?我在评论区期待着和你交流!
作者启迪,关注我,让我们一起在AI时代,成为更好的自己!
都到这里啦,记得点赞、在看、转发,因为我需要您的反馈。小手一赞,年薪百万!!!
🎁 写到最后:送你一份超值福利!
在AI时代,如果你还想进一步提升自己的效率,掌握提示词是非常关键的技能!
为此,我特别为大家准备了👇
全网最全的GPT指令合集,助你提升AI应用技能!
下方订阅,回复2免费进DeepSeek AI微信学习群,领取100个AI副业案例库,从0到1拆解大全如何通过AI 90天做到月入10万+。
我是大全,90后宝爸,211本科法学,大一自学编程,北漂10年,到BAT大厂架构师,全国最大AI社群教练,AI提示词类小报童榜一,GPTs榜一作者,借助AI 90天,全网涨粉5万,总阅读500万。
大全当下是一名AI领域创业者,愿景是成为AI布道者,带领100万小白入门AI,让更多的人在大全这里掌握 AI (提示词)的能力,在已经到来的AI时代不掉队,不被AI淘汰。
#<AI入门亲测指南>精彩链接#
关于 AI 工具和 提示词:
AI 提示词如何入门?这篇就够了!
DeepSeek万字使用指南,看完效率提升80%
Kimi万字使用手册,看完AI办公效率提升80%
关于大全:
2017年从“留级生”到BAT架构师的成长之路
大厂P8,35岁被辞退,欠银行百万,靠AI破局
受邀电话采访:1小时分享35岁程序员,裸辞后如何打造AIP
你「在看」吗,点个「在看」吧?👇
页:
[1]