基于Dify和Deepseek打造智能文章改写工具:提取写作风格实现精准改写
引言
目前大量的AI改写工具都是基于gpt-4o,claude3.5,gpt-4o-mini,这些模型在改写文章方面表现出色,但是它们需要大量的提示词,才能写出高质量的文章。
Deepseek 这类新一代推理模型并不需要大量的思维链来引导模型,在理解和模仿写作风格方面表现出惊人的能力。这让我萌生了一个想法:能否通过简单的提示词,让模型自动提取目标文章的写作风格,并应用到改写过程中?
我的思路是创新是提取B文章的写作风格,应用于目标改写的文章,用户只需要提供两个URL链接,即可完成文章的改写,无需任何提示词。这里核心是充分发挥模型的推理能力,这样让写出的文章更具变化性,而不是千篇一律的风格。
基于这个想法,我利用 Dify 平台和 Deepseek 模型开发了一个智能文章改写工具。这个工具最大的特点是:只需要少量、精准的提示词,就能让模型理解并迁移写作风格,实现高质量的文章改写。
为什么做这样一个风格提取的工作流
因为大部分的改写类的工具比较死板,需要用户输入一段提示词生成他们想要的内容,但作为用户来说,我不知道怎么写提示词,这是核心,我只希望把看到喜欢的文章风格应用到我需要改写的文章上,其他分析、写作都交给大模型完成。为此,我设计了一个基于风格提取改写文章的工作流。
设计思路
经过大量实践和反复优化,我发现传统的长篇累牍式提示词不仅效率低下,还会束缚模型的创造力。为了让 Deepseek 模型能够充分发挥其推理能力,我设计了一个精炼的四阶段分析框架。这个框架包含了文章分析、风格解析、内容重构和质量检查四个关键环节。
通过这四个环节来精细化的对一篇文章进行改写,实践中也发现复杂任务拆分的越细,输出更能沿着我们期望的方向输出,因此工作流必须要多环节进行。我的workflow的几个步骤分别如下:
1、内容抓取 使用jina读取原始链接的内容,使用代码块将jina返回的数据结构进一步处理成我们需要的形式
2、文章分析 将抓取的目标内容进行初步分析,从主题定位、内容框架、专业维度等方向分析文章,给出分析结论。
3、写作风格特征 分析出参考文章的语言特征和组织特征等
4、改写文章 将上面两个步骤的分析结果让deepseek参考文章事实和写作风格,将他们组合起来,写出一篇文章,这个文章不直接参考原始文章,而是参考分析后的结论。
5、质量检查 输入原始文章和改写后的文章,让deepseek做事实校对,之后输出校对后的文章。
下图是整个 Workflow 的图示:
上面的Dify Workflow DSL 地址:请在公众号回复"dify"获取。
使用方式,可以参考下文的前置工作,完成后,将DSL导入到dify中,即可使用。如果还想了解到底我自己如何设计一个workflow,或者基于我的workflow进行修改,可以参考下面的实战步骤进行学习。
实战步骤
前置工作
1、准备deepseek的key
我这边使用的派欧云PPIO的deepseek推理模型,生成文章比较稳定,可以扫码如下二维码获取api key,使用该二维码我们共同获取50元的代金券,免费白嫖token:
2、准备jina的key
jina可以提取url的内容,整个workflow中需要通过jina获取文章内容,获取方式,进入https://jina.ai
的首页,登录后,新建密钥,后续工作流需要该密钥。
如何做这样的一个workflow
1、首先需要再dify上,配置我们deepseek的key,只需要注册之后,在如下页面https://ppinfra.com/settings/key-management
新建key:
2、接下来我们需要在dify上配置上一步获取到的key,找到Model Provider中名为【OpenAI-API-compatible】的模型配置key。
3、接下来,一步步使用dify的block来实现自己的工作流。首先点击【Create from Blank】创建一个新白板。
4、接着,再打开的白板中,点击【START】,配置输入变量,本例中是目标文章的url和参考文章的url。
5、下面我们需要冲url中提取到文章内容,这就需要使用jina来完成这一工作,在【+】号处新增下一个block,在搜索框搜索"jina",选择【Fetch Single Page】模块,因为要提取目标文章和参考文章,所以需要并行处理。
并行获取文章内容,这样做的好吃是,不用一个个串行处理,比较节省时间。
6、紧接着,我们需要对jina返回的内容做一些处理,需要用到【Code】,用上一步同样的方式添加,这里不再重复演示。这样我们可以有更大的灵活性处理输出,本例中,由于我们只需要获取标题title和内容content,所以将返回的字符串解析获取目标值,代码如下:
import json def main(text: str) -> dict: data = json.loads(text) return { "title": data["data"]["title"], "content": data["data"]["content"] }
7、下面我们需要增加【LLM】block来分析目标文章内容和参考文章风格,添加LLM后,选择我们在前置工作配置的PPIO的deepseek模型。这一步重点是斜线/ 在prompt框中引入上一步生成的结果。同样这里需要并行处理两个与大模型的交互,这里只演示了【原始内容理解】
8、下面进行文章改写和质量检查,整个做法和上一步类似,在prompt中引用前一步的结果,不再一一演示了,所用的prompt大家可以在DSL中获取,请在公众号回复"dify"获取。
9、使用【Answer】模块来将结果输出,同样的引用前一步的结果即可。
下面是整个流程的输出效果,我们可以清晰的看到每一步的输出情况,便于我们修改调试。
总结
以上内容介绍了如何使用Dify和Deepseek来构建一个文章改写工作流。在前置准备工作中,需要先在PPIO平台获取Deepseek的API key,并在Dify平台完成模型配置。工作流搭建过程从创建空白工作流开始,配置文章URL作为输入变量,然后使用Jina模块并行提取文章内容。接着通过Code模块处理提取的内容,获取标题和正文。之后配置LLM模块来分析文章内容和参考文章风格,设置文章改写和质量检查环节,最后通过Answer模块输出结果。整个工作流采用并行处理来提高效率,采用模块化设计便于调试和维护,结果展示清晰明了,同时提供灵活的prompt配置以支持个性化需求。通过这个工作流,我们可以高效地完成文章改写任务,同时保持输出质量的一致性。
参考资料
Dify 官方文档 - 全面的Dify平台开发指南,包含丰富的API文档和最佳实践。
ppio文档 - PPIOkey的获取
注:本文相关技术和工具信息更新于2025年2月,具体功能和特性请以官方文档为准。