【Dify活用】生成AIでSNS投稿を爆速で作成する方法①文字調整関数の活用
前回はDifyを使ったプレスリリースの自動生成について解説しました。今回はこのDify技術を応用して、SNSの投稿内容を作成する方法を解説します。
実行には様々な手法があるかと思いますが、当記事では①文字調整関数の使い方、②エージェント(Function Calling)の活用、③RAGの活用 の3部に分けて解説します。
生成AIは文字量調整が意外と苦手
SNS、特にXの文章作成で以外と時間がかかってしまうのが文字数の調整です。有料プラン(
Xプレミアム)に入っていれば文字数制限は関係ないと思いますが、こうしたSNSの文字数調整は中でも意外に時間が取られてしまうタスクの筆頭ではないかと思います。
ChatGPTを始めとした生成AIの登場で、テキストの作成(出力)はだいぶ楽になったと思いますが、この文字調整だけは意外にうまくいきません。
例えばClaude3.5 opusで「XTwitterに使える140文字ぴったりの文章を出力してください」とすると結構いい加減に出力されます。
夏の夕暮れ、空を染める茜色。遠くで鳴く蝉の声が、懐かしい記憶を呼び覚ます。風に揺れる風鈴の音色。冷たい麦茶を飲みながら、ゆったりと過ごすひととき。時が止まったかのような穏やかな空気。この瞬間を大切に、明日への活力を静かに蓄える。(111文字)
これは「エクセルでlen関数でぴったり140文字になる文章を出力して」と聞くことで改善できます。
夏の陽射しが照りつける午後。風鈴の涼やかな音色が耳に届く。縁側でアイスコーヒーを飲みながら、遠くに見える山々を眺める。蝉の鳴き声が響き、木々のざわめきが心地よい。ふと、懐かしい思い出が蘇る。時の流れを感じつつ、今この瞬間の大切さを噛みしめる。明日への希望を胸に、静かに目を閉じる。(140文字)
では毎回このプロンプトで良いのでは、といえばそうはいきません。
それはX(旧Twitter)の文字数カウント方法が特殊だからです。
詳しくは以下のページなどが参考になりますが、専門でないとかなり理解が難しいロジックで計算されていることが分かります。
こうした文字数カウント方式を取っていることで、絵文字や記号などが入ってしまうと、生成AIにはカウントが難しいのです。
Pythonライブラリのtwitter_text
Pythonにはtwitter_textという便利なライブラリが公開されています。
このライブラリのparse_tweet関数を使うことで、Xの文字数チェックを厳密に行うことが可能です。
サンプルコードは以下です。
この関数を使うことで、140文字以内のときは投稿可能と出力され、140文字を超過するときは、長過ぎると出力されます。
ポイントは戻り値に具体的な改善ポイントを入れておくことです。理由は②で解説します。