loca1h0st's Blog
loca1h0st's Blog

使用n8n+LLM自动化翻译文章(基于webhook)

使用n8n+LLM自动化翻译文章(基于webhook)

最近由于各家的AI模型都在大规模推广,token的价格已经非常廉价了,于是萌生了想法将我的这个博客改造支持多语言版本,我主要写中文的文章,由机器自动帮我翻译成其他类型的语言(目前暂时只考虑增加了英文的版本)。

同时,本就是一个记录日常技术的网站,也就不希望额外增加一些付费的插件,尽量用免费的插件来完成这个工作,这篇文章记录了相关的工作。

Polylang安装

在Wordpress插件库中搜索该插件并安装配置(免费版本即可),请注意在设置时选择默认语言为已有的文章对应的语言类型,避免插件安装完成后首页变成空白页面。

正确选择的语言后面会有一个五角星对应。

https://blog.mrtblogs.net/wp-content/uploads/2024/11/image-1-1024x246.png

n8n工作流

在调试阶段的做法相对简单,你可以参考这个网站上的内容及n8n的workflow文件导入:https://n8n.akashio.com/29557cabc67e42bcbc29effe1bdc8cd0,并尝试使用部分已经存在的文章进行实验。

我的模型选择gpt-4o-mini翻译文章,gpt-4o翻译标题,你也可以根据自己的需要对工作流和模型进行微调。

完全自动化

完成上述两个动作后,你应该可以通过手动触发的方式将已有的文章自动翻译成另外一种语言。当然,除了免费版本的Polylang无法通过API映射多语言版本的问题外,剩下一个问题就变成了如何让新发布的文章自动转换成英文。

这里的问题实际上是基于如下的原因产生的:

  • 免费版本的polylang插件是无法通过API生成两篇不同语言的文章之间的对应关系
  • 通过手动触发的方式进行文章翻译,相对比较繁琐,且需要在多个系统上登录
  • 对于n8n的工作流而言,无法知道已经翻译了什么文章,容易造成漏或者重复的情况

那么在目前的情况下我们一般有两种解决方案:一个是基于数据库记录我们的工作,另外一种就是基于webhook来做。基于数据库的方式缺点是引入了一个新的组件,比较笨重,而基于webhook的方式缺点是wordpress原生并不支持。我最终的选项是使用webhook,其原因是我考虑到如果未来我的数据库损坏,那我还是需要重新考虑映射的数据库问题,而webhook的方式非常轻松。

Simple Webhook

基于如上我的需求,我对wordpress的插件市场找了一段时间,完全能满足我的要求的,且网络上评分比较高的插件就是WP Webhooks了,但非常遗憾经过试用,不知道为什么没有生效,且我希望看日志发现这还是一个pro版本的功能…

迫于无奈,且考虑到我的需求非常简单,我自己开发了一个Wordpress插件,取名叫做Simple Webhook,你可以在这里找到它并下载安装:

安装完成后,你可以在设置的界面找到配置URL的位置,将webhook配置好即可,插件会在你发布新文章的时候自动将一些基本的信息通过POST的方式发送:

https://blog.mrtblogs.net/wp-content/uploads/2024/11/image-2-1024x949.png

这样结合n8n和polylang你就轻松得到了一个多语言的wordpress站点。

发表回复

textsms
account_circle
email

loca1h0st's Blog

使用n8n+LLM自动化翻译文章(基于webhook)
最近由于各家的AI模型都在大规模推广,token的价格已经非常廉价了,于是萌生了想法将我的这个博客改造支持多语言版本,我主要写中文的文章,由机器自动帮我翻译成其他类型的语言(目前暂…
扫描二维码继续阅读
2024-11-12