华为云Flexus+DeepSeek征文 | 基于Dify构建AI模拟面试官工作流
对求职者而言,AI模拟面试工作流提供了无压力练习环境,能够提供即时反馈机制,这是传统面试无法比拟的优势,还能帮助求职者熟悉多样化面试形式。
华为云Flexus+DeepSeek征文 | 基于Dify构建模拟面试官Chatflow
一、构建AI模拟面试官工作流引言
AI模拟面试能显著提升招聘效率与人才匹配度,通过分析求职者简历和岗位描述,系统可自动生成针对性问题,并基于预设标准评估答案,减少人为偏见,确保客观性。同时,求职者能获得即时反馈与改进建议,优化面试表现,缩短企业招聘周期并降低误录风险,这种自动化流程尤其适用于大规模招聘和技术岗位,兼顾效率与公平性,对于个人也可以更好的了解和学习岗位知识的考核。
工作流的使用需要强大的服务器支持,华为云FlexusX云服务器
首创大模型加持,智能全域调度;X-Turbo加速,常见应用性能最高可达业界同规格6倍,而且基于用户业务负载动态和内存峰值画像,动态推荐规格,减少算力浪费,提升资源利用率,不仅性能好还始终确保成本更优。
二、构建AI模拟面试官工作流环境
2.1 基于FlexusX实例的Dify平台
华为云FlexusX实例
提供高性价比的云服务器,按需选择资源规格、支持自动扩展,减少资源闲置,优化成本投入,并且首创大模型QoS保障,智能全域调度,算力分配长稳态运行,一直加速一直快,用于搭建Dify-LLM应用开发平台。
Dify是一个能力丰富的开源AI应用开发平台
,为大型语言模型(LLM)应用的开发而设计。它巧妙地结合了后端即服务(Backend as Service)和LLMOps的理念,提供了一套易用的界面和API,加速了开发者构建可扩展的生成式AI应用的过程。
参考:华为云Flexus+DeepSeek征文 | 基于FlexusX单机一键部署社区版Dify-LLM应用开发平台教程
2.2 基于MaaS的模型API商用服务
MaaS预置服务的商用服务为企业用户提供高性能、高可用的推理API服务,支持按Token用量计费的模式。该服务适用于需要商用级稳定性、更高调用频次和专业支持的场景。
参考:华为云Flexus+DeepSeek征文 | 基于ModelArts Studio开通和使用DeepSeek-V3/R1商用服务教程
三、构建AI模拟面试官工作流实战
3.1 配置Dify环境
输入管理员的邮箱和密码,登录基于FlexusX部署好的Dify网站
将MaaS平台的模型服务接入Dify,这里我们选择的是DeepSeek R1商用服务
,需要记住调用说明中的接口信息
和 API Key 管理中API Key
,若没有可以重新创建即可
配置Dify模型供应商:设置 - 模型供应商 - 找到OpenAI-API-compatible
供应商并单击添加模型
,在添加 OpenAI-API-compatible对话框,配置相关参数,然后单击保存
参数 | 说明 |
---|---|
模型类型 | 选择LLM 。 |
模型名称 | 填入模型名称。 |
API Key | 填入创建的API Key。 |
API Endpoint URL | 填入获取的MaaS服务的基础API地址,需要去掉地址尾部的“/chat/completions”后填入 |
3.2 创建AI模拟面试官工作流
创建空白应用,选择Chatflow
,填写应用名称:模拟面试官,选择Logo并填写描述,点击创建
删除默认的配置节点,仅保留开始节点
点击开始
节点,添加以下用户变量:
job_name(文本):岗位名称
skills(段落):技能点(用顿号分隔)
experience(数字):工作年限
job_description(段落):职位描述
resume(文件):上传简历
question_count(数字):问题数(可选)
pass_count(数字):通过数(可选)
添加条件分支
,判断 sys.dialogue_count = 0
第一次对话,需要做面试前的准备,解析填入的数据,并给出面试者整个流程信息,再给出第一道题目,当对话介于0-10
时候,需要每次评估面试者对于问题的回答,基于评价和纠正并给出完整的正确答案,最后打分用于判断是否通过,当完成10道题目后则结束本次面试流程,需要重新开启新对话
变量名称 | 数据类型 | 说明 |
---|---|---|
sys.dialogue_count |
Number | 用户在与 Chatflow 类型应用交互时的对话轮数。每轮对话后自动计数增加 1,可以和 if-else 节点搭配出丰富的分支逻辑。例如到第 X 轮对话时,回顾历史对话并给出分析 |
Case1 的流程接入一个LLM节点,用于信息整理,输入如下系统提示词:
# 角色
你是一位专业的{{#1749694611811.job_name#}}岗位面试官,拥有10年招聘经验。
## 任务
进行结构化面试,评估候选人的专业能力和综合素质。
## 面试流程
1. 面试官介绍岗位
2. 询问10个问题(10个专业问题)
3. 对每个回答进行评分(满分100分,≥80分通过)
4. 最终评估(通过≥6个问题则面试成功)
## 要求
- 根据{{#1749694611811.skills#}}和{{#1749694611811.job_description#}}和{{#1749694611811.resume#}}设计问题
- 每次只问一个问题
- 对回答给出专业纠正和标准答案
- 保持正式但友好的语气
- 最终给出结构化反馈
本次输出面试前的流程介绍
再添加一个直接回复
节点输出面试官的流程介绍
再接入一个LLM节点,用于输出问题,输入如下提示词:
基于以下信息生成技术问题:
- 简历摘要:{{#1749694611811.resume#}}
- 技能要求:{{#1749694611811.skills#}}
- 岗位描述:{{#1749694611811.job_description#}}
生成1个{{#1749694611811.experience#}}年经验级别的{{#1749694611811.job_name#}}领域问题
输出格式:### 问题{{{{#conversation.question_count#}}+1}}\n[内容]
右上角选择会话变量
,添加三个变量
question(String):问题的描述,用于后续评估答案
question_count(Number):问题数,用于后续判断题目数量
pass_count(Number):问题通过数,用于后续计算通过总数
添加变量赋值
,将刚刚生成的问题描述
赋值给会话变量question
Case1的最后一个节点的直接答复节点,输出刚刚的问题描述
Case 2 接入LLM节点用于评估用户输入的答案和对应的问题,输入以下提示词
评估回答:
问题:{{#conversation.question#}}
回答:{{#sys.query#}}
要求:
1. 指出不足(使用What+STAR法则分析)
2. 参考答案(Markdown格式)
3. 给用户回答{{#sys.query#}}评分(0-100分,≥80分通过),并告知结果:若通过就输出本题"测试通过",否则输出本地"测试失败"
添加直接回复节点,并输出评估结果
本来通过LLM输出是否通过的结果返回0或1,但是实际输出的内容总是包含一堆字符串的分析,不能直接输出数字,放弃此节点
换成代码执行
节点,输入变量为回答评估的text
和会话变量的pass_count
,输出变量为最新的pass_count
,在代码中判断含有测试通过
则表示通过题目数量+1
def main(arg1: str, arg2: int) -> dict:
if "测试通过" in arg1:
return {"result": arg2 + 1}
else:
return {"result": arg2}
再添加变量赋值节点,用于更新会话变量
中的question_count
、pass_count
再添加条件分支节点,当问题数为10,通过数大于等于6时候则输出面试通过,若通过数小于6时则输出面试失败,其他情况则继续出题
连接LLM节点,用于生成面试题目,提示词同上
再连接变量赋值,将最新的题目覆盖赋值给会话变量question
Case 2的最后节点直接回复面试题
Case 3 直接回复提示:本次面试结束,重新开启新对话!
整个流程走完,进行了很多次的修改,也调试了很多次,很耗时,尤其是提示词,终于走通了所有流程满足了初步的需求,其中很多环节还可以优化,主要功能依然是依赖大模型的输出,如解析数据、出题、评估答案。
测试完成就可以发布更新到探索
页面了!
3.3 使用AI模拟面试官工作流
在探索 - 模拟面试官中开启新对话,输入基本参数,并上传简历文件
输入任意开始面试流程,首先面试官介绍面试岗位、面试流程说明、评估维度等信息
然后面试官开始出第一道题目,可以看出出题的质量还是很高的,属于比较专业的
回答问题,我是借助工具回答的哈!
回答评估,通过START法则分析的,并给出了标准答案
但是还是测试失败哈!
面试官继续出题,又是一道高质量问题,直接摆烂输入“不会”
又是一顿犀利评价输出,表明候选人缺乏复杂网络层架构设计经验,对Android架构组件的深度运用能力不足,未达到3年经验开发者应有的设计能力
直接0分,并给出加强建议
面试官继续出题,感觉每到题都出的很具体且都是难点重点,而且对开发者架构设计能力有很高要求
由于10题的测试比较耗时,我将规则修改为总共3题通过2题及以上即为通过,最后输出测试结果:总题数:3,通过题数:0,您未通过本次面试,再接再厉!
当回答规定题目后就结束本次面试,不再提出新问题,需要重新开启新对话!
四、总结
使用Dify搭建AI面试官让我深刻体会到低代码平台的强大灵活性。通过可视化工作流编排,我快速实现了简历解析、动态出题和评分逻辑的集成,无需深入编码。同时,Dify的RAG(检索增强生成)功能确保了问题与岗位需求的高度相关。这一实践不仅提升了我的Prompt工程能力,也让我认识到AI应用中业务逻辑与技术落地的平衡至关重要——工具简化了实现,但核心仍在于对招聘场景的深度理解。
本次构建不仅是华为云FlexusX服务器
提供了稳定高性能的Dify
平台,更多使用到的是华为ModeArts Studio
提供的DeepSeek R1商用API调用服务
,在构建时候需要不断的测试流程的流通性和实现的效果微调,都进行了大量的、频繁的调用大模型输出结果,提示词都不断重写优化,每次都能够快速的返回结果,没有出现调用失败的情况,很稳定,不亏是业界SOTA大模型覆盖度99%,预置最优超参配置
,基于昇腾算子、显存优化,大模型训练与推理性能大幅提升。
828 B2B企业节已经开幕,汇聚千余款华为云旗下热门数智产品,更带来满额赠、专属礼包、储值返券等重磅权益玩法,是中小企业和开发者上云的好时机,建议密切关注官方渠道,及时获取最新活动信息,采购最实惠的云产品和最新的大模型服务!
更多推荐
所有评论(0)