使用WordPress文章訓練大型語言模型

閱讀時間約 8 分鐘

許多大型語言模型(LLM)開始允許使用者將自己的資料餵進模型中,像是 OpenAI 的 ChatGPT 和 Anthropic 的 Claude。有了這個功能,你可以上傳你的部落格文章、程式碼或資料集來客製化模型的回應。在這篇文章中,你將學習如何從你的 WordPress 網站提取內容並餵給 Claude,然後以你的寫作風格撰寫或翻譯新的文章。

收集文章

有一些外掛可以將 WordPress 的文章匯出成 CSV 或 JSON 格式。如果你不想安裝任何外掛,也可以直接從資料庫匯出。只需登入 MySQL 資料庫,找到 wp_posts 資料表,然後執行以下 SQL 指令來取得資料庫中所有已發布的文章。

SELECT * FROM wp_posts WHERE post_type = 'post' AND post_status = 'publish'

如果一切順利,你可以點選選單中的「匯出」按鈕,將格式調整為 CSV,然後下載檔案。

raw-image
raw-image

你也可以進入後台管理介面,前往「工具 > 匯出」,然後下載檔案。不過,這個檔案是 XML 格式,比較難解析。

清理 WordPress 註解和 HTML 標籤

下載 CSV 檔案後,下一步是清理內容。以下是清理前後的範例。

raw-image

你可以將它載入為 pandas DataFrame,然後使用以下程式碼提取內容。Jupyter Notebook 的範例程式碼可以在我的 GitHub 上找到。

import re
import pandas as pd
from bs4 import BeautifulSoup


def extract_wordpress_content(content):
# Remove WordPress block comments
content_without_comments = re.sub(r'<!-- /wp:.*? -->', '', content)
content_without_comments = re.sub(
r'<!-- wp:.*? -->', '', content_without_comments)

# Parse the HTML
soup = BeautifulSoup(content_without_comments, 'html.parser')

# Extract text from paragraphs and headings
extracted_text = []
for element in soup.find_all(['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6']):
extracted_text.append(element.get_text())

# Extract code blocks
for code_block in soup.find_all('pre', class_='wp-block-code'):
extracted_text.append(f"Code:\n{code_block.get_text()}")

# Join the extracted text
full_text = ' '.join(extracted_text)
return full_text


def extract_post_content(df=None, file=None, limit=None, output_path=None):
'''
Extract post content from a CSV file.
'''
assert df is not None or file is not None, 'Either df or file must be provided'

if file is not None:
df = pd.read_csv(file)
df = (df
.sort_values(by='post_date', ascending=False)
.reset_index(drop=True))

print('Total posts:', len(df))
if limit:
df = df.head(limit)
# Convert to string to avoid error caused by NaN
df['post_title'] = df['post_title'].astype(str)
print(df.head())

post_content = ''
collected_posts = 0
for i in range(len(df)):

# Continue when post_content is NaN
if df.loc[i, 'post_content'] != df.loc[i, 'post_content']:
continue

extracted_content = extract_wordpress_content(
df.loc[i, 'post_content'])
post_content += df.loc[i, 'post_title']
post_content += extracted_content
post_content += '=' * 20
collected_posts += 1

print(f'Successfully collected {collected_posts} posts')
if output_path:
with open(output_path, 'w', encoding='utf-8') as f:
f.write(post_content)
return post_content

在 Claude 中建立新專案並上傳文件 登入你的 Claude 帳號,點選左側面板中的「Projects」按鈕,然後點選「Create New Project」。

raw-image

在專案頁面中,你可以上傳已清理過的文章檔案。

raw-image

現在一切都準備就緒了!你可以開始新的對話來創建新內容。例如,你可以用這樣的提示詞(Prompt)問 Claude:

「用我的寫作風格寫一篇關於將機器學習應用於股市預測的新部落格文章。使用類似於我現有文章的語言、語氣和結構。包含典型的元素,如程式碼範例、標題和我常用的詞句。」

或者你可以請 Claude 將你的文章翻譯成另一種語言,像是:

