基于Dify和Deepseek打造智能文章改写工具:提取写作风格实现精准改写

AI工具开发Dify应用Deepseek内容创作写作辅助工作流设计
Share on:

文章改写工具封面图

引言

目前大量的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 的图示:

[workflow]

上面的Dify Workflow DSL 地址:请在公众号回复"dify"获取

使用方式,可以参考下文的前置工作,完成后,将DSL导入到dify中,即可使用。如果还想了解到底我自己如何设计一个workflow,或者基于我的workflow进行修改,可以参考下面的实战步骤进行学习。

实战步骤

前置工作

1、准备deepseek的key

我这边使用的派欧云PPIO的deepseek推理模型,生成文章比较稳定,可以扫码如下二维码获取api key,使用该二维码我们共同获取50元的代金券,免费白嫖token: [pp_qr.png]

2、准备jina的key

jina可以提取url的内容,整个workflow中需要通过jina获取文章内容,获取方式,进入https://jina.ai的首页,登录后,新建密钥,后续工作流需要该密钥。 [jina_key]

如何做这样的一个workflow

1、首先需要再dify上,配置我们deepseek的key,只需要注册之后,在如下页面https://ppinfra.com/settings/key-management 新建key: [ppio_key] 2、接下来我们需要在dify上配置上一步获取到的key,找到Model Provider中名为【OpenAI-API-compatible】的模型配置key。 [dify_llm] [dify_llm_config]

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月,具体功能和特性请以官方文档为准。