Webスクレイピング×生成AI×SNSで新しい価値が生まれる?すべて無料でBOTを作った話
はじめに
最近Webスクレイピングと生成AIを使って便利なサービスを作ることがマイブームになっています。あまりにも簡単にプログラムが作れてしまうため、1週間で5つのBOT(SNSに自動で投稿するサービス)を作ってしまいました。
今回は作成したBlueskyのBOTについて紹介するのですが、ポイントは開発環境から運用環境まで、すべてが無料で実現されているという点です。生成AIを用いて開発を行い、生成AIで処理を行っていますが、2024年4月時点でこれらを無料で利用できる状態にあります。
無料で生成AIを使う方法については後半で説明しますが、まずは今回作成したBOTを実現するための技術要素について軽く触れておきたいと思います。
Webスクレイピング:ウェブページからデータを取得します。今回はBeautiful Soupというライブラリを使用しています。
文章生成AI:大規模言語モデルとも呼ばれますが、文章を与えると文章が返ってきます。今回はGPT4Freeというライブラリを使用しています。
SNS:文字や画像を投稿するサービスです。今回はBlueskyを使用しています。
自動実行:作成したプログラムを定期実行させます。今回はGitHub Actionsを使用しています。
これらの技術を組み合わせ、Webスクレイピングでデータを取得して生成AIに入力、出力結果をSNSにBOTとして投稿する、という一連の流れを実現しました。
生成AIの活用法
大規模言語モデルを利用した生成AIには、様々な応用の可能性があります。今回使った主な機能は以下の3つです。
文章要約:長い文章を要約してくれる。
翻訳:文章を別の言語に翻訳してくれる。
データ分析:表形式のデータを分析し、意味のある文章にまとめてくれる。
上記の機能を使って生成AIに処理をして貰うのですが、生成AIを活用するには、適切な「入力(データ)」と「要求(プロンプト)」が必要です。
欲しい結果が得られない場合は、入力したデータに問題があるか、生成AIに対する要求の仕方が間違っている可能性が高いです。色々試行錯誤しながら、最適な入力と要求のパターンを見つけていくことが大切です。
また、聞く相手を間違えている、というケースもあります。同じプロンプトでもGPT-3.5とGPT-4では全然違いますし、Claudeでも違ってきます。自分が行いたいことに対して誰にお願いするかは適切に見極める必要があります。
それでは、実際に作ったBOTの例を見ていきましょう。
記事要約BOT
まずは、人気の技術ブログから記事をスクレイピングして、その内容を要約するBOTです。
デイリーQiitaトレンド
デイリーZennトレンド
QiitaやZennの人気記事をRSSから収集し、記事本文をスクレイピングします。その本文テキストを生成AIに入力して要約を生成、最後にSNSに投稿します。
生成AIに与えている具体的なプロンプトを以下に記載します。
このようなシンプルな要求で生成AIに文章要約を依頼することができます。
翻訳&要約BOT
次は海外の資料やドキュメントなどから抜粋を翻訳&要約するBOTです。
デイリーGitHubトレンド
デイリーHuggingFaceトレンド
GitHubの人気リポジトリや機械学習モデルのREADMEなどからテキストをスクレイピングし、日本語に翻訳した上で要約を生成しSNSに投稿します。
生成AIに与えている具体的なプロンプトを以下に記載します。
英語のデータを与えても日本語で出力するようお願いすれば、翻訳と要約の両方をまとめて行うことが可能です。
データ分析BOT
最後は金融データや統計情報などの表をスクレイピングし、生成AIに分析させるBOTです。
デイリーマーケットトレンド
株価指数や為替レートなどのデータをスクレイピングし、生成AIに入力して分析結果を文章にしてもらいます。
生成AIに与えている具体的なプロンプトを以下に記載します。
このBOTはデータ分析の代行サービスのような位置付けです。
生成AIを無料で利用する方法
さて、そんな生成AIなのですが、2023年は性能の良いものを使おうとすると有料サービスしか無かったのですが、2024年になってGPT-4なども無料で使えるようになり、一般人でも気軽に試すことができるようになってきました。
今回はオススメの3つのサービスをご紹介します。
1. gpt4free
数行のコードを書くだけで、生成AIのAPIを無料で使えるラッパーライブラリです。本来は各APIの仕様に合わせて実装が必要な訳ですが、このライブラリを使えば駆動するAIを簡単に切り替えることができます。
2. WRTN
GPT-4 Turboを始め、Stable Diffusionによる画像生成なども行える汎用プラットフォームサービスです。Webスクレイピングではどの部分のデータが欲しいかHTMLを解析して取得する必要があるのですが、自分でコードを書くのは煩わしいのでHTMLをそのまま入力して欲しいデータを抜き取るコードを書いてもらいました。
因みに各BOTのアイコンやバナーもリートンのSDXLで生成しています。
3. Amazon CodeWhisperer
これは少し玄人向けのサービスですが、GitHub Copilotのようにコード補完・生成を行うサービスです。コメントから適切なコードを提案してくれるので、効率的なコーディングが可能です。
さいごに
以上、WebスクレイピングからSNS投稿まで、全て無料のサービスとツールを使って実現する方法の紹介でした。
生成AIをうまく利用することで、プログラミング力が乏しくても便利なツールが作れるようになっています。私もPythonはほとんど触ったことが無いですし今でも理解していませんが、それでも動くコードが作れてしまいます。
恐らく今回作ったBOTもやる気のある中学が夏休みの自由研究で作れるレベルだと思うので、興味がある学生の方は面白いサービスを作って欲しいですね。
因みにソースコードはGitHubで公開しており、リポジトリのリンクは各BOTの説明欄に記載しています。
ではまた!