【AI】用Dify实现一个模拟面试的功能
前言
Dify,一个将LLM转换为实际工作流的工具,以及火了一段时间了,但直到最近才开始研究它的使用(主要前段时间在忙着自己的独立开发项目),我发现它的功能基本上满足了我对大语言模型,从仅对话转换为自己的工作流的想法,果然有些时候又不错的点子但又不愿意实现,那么只需要等待一段时间,肯定会有人帮你实现你的点子。
这篇文章则是作为一个参考,如何在Windows电脑下,通过Docker,使用Dify搭建一个自己的工具,人人都可以使用Dify来完全开发大语言模型的能力应用到实际中。
实现步骤
- 电脑端安装Docker、安装Git(可装可不装,装的话方便更新Dify),这些如何安装上网一搜便知。
- 从Dify的Github项目中拉取到本地
git clone https://github.com/langgenius/dify.git
,或者直接使用git的可视化拉取 - 按照Dify项目中的方法,部署到Docker中,超级简单,重点就是将
.env.exmple
转为.env
,然后调整一些host或者port参数即可 - 以上部署的操作都很简单,就简单带过,重点是如何使用Dify
- 进入Dify网页,默认情况下是
localhost:80
,可以通过.env
修改反向代理的端口,注册一个邮箱账号进入到主页 - 在顶部选择工作室,然后选择Chatflow,即创建对话流,这里我已经创建了一个模拟面试的对话流
- 创建一个空白应用,来熟悉一下Dify里的各个部分有什么用,怎么用
- 熟悉了这些操作之后,就可以开始设计面试的逻辑了,对面试来说首先是要看简历是否合格,合格者才有机会进入面试,然后面试官会根据简历以及行业的需求分析出几个提问的方向,然后依次根据提问方向进行提问,如果面试者能正确回答问题,则进行深度提问,回答错误则告诉正确答案后进行下一个方向的提问直到所有提问方向完毕,最后对面试的提问与回答进行总结,给出一个录用结果。
- 完成后大概是这样,通过一个status变量来判断当前面试进行到哪一步了。
- 最后预览一下看看
- 我拿了一个我大学时候的简历进行测试,首先是简历筛选
- 模拟提问
- 以上就功能的全部实现流程,重点就是自己要去设计Dify整个对大语言模型的调用和输出处理流程,让AI在正确的时候做正确的事。
总结
Dify的功能确实很不错,但还有一些缺点,例如没有bool变量,对数组数据的操作不够方便等,不过都可以用一些特殊的手段大致修复这一些缺点,Dify能做的事还有更多,这个框架的本身就很适合快速搭建各种各样大伙需要的不同功能,而这也是Dify不同于单独写一个AI程序,自己去调用大模型来实现功能的优势。
接下来有空还会去尝试用Dify做更多有意义的工具,大伙有什么想法欢迎在评论区留言!