有料APIなしでここまでできた。ローカルLLMで短編小説を自動生成してWordPressに投稿した記録

LM StudioにNemotron 3 Nano 4Bを入れてローカルサーバーを起動し、Thonny IDEとPythonで短編小説を自動生成。WordPressへ下書き投稿するまでの流れと試行錯誤を、使ったアプリやモデルの紹介つきでわかりやすくまとめました。


LM Studio と Thonny と Python で、ローカルLLM小説の自動投稿に成功しました

最近ずっと試していたのが、ローカルLLMで短編小説を自動生成して、そのままWordPressに投稿する仕組みです。
クラウドの有料APIに毎回課金する形ではなく、自分のPC上でモデルを動かして、Pythonから呼び出して、WordPressへ投稿するところまで持っていきたくて、少しずつ組み立てていました。
そして今回、ついにLM Studio + Thonny + Python + WordPress という構成で、短編小説の自動投稿に成功しました。Source

今回はニュース生成の話ではなく、創作短編を毎日自動で積み上げる仕組みとしてまとめています。
「ローカルで回したい」「追加コストをなるべく抑えたい」「WordPressに定期的に作品を入れたい」という人には、かなり相性のいい構成だと思います。


今回使ったもの

1. LM Studio

ローカルLLMをPCで動かして、Pythonなどの外部アプリから呼び出せるようにするためのアプリです。
公式ドキュメントでは、既存の OpenAI クライアントを使いつつ、base URL を http://localhost:1234/v1 に切り替えることで LM Studio を利用できると案内されています。つまり、外部のOpenAI APIへ接続する代わりに、ローカルで起動したモデルへ向けて同じような形で呼び出せるのが大きな強みでした。Source

2. Nemotron 3 Nano 4B

今回使ったモデルは NVIDIA の Nemotron 3 Nano 4B です。
LM Studioのモデルページでは、これはNemotron Nano 9B v2 を圧縮した4B規模の reasoning / chat モデルで、ハイブリッド Mamba2-Transformer アーキテクチャを採用した、ローカル利用に向いたコンパクトモデルとして紹介されています。さらにreasoning toggle256Kコンテキストにも対応していて、軽さと扱いやすさのバランスがよさそうだと感じて選びました。Source

3. Thonny IDE

Pythonを書いて実行する環境として、今回は Thonny を使いました。
Thonny は公式サイトでも初心者向けのPython IDEとして紹介されていて、Python同梱の簡単な導入、わかりやすいUI、学習しやすい実行環境が特徴です。実際に使ってみると、.env の確認、ログの表示、エラーの切り分け、少しコードを直して再実行、という流れがかなりやりやすくて、自動投稿スクリプトの調整にはとても向いていました。Source

4. WordPress Application Passwords

WordPressへの自動投稿には、通常のログインパスワードではなく Application Passwords を使いました。
これは WordPress 5.6 以降の仕組みで、REST APIなどに対してプログラムから認証付きアクセスを行うための専用パスワードです。非対話的なアクセス用に設計されているので、今回のような Python スクリプトからの投稿にちょうどよかったです。Source


最終的にできたこと

今回できるようになったのは、ざっくり言うと次の流れです。

  • LM Studio にモデルを入れる
  • モデルを読み込んでローカルサーバーを起動する
  • Thonny で Python スクリプトを実行する
  • Python からローカルLLMへ小説生成を依頼する
  • タイトル・抜粋・本文を整える
  • WordPress へ自動で下書き投稿する

ここまで一通り通せたことで、**「ローカルLLMを創作の執筆エンジンとして使い、WordPressを公開基盤にする」**という流れが現実的に回せることが確認できました。Source


どうしてこの構成にしたのか

理由はいくつかありますが、いちばん大きいのは継続コストを抑えたかったことです。
クラウドの生成APIは便利ですが、長文を毎日回すとなると、どうしても料金が気になってきます。その点、今回はローカルでモデルを動かしているので、少なくとも外部の従量課金は発生しません
もちろんPC性能や生成速度とのバランスはありますが、毎日コンテンツを積み上げる用途ではかなり魅力的でした。

もうひとつは、自分のサイト用に独自の運用を作りやすいことです。
小説の文字数、文体、シリーズ名、投稿形式、下書き運用、重複防止などを自分で調整できるので、単なるチャット利用よりもずっと“制作環境”に近い感覚で使えました。


ここまでの試行錯誤

ここからが本題で、実際には一発でうまくいったわけではありません。
むしろ、文章生成そのものより、周辺の接続や安定化のほうが大変でした。