「請模仿Project Knowledge中文章慣用的用詞與語氣,將這篇關於股市機器學習的部落格文章翻譯成繁體中文,並將所有中國用語轉換為台灣用語。翻譯應保持原文的意思和風格,專有名詞不需翻譯,記得將標點符號修改為繁體中文的標點符號」

希望這篇文章對你有幫助,能有效提升你的內容創作流程!



本文轉載自:ARON HACK - 使用WordPress文章訓練大型語言模型

    留言0
    查看全部
    發表第一個留言支持創作者!
    CKIP-Transformer 是一個繁體中文的自然語言處理 (NLP) 模型,雖然速度偏慢,但是在切詞、詞性標記和命名實體識別等方面都有很優秀的表現。然而,CKIP-Transformer 的輸出並非完美無缺,有時需要額外的資料清理才能進行後續應用。
    在 Visual Studio Code(VSCode)或是其分支專案(如 Cursor)中,當你執行 Python 程式碼時(使用 Shift + Enter),預設會在終端機中顯示輸出結果。這種執行方式會執行整個程式,使用上非常不方便,因為你沒辦法只執行部分程式碼並檢查變數。
    日本NHK最近製作了一部關於中國文件外洩的調查報導,內容中有相當大的篇幅聚焦在台灣。雖然由外國媒體報導不免顯得諷刺,但也增加了記錄片的公信力與客觀性。以下為完整中文版。
    安裝 Llama 2 方法1. 使用官方指南安裝 Llama 2 Meta官方提供的Llama 2安裝方法很容易出錯,你需要先在Meta的網站上申請權限,然後執行Git Repository中的shell腳本來下載模型。當你嘗試執行模型時,可能會遇到以下錯誤: UserWarning: A
    在程式實驗室中,有一個方塊是「播放指定動作」。根據官方文件,這個方塊可以將凱比機器人的動作ID賦予給一個變數,再讓凱比做出該動作。這樣只需要更改變數中的動作ID,就可以讓凱比做出不同的動作。
    最近,我嘗試使用Flutter和大型語言模型開發我的個人AI助理的手機App,其中一項功能是監控系統。當某個程式出現錯誤時,我希望可以透過Firebase發出Alert,並在手機上接收推播通知。不幸的是,我發現我必須先付99美元的年費取得Apple開發者帳號,才能使用Apple推播通知服務(APN
    CKIP-Transformer 是一個繁體中文的自然語言處理 (NLP) 模型,雖然速度偏慢,但是在切詞、詞性標記和命名實體識別等方面都有很優秀的表現。然而,CKIP-Transformer 的輸出並非完美無缺,有時需要額外的資料清理才能進行後續應用。
    在 Visual Studio Code(VSCode)或是其分支專案(如 Cursor)中,當你執行 Python 程式碼時(使用 Shift + Enter),預設會在終端機中顯示輸出結果。這種執行方式會執行整個程式,使用上非常不方便,因為你沒辦法只執行部分程式碼並檢查變數。
    日本NHK最近製作了一部關於中國文件外洩的調查報導,內容中有相當大的篇幅聚焦在台灣。雖然由外國媒體報導不免顯得諷刺,但也增加了記錄片的公信力與客觀性。以下為完整中文版。
    安裝 Llama 2 方法1. 使用官方指南安裝 Llama 2 Meta官方提供的Llama 2安裝方法很容易出錯,你需要先在Meta的網站上申請權限,然後執行Git Repository中的shell腳本來下載模型。當你嘗試執行模型時,可能會遇到以下錯誤: UserWarning: A
    在程式實驗室中,有一個方塊是「播放指定動作」。根據官方文件,這個方塊可以將凱比機器人的動作ID賦予給一個變數,再讓凱比做出該動作。這樣只需要更改變數中的動作ID,就可以讓凱比做出不同的動作。
    最近,我嘗試使用Flutter和大型語言模型開發我的個人AI助理的手機App,其中一項功能是監控系統。當某個程式出現錯誤時,我希望可以透過Firebase發出Alert,並在手機上接收推播通知。不幸的是,我發現我必須先付99美元的年費取得Apple開發者帳號,才能使用Apple推播通知服務(APN
    你可能也想看
    Google News 追蹤
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    在當今快速變化的數位時代,企業面臨著前所未有的數據處理需求。為了應對這些挑戰,企業紛紛建立自己的大型語言模型(LLM),利用大量數據進行訓練,讓模型能夠理解並生成自然語言,從而實現人機協作,優化業務流程並提升客戶體驗。
    我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 對於需要精確度、背景和創造力的複雜融合的任務,The Ultimate Template 是無與倫比的,
    https://www.youtube.com/watch?v=wjZofJX0v4M 這是我看過最好的AI科普影片了;現在流行的GPT使用的大語言模型 (large language model, LLM), 是把每一個單字都當作一個高維度向量 影片中GPT3共儲存50257個英文單字, 每
    Thumbnail
    我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 針對Generative AI、Foundation Model、Large Language Mode
    我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 生成式AI (Generative AI)是一種人工智慧,它調度機器學習方式來產生新的或者是原創的文字、
    Thumbnail
    這篇文章討論了自然語言處理技術的發展歷程,從語言模型的引入到深度學習的應用。作者觀察到現今GPT在產出中文國學內容時的深度不足,並提出了自然語言處理領域的倫理使用和版權問題,以及對大眾的影響。最後,作者探討了個人在自然語言領域的發展可能性。
    Thumbnail
    本文介紹了text-generation-webui的安裝方法和模型的選擇,包括模型的下載和擺放位置,並提供了相關的連結和建議。
    Thumbnail
    瞭解讓AI寫文章的好處,包括提高效率、快速獲取答案和資料整理
    Thumbnail
    AI幫助創作者進行內容分析,提供發布設定的最佳建議,包括標題設定、文章分類、本文摘要、瀏覽縮圖和關鍵字設定。
    Thumbnail
    前言 上一篇討論到如何訓練出模型,此篇將說明Streamlit建立的簡單Web應用程式的解說 Streamlit網頁App_貓狗辨識 連結 程式碼Github連結 [機器學習]CNN學習MNIST 手寫英文字母資料,用網頁展現成果_模型訓練篇 如何連動github與stramlit可以參考
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    在當今快速變化的數位時代,企業面臨著前所未有的數據處理需求。為了應對這些挑戰,企業紛紛建立自己的大型語言模型(LLM),利用大量數據進行訓練,讓模型能夠理解並生成自然語言,從而實現人機協作,優化業務流程並提升客戶體驗。
    我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 對於需要精確度、背景和創造力的複雜融合的任務,The Ultimate Template 是無與倫比的,
    https://www.youtube.com/watch?v=wjZofJX0v4M 這是我看過最好的AI科普影片了;現在流行的GPT使用的大語言模型 (large language model, LLM), 是把每一個單字都當作一個高維度向量 影片中GPT3共儲存50257個英文單字, 每
    Thumbnail
    我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 針對Generative AI、Foundation Model、Large Language Mode
    我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 生成式AI (Generative AI)是一種人工智慧,它調度機器學習方式來產生新的或者是原創的文字、
    Thumbnail
    這篇文章討論了自然語言處理技術的發展歷程,從語言模型的引入到深度學習的應用。作者觀察到現今GPT在產出中文國學內容時的深度不足,並提出了自然語言處理領域的倫理使用和版權問題,以及對大眾的影響。最後,作者探討了個人在自然語言領域的發展可能性。
    Thumbnail
    本文介紹了text-generation-webui的安裝方法和模型的選擇,包括模型的下載和擺放位置,並提供了相關的連結和建議。
    Thumbnail
    瞭解讓AI寫文章的好處,包括提高效率、快速獲取答案和資料整理
    Thumbnail
    AI幫助創作者進行內容分析,提供發布設定的最佳建議,包括標題設定、文章分類、本文摘要、瀏覽縮圖和關鍵字設定。
    Thumbnail
    前言 上一篇討論到如何訓練出模型,此篇將說明Streamlit建立的簡單Web應用程式的解說 Streamlit網頁App_貓狗辨識 連結 程式碼Github連結 [機器學習]CNN學習MNIST 手寫英文字母資料,用網頁展現成果_模型訓練篇 如何連動github與stramlit可以參考