关于这个应用
我之前有专门介绍过: 使用dify 搭建 “AI 面试官”——一个工作流,帮助面试者提前准备应聘岗位的问答(链接)。
今天,我们就利用腾讯的 Edge One 通过几步集成,快速上线、发布这个AI 面试官。
别担心,配套的配置模板 已经同步发布到Dify 市场中了。链接
面试建议展示——
下面我把自己一步步操作的过程,整理分享下。
喜欢的朋友 点个收藏和赞呗。
应用导入
首先进入我发布的Dify 工作流页面(链接) ,点击 “在 Dify 中打开"。
如果,之前没使用过Dify 云端的服务——
cloud.dify.ai,可以注册下使用。免费用户默认有两个工作流的使用权限。
导入成功后,就可以看到在自己的 Dify Workspae 中多了面试助手这样一个工作流。
此时,还不能马上执行任务。需要做几个准备工作——
1. 确认模型供应商
本workflow 中主要使用 DeepSeek 大模型做问题响应和回答,使用通义干问做向量化和召回(后续会详细说明)。
所以,需要提前关联好自己 在DeepSeek 和 阿里百炼 中的API key。
关联成功后,状态是绿色的——
2. 导入知识库文件,并向量化智能整理
在Dify 知识库中,创建一个本地知识库——“HR 问答知识库” (名字随意)。
在知识库中,导入提前加工好的文档——
文档设置中,配置"分段设置"内容——
知识库设置中,开启”Embedding 模型" 和 “Rerank 模型"——
这里使用的都是阿里百炼平台提供的向量模型。
点击 “保存"后,回到 “HR 面试助手工作流”,在知识检索节点调用刚刚 创建好的知识库——
关联完成后,记得点击页面右上角的”发布” 应用更新。
**[Option] :**可以在知识库中手动输入个问题,测试看看——
3. 先本地测试一下
熟悉Dify 的朋友可以跳过这部分。
点击页面右上角的"预览",可以执行对话测试——
实验几次确认没问题后,进入下一步。
4. 生成项目 API 密钥
目前这个面试助手,在Dify 的云端已经正常执行了。
但是,我们的目标是后续 在EdgeOne 上调用它。
所以,需要在当前workflow 中,启用 “后端服务 API”——
记录下这个 API密钥和API 接口地址,稍后会用到。
URL:https://api.dify.ai/v1 Workflow-API-Key:app-BfgOJTr50FpXS8oBMmRMxRM5
5. [Option] 开启会话Trace
如果,需要精确查看每次workflow执行时 的细节和开销等详细信息。
推荐,进一步开启 “监测” 中的 “Langfuse” 功能——
需要在配置中填入,Langfuse 项目中手动创建的 “Secert Key” 和 “Public Key”——
创建好后在Dify Langfuse中调用 这两个Key。
这样准备工作就都好了。
===============================================================
下一个问题紧就是:云端的应用 如何发布出去使用呢?
毕竟,只有上了战场的武器、才能发挥它的价值 ,否则 武器就是一堆破烂。
一种方法是直接在html 页面中调用:
另一种方法就是 :使用API 接口集成 到我们的web 应用中去。
这也是开发中更为常用的方式。
所以,后续将以 Tencent 为Dify 开发的模拟应用 AI Customer Service 为例,展示发布 “AI 面试官” 这个对话机器人至公网的完整过程。
发布到EdgeOne
进入 AI Customer Service web应用模板,点击 “发布” 按钮。
1. 项目导入和发布
页面随后跳转到 EdgeOne 的应用页面——
同样的,这里需要注册一个自己的EdgeOne 账户。
按照页面提示,首先需要关联git 仓库。
Git 仓库的作用主要有以下三点:
- 版本控制:它像一台“时间机器”,记录代码的所有修改历史。你可以随时查看过去的代码,或在出错时一键回退到任意历史版本。
- 分支管理与团队协作:允许多人在各自的独立分支上开发新功能,互不干扰,并在开发完成后安全地合并到主干中。
- 追踪与备份:清晰记录每次修改是由谁在什么时间为了什么目的(通过 Commit 信息)进行的,方便故障排查,同时作为代码的异地灾备。
这里以我的github 仓库为例。为 EdgeOne 应用授权调用 github 仓库的权限——
成功后,继续第二步——填写项目配置
主要是:项目名、项目部属区域、Dify 应用接口(URL & API_KEY 我们之前已经准备好)。
注意: 项目名称这里 不能使用 大些字母和下划线。
2. 等待创建和部署完成
点击"创建"后,开始同步项目代码——
在线部署——
大约3分钟后,部署完成——
3. 访问临时页面
参见上图,应用发布后,默认会生成一个临时网页url——例如:https://hr-interview-dpla2t6urt7m.edgeone.dev/。
点击这个链接,就看到已经发布好的应用了。
自然,这里就可以正常提问和聊天——
4. [Option] 关联自己的域名
最后,考虑到真实情况中,还是需要使用个人或公司 域名的。
这里,在EdgeOne 应用中,点击"域名管理",添加自己的域名——
点击 “下一步",提示需要完成域名归属验证——
在自己的DNS 服务商处,按照上述内容追加一条类型为”TXT" 的dns记录——
回到,EdgeOne 中的页面,域名"验证成功"——
域名验证通过后,提示还需追加一条类型为"CNAME" 的记录——
同样的方法,在DNS 服务商处再次添加这个 “CNAME” 域名记录——
5. [Option] 关联证书、开启https服务
域名关联成功后,一般还会开启https ,提供安全的访问通道。
下面的证书,就是在EdgeOne 中免费申请并应用的——
具体如何操作呢?
先回到之前的"域名管理"页面,点击"HTTPS 配置"——
开启"强制 HTTPS",配置"边缘 HTTPS 证书"——
选择"申请免费证书"——
点击保存,开始自动申请免费证书——
这里等待时间比较久。
多等一会,看到证书状态变为"已部署",代表已经申请并拿到证书了——
最后,自己的域名生效了——
结尾
至此,Dify 工作流 的导入和web app 的调用工作就全部完成了。
如果,之前使用了Langfuse 去观察Dify 的应用执行。
将会看到非常细节的执行数据——
例如,这里在Dify 知识库 检索时,查询内容和rerank 后给到的信息——
PS:
怀疑Tencent 为Dify 开发的模拟应用 AI Customer Service 有些小bug ——
[问题现象]:AI 生成的评估报告答复后,在web 聊天窗口 迟迟不能正常显示。
[解决办法]:需要手动刷新 对话框后,就可以正常显示了——