AI自动撰写WordPress文章的脚本,DeepSeek V3 10秒搞定

2022年左右,我给我的小网站装了一个Wiki插件,也就是**IT博览**这个页面的内容。准备把自己感兴趣一些的内容,搜集整理成知识库,然后发布出来。那时候ChatGPT刚火起来,没有联网检索能力,还不能当我的赛博牛马,因此我自己苦哈哈地发布了一些,又采集了一些。

现在基本大模型的网页服务都支持联网搜索功能了,使用dify、coze等平台,还可以调用大模型api用插件和WorkFlow工作流解决自动化和联网的问题。所以,我准备用AI来快速丰富这个wiki的内容。在不搭建本地知识库的情况下,先用一个脚本来实现知识搜集整理和自动写作,后续的微调、迭代和内容发布问题,都可以慢慢来。

所以,我用近期封神的国产顶级大模型DeepSeek V3尝试了一下。(其实我先用DeepSeek写了一个WordPress插件,能上传运行、生成内容,但写入数据库发布文章有点问题,就另外慢慢研究了)

一、10秒钟,用DeepSeek写一个自动撰写内容的脚本

下面是我给DeepSeek V3的指令。

  1. 你的角色:一个熟知各种大模型AI玩法的资深程序员。
  2. 你的工作风格:
    1. 严谨认真,核实数据真实有效,不编造不虚拟;
    2. 善于检索,当资料库没有相关内容的时候,会联网搜索,寻找解决办法;
    3. 代码优雅,遵循严格的技术要求;
    4. 想法周到,提前预判各种bug,提醒或修复问题;
    5. 文字中立客观,不夸大事实,也不谄媚讨好,娓娓道来,条理清晰,重点分明;
  3. 你的任务:写一个程序,列出所有文件与代码。
  4. 程序功能:通过调用DeepSeek V3 api,批量输入Prompt,根据Prompt联网检索,整理资料并批量生成文章,并保存为MarkDown文件。
  5. 要求:
    1. 有交互界面,用于批量输入Prompt;
    2. Prompt可以分别设置常量和变量,能批量输入变量;
    3. MarkDown文件名为Prompt中输入的变量;

以下是DeepSeek V3的回答,给到了一个完整的Python脚本,安装依赖库之后可以直接运行。

为了实现这个任务,我们将使用Python编写一个程序,结合Tkinter库创建交互界面,调用DeepSeek V3 API进行联网检索,并生成MarkDown文件。以下是详细的代码实现和解释。

1. 环境准备

首先,确保你已经安装了以下Python库:

  • requests​:用于发送HTTP请求。
  • tkinter​:用于创建图形用户界面。
  • markdown​:用于生成MarkDown文件。

你可以通过以下命令安装这些库:

pip install requests markdown

2. 代码实现

import os
import requests
import tkinter as tk
from tkinter import messagebox, filedialog

# DeepSeek API的URL和API密钥(假设接口与OpenAI类似)
DEEPSEEK_API_URL = "https://api.deepseek.com/beta/completions"  # 假设的API地址
API_KEY = "deepseek-api-key"  # 替换为你的DeepSeek API密钥

def fetch_data_from_deepseek(prompt):
    """调用DeepSeek API获取生成的内容"""
    headers = {
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json"
    }
    payload = {
        "model": "deepseek-chat",  # 使用DeepSeek V3模型
        "prompt": prompt,
        "max_tokens": 8192  # 生成内容的长度限制
    }
    response = requests.post(DEEPSEEK_API_URL, headers=headers, json=payload)
    if response.status_code == 200:
        return response.json()["choices"][0]["text"].strip()  # 假设返回格式与OpenAI类似
    else:
        messagebox.showerror("错误", f"API调用失败: {response.status_code}")
        return None

def generate_markdown(content, filename):
    """生成MarkDown文件"""
    with open(filename, 'w', encoding='utf-8') as file:
        file.write(content)

def process_prompts():
    """处理输入的Prompt并生成MarkDown文件"""
    constant_part = constant_text.get("1.0", tk.END).strip()  # 获取常量部分
    variables = variable_text.get("1.0", tk.END).strip().splitlines()  # 获取变量部分
  
    if not constant_part or not variables:
        messagebox.showwarning("输入错误", "请填写常量部分和变量部分。")
        return
  
    output_dir = filedialog.askdirectory(title="选择输出目录")
    if not output_dir:
        return
  
    for var in variables:
        if not var.strip():  # 跳过空行
            continue
        full_prompt = f"{constant_part.format(var=var)}"  # 在常量中插入变量
        generated_content = fetch_data_from_deepseek(full_prompt)
        if generated_content:
            filename = os.path.join(output_dir, f"{var}.md")  # 使用变量作为文件名
            generate_markdown(generated_content, filename)
  
    messagebox.showinfo("成功", "所有MarkDown文件已生成完毕!")

