我们相信:世界是美好的,你是我也是。 来玩一下解压小游戏吧!

接着聊目前最火热的dify开源大语言模型(LLM)应用开发平台。苏南大叔在前面的文章里面做了很多的铺垫了,本文基于dify正式创建一个最简单的聊天助手。搭建的过程也比较简单,就是理解dify的基本组件的过程。

苏南大叔:Dify大模型,如何利用deepseek新建一个翻译助手? - deepseek翻译助手
Dify大模型,如何利用deepseek新建一个翻译助手?(图15-1)

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验总结。测试环境:win10@22h2docker@28.0.4dify@1.3.1deepseek

基础环境

没有安装好dify的,可以参考下面的文章:

没有设置好大模型供应商的,可以参考下面的文章:

搭建好基础环境后,就可以创建苏南大叔的第一个dify应用:“翻译小助手”了。

苏南大叔:Dify大模型,如何利用deepseek新建一个翻译助手? - 新建聊天助手类型
Dify大模型,如何利用deepseek新建一个翻译助手?(图15-2)

当然,你也可以建立除了“翻译”之外别的功能,区别就仅仅在于【“提示词”的不同表述】。

苏南大叔:Dify大模型,如何利用deepseek新建一个翻译助手? - 新建翻译应用
Dify大模型,如何利用deepseek新建一个翻译助手?(图15-3)

提示词

提示词是dify应用的核心灵魂所在,它决定了整个应用的行为,也就是你建立的应用区别于其他应用最主要的地方。主要的内容就是告知大模型(deepseek),它应该扮演的角色和行为规范。

例如:苏南大叔希望得到一个具有“翻译”功能的小助手。在“提示词生成器”里面填写要求。

你是一名翻译助手,把用户输入直接翻译成英文、西语和{{lang}},不用深度思考,直接给出答案。不要回答敏感话题。

苏南大叔:Dify大模型,如何利用deepseek新建一个翻译助手? - 我写的提示词
Dify大模型,如何利用deepseek新建一个翻译助手?(图15-4)

经过deepseek一顿折腾(提示词生成器)后,就变成了(文本外侧还有xmlmarkdown标记,如图):

<instruction>
你是一名翻译助手,需要将用户输入直接翻译成英文、西班牙语和{{target_language}}。请按照以下步骤操作:
1. 接收用户输入的文本内容,确保内容不涉及政治、色情、暴力等敏感话题。
2. 将文本直接翻译成英文、西班牙语和{{target_language}},无需深度思考或添加额外解释。
3. 输出格式为纯文本,不要包含任何XML标签或其他标记。
4. 如果用户输入涉及敏感话题,直接回复:"无法翻译此内容。"。

变量说明:
- {{target_language}}: 用户指定的目标语言(例如:法语、日语等)。

示例输入和输出:
<example>
<input>你好</input>
<output>
English: Hello
Spanish: Hola
{{target_language}}: (根据{{target_language}}的翻译结果)
</output>
</example>

<example>
<input>今天天气很好</input>
<output>
English: The weather is nice today
Spanish: El clima está bien hoy
{{target_language}}: (根据{{target_language}}的翻译结果)
</output>
</example>

注意事项:
- 严格避免翻译敏感内容。
- 输出仅为翻译结果,不要添加额外信息。
</instruction>
如果拟人化一点的话,这个过程就是给大模型洗脑的过程。哈哈哈。dify里面填的提示词的这个过程,其实和ollama里面的modelfilesystem命令,是同样的效果。

苏南大叔:Dify大模型,如何利用deepseek新建一个翻译助手? - 生成的新提示词
Dify大模型,如何利用deepseek新建一个翻译助手?(图15-5)

这个时候,可能需要配置dify的系统推理模型。参考文字:

变量

在提示词中,出现了一些{{}}双大括号控制的变量,这些变量是进入聊天助手之前,由用户自主输入的。聊天程序初始化之前就需要的用户变量。可以根据实际情况进行调整。

苏南大叔:Dify大模型,如何利用deepseek新建一个翻译助手? - 自动生成的变量
Dify大模型,如何利用deepseek新建一个翻译助手?(图15-6)

苏南大叔:Dify大模型,如何利用deepseek新建一个翻译助手? - 变量修改
Dify大模型,如何利用deepseek新建一个翻译助手?(图15-7)

预览

界面的右侧就是预览,但是由于用户变量的存在,预览的效果,其实有些问题。

苏南大叔:Dify大模型,如何利用deepseek新建一个翻译助手? - 预览界面
Dify大模型,如何利用deepseek新建一个翻译助手?(图15-8)

可以通过预览界面最下方的按钮,管理"开场对话白"等功能。

苏南大叔:Dify大模型,如何利用deepseek新建一个翻译助手? - 开场对话白
Dify大模型,如何利用deepseek新建一个翻译助手?(图15-9)

记得修改配置后,觉得"预览"效果还可以的话,要记得点击"更新"按钮。

苏南大叔:Dify大模型,如何利用deepseek新建一个翻译助手? - 发布更新
Dify大模型,如何利用deepseek新建一个翻译助手?(图15-10)

真实效果

这个时候,可以通过"运行"菜单,来看到最终的效果。如下图所示:

苏南大叔:Dify大模型,如何利用deepseek新建一个翻译助手? - new-chat-setup
Dify大模型,如何利用deepseek新建一个翻译助手?(图15-11)

注意:在这里,{{target_lang}}变量已经变成了一个必填项目。

苏南大叔:Dify大模型,如何利用deepseek新建一个翻译助手? - 界面
Dify大模型,如何利用deepseek新建一个翻译助手?(图15-12)

模型选择

因为最终的效果成败,99%的决定因素都来自于大模型。所以,针对大模型的选择,还可以对比看效果。如图所示:

苏南大叔:Dify大模型,如何利用deepseek新建一个翻译助手? - 多模型调试开关
Dify大模型,如何利用deepseek新建一个翻译助手?(图15-13)

苏南大叔:Dify大模型,如何利用deepseek新建一个翻译助手? - 多模型调试和预览
Dify大模型,如何利用deepseek新建一个翻译助手?(图15-14)

深度思考开关

实践证明:deepseek的深度思考功能,并不是通过system提示词就可以关闭掉的。本文涉及到两个模型,都是deepseek,使用了同样的提示词,但是结果却明显不同。

  • deepseek-r1中的“R”代表推理Reasoning。也就是深度思考thinking功能。
  • deepseek-chat模型本身就没有R字样,所以,它自身也不带thinking功能。

苏南大叔:Dify大模型,如何利用deepseek新建一个翻译助手? - deepseek-深度思考
Dify大模型,如何利用deepseek新建一个翻译助手?(图15-15)

结语

在实际的界面上,还存在"知识库"等其他功能区域,这个是后续文章要说的。暂时本文中不考虑。更多苏南大叔的dify经验文字,请点击:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   dify