最初は「ローカルLLMで文章が出ればすぐ投稿できるだろう」と思っていたのですが、実際には、

  • モデルの読み込み確認
  • サーバーが起動しているか
  • Python 側の接続先設定
  • WordPress 認証情報の読み込み
  • 投稿時のエラー処理
  • 小説の長さの調整
  • タイトルや抜粋の整形
  • 同じような話の連続を防ぐ工夫

といった部分を1つずつ整える必要がありました。

特に印象的だったのは、**「生成できること」と「運用として回ること」は全然別」**だと実感したことです。
単に文章が出るだけなら比較的早い段階でできても、毎日投稿する仕組みにするには、安定性や見た目、管理しやすさまで考えないといけません。そこがいちばん時間のかかった部分でした。


小説生成は「いきなり本文」より「設計図→本文」の方が安定した

これは今回かなり大きな発見でした。
最初は、LLMにいきなり「2000字くらいの短編小説を書いて」と投げていたのですが、これだとテーマが散らかったり、終わり方が弱かったり、文章量が安定しなかったりしました。

そこで途中から、まず

  • タイトル案
  • ジャンル
  • 舞台
  • 主人公
  • 冒頭の異常
  • 中盤の転換
  • 結末の方向性

のような設計図を先に作る方式に変えました。
そのあと、その設計図をもとに本文を書かせるようにしたら、かなり安定しました。

このやり方だと、
「今日はSF寄り」
「今日はホラー寄り」
「最近と似た話は避けたい」
みたいな制御もしやすくなります。
ローカルLLMに任せきりにするより、少し構造を作ってあげたほうが、結果的に作品としてまとまりやすいと感じています。


Thonny が地味にかなり便利だった

今回、思っていた以上に助かったのが Thonny でした。
本格的な開発環境を使わなくても、Pythonスクリプトを少しずつ修正しながら実行して、ログを見て、また直すという流れがすごく軽いんです。
特に自動投稿系は、派手なアプリ開発というより「細かな確認の積み重ね」になるので、Thonny のシンプルさがむしろちょうどよかったです。Source

また、公式サイトでも、Thonny はPython学習や初学者向けの環境として設計されていると説明されていますが、実際にはこういう軽量な自動化スクリプトの開発にもかなり向いていると感じました。Source


WordPress 側は「下書き投稿」から始めたのが正解だった

WordPress への投稿は、最初から公開にせず、まずは draft(下書き)保存にして運用しました。
これは本当に正解で、生成された文章の長さ、雰囲気、段落の見え方、タイトルの強さなどをあとから確認しやすかったです。

また、Application Passwords はプログラムからWordPress APIを使うための専用認証として用意されているので、通常のログイン方法を無理に使うよりずっと安心でした。こういう自動化では、やはり公式の仕組みを使うのが一番だと感じます。Source


今回使った構成のよかったところ

実際に動かしてみて、よかった点はかなりはっきりしています。

まず、外部の有料APIに依存しないので、長文生成を何度も試しやすいこと。
次に、自分のPCの中で完結する感覚があるので、試作と改良を繰り返しやすいこと。
さらに、WordPressへそのまま投稿できるので、ただ生成するだけで終わらず、コンテンツとして蓄積できることです。

要するに、今回の構成は「チャットを楽しむ」よりも、創作を継続して公開するための制作基盤としてかなり向いていました。


これからやりたいこと

今の段階でも、ローカルLLMで短編小説を生成してWordPressへ自動投稿するところまでは到達できました。
ただ、ここから先はさらに、

  • ジャンルごとに文体を変える
  • 重複しにくいテーマ管理を入れる
  • 投稿カテゴリやタグを自動で分ける
  • アイキャッチやシリーズ表示を整える
  • タスクスケジューラで完全自動運用する

といった方向に伸ばしていけそうです。

特に「毎日積み上がる創作アーカイブ」として運用できるようになると、単なる実験ではなく、ちゃんと作品群として育っていく感じが出てくるので、そこは今後かなり楽しみな部分です。


まとめ

今回やってみて思ったのは、ローカルLLMで創作を回す環境は、思っていたよりずっと現実的だということです。
LM Studio は OpenAI 互換の形でローカルモデルを呼び出せるので Python との相性がよく、Thonny は軽快に試行錯誤できて、WordPress は Application Passwords を使うことでプログラム投稿がやりやすい。
この3つがうまく噛み合ったことで、ローカルLLM小説の自動投稿というやりたかった形にかなり近づけました。Source Source Source

もし同じようなことを試したい人がいたら、まずは
LM Studioでモデルを動かす → Pythonからローカル接続する → WordPressは下書き投稿から始める
この順番で進めるのがおすすめです。
いきなり全部を完璧にしようとせず、1段ずつ積み上げるのが結局いちばん早い、というのが今回の実感でした。


参考リンク


adi2039をもっと見る

購読すると最新の投稿がメールで送信されます。

テキストのコピーはできません。