# 创建主窗口
root = tk.Tk()
root.title("DeepSeek V3 文章生成器")

# 常量部分输入
tk.Label(root, text="常量部分(固定内容,用{var}表示变量):").grid(row=0, column=0, padx=10, pady=10)
constant_text = tk.Text(root, height=5, width=50)
constant_text.grid(row=0, column=1, padx=10, pady=10)

# 变量部分输入
tk.Label(root, text="变量部分(每行一个变量):").grid(row=1, column=0, padx=10, pady=10)
variable_text = tk.Text(root, height=5, width=50)
variable_text.grid(row=1, column=1, padx=10, pady=10)

# 处理按钮
process_button = tk.Button(root, text="生成文章", command=process_prompts)
process_button.grid(row=2, column=0, columnspan=2, pady=10)

# 运行主循环
root.mainloop()

3. 代码解释

  • Tkinter界面:我们使用Tkinter创建了一个简单的图形用户界面,包含两个文本框用于输入常量和变量部分,以及一个按钮来触发处理过程。
  • DeepSeek API调用fetch_data_from_deepseek​函数负责调用DeepSeek V3 API,并返回检索到的数据。
  • MarkDown生成generate_markdown​函数将API返回的数据转换为MarkDown格式,并保存为文件。
  • 批量处理process_prompts​函数处理输入的Prompt,生成MarkDown文件,并保存到用户选择的目录中。

4. 使用说明

  1. 运行程序后,输入常量部分和变量部分(每行一个变量),常量输入框中,以 {var}​插入变量,并在下方的变量部分文本框中,每行输入一个内容,示例用法见下图 。
  2. 点击“生成文章”按钮,选择输出目录。
  3. 程序将根据每个变量生成对应的MarkDown文件,并保存到指定目录。

image

5. 注意事项

  1. max_tokens​参数,是指最大输出Token,DeepSeek V3目前的最大输出长度是8K,我在代码里设置的就是模型支持的最大值8192,不必再修改。

二、怎么用其他大模型API

虽然这个程序的名字叫“DeepSeek V3 文章生成器”,但它并不仅仅能搭配DeepSeek API使用,正常来说所有兼容OpenAI API规范的大模型,都可以直接调用,修改代码当中几处即可:

  1. DEEPSEEK_API_URL = "https://api.deepseek.com/beta/completions" # 引号内修改为你的大模型api地址,根据各平台的开发文档来填写,DeepSeek的这个api是多轮对话的地址,而非默认地址,一般大模型除了修改前面的网址,还要把beta改为v1
  2. API_KEY = "deepseek-api-key" # 将deepseek-api-key替换为你的大模型API密钥
  3. "model": "deepseek-chat", # 替换为你要调用的模型,如moonshot-v1-128k
  4. "max_tokens": 8192 # 生成内容的长度限制,数值不超过8192

尤其要注意的是第1个API地址,似乎DeepSeek要使用beta分支的completions才能成功调用,默认的https://api.deepseek.com​api会返回400或404错误,一般大模型,要将beta改为v1,匹配OpenAI的格式。

这个脚本相当简单,还没有加入联网检索、迭代等能力,也没有用定时脚本定期走WordPress Rest API上传到博客后台。主要是因为我一般通过思源笔记发布博客文章,暂时没这个需要。联网检索能力,暂时可以调用月之暗面的Moonshot模型来替代,但我近期最爱还是便宜的DeepSeek。

本文介绍了如何利用DeepSeek V3 API和Python脚本实现自动化内容生成。通过调用DeepSeek V3 API,程序可以根据用户输入的Prompt批量生成文章,并保存为MarkDown文件。文章详细说明了代码的实现步骤,包括环境准备、API调用、MarkDown文件生成以及图形用户界面的创建。该脚本支持批量输入Prompt,并能将变量嵌入到常量中生成完整的内容。最终生成的MarkDown文件以变量命名,方便管理和检索。



微信扫描下方的二维码阅读本文

AI自动撰写WordPress文章的脚本,DeepSeek V3 10秒搞定 - AI大模型, DeepSeek, WordPress, 人工智能, 大模型Agent, 编程, 自动写作

一叶
一叶

一个好奇的玩家,热爱生活,更热爱探索

文章: 1281

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注