皆さん、こんにちは!ブログ記事作成自動化プロジェクト、7日目です。
昨日「ネットニュースの検索とニュースのまとめをAPIで処理してみます」と宣言した通り、今日はAPI連携によるネットニュース検索と記事自動生成に挑戦しました!
その過程で直面した予期せぬ困難と、それを乗り越えるために試みた解決策について、詳しくお伝えしたいと思います。
ネット検索APIの壁
まず、生成AIのAPIにネット検索させようとしたところで、いきなり壁にぶつかりました。恥ずかしながら、現時点ではどのプラットフォームも、API経由でネット検索ができるモデルを提供していないことが判明しました。これは想定外でしたが、ここで諦めるわけにはいきません。
発想を転換し、ネット検索は生成AIから切り離し、ネット検索の結果を生成AIのプロンプトに受け渡す設計に切り替えることにしました。
GCP Custom Search APIの導入
ネット検索APIとして私が選んだのは、GCP(Google Cloud Platform)のCustom Search APIです。GCPの契約は、費用面で少し懸念があり、できれば後回しにしたかったのですが、背に腹は代えられません。
・参考記事:https://qiita.com/zak_y/items/42ca0f1ea14f7046108c
LangChainによるAPI連携
生成AIとのAPI連携処理の構築には、LangChainというライブラリを採用しました。LangChainを選んだのは、将来的に複数のLLM(大規模言語モデル)を組み合わせた処理も視野に入れているため、拡張性の高いライブラリを最初から使用しておきたいと考えたからです。
・参考記事:https://zenn.dev/umi_mori/books/prompt-engineer/viewer/langchain_overview
Google Colab は素晴らしい
実行環境は、手軽に利用できる無料のGoogle Colabを利用しました。Google Colabはクラウド上で動作するため、自分のPC環境を汚す心配もなく、PCリソースも消費しません。まだ利用したことがない方は、ぜひ一度試してみてください。素晴らしいですよ!
・Google Colabについての説明サイト:https://interface.cqpub.co.jp/ail01/
ChatGPT vs Gemini 大きな差
コーディングは、ChatGPT (o3-mini-high) とGemini (2.0 Exprerimental) で比較してみました。結果は、ChatGPTの圧勝。というか、Geminiは課題解決にまったく役立ちませんでした。Google ColabにはGeminiが実装されており、記述されたコードや実行結果を参照させて修正を依頼できるのですが、そのようなアドバンテージも意味をなさないほどの精度の低さでした。
Geminiへの課金、そろそろ真剣に考え直そうかな…
記事生成 ついに成功!
数々の困難を乗り越え、ついにCustom Search APIとChatGPTのAPIを連携させ、記事を自動生成することに成功しました!
実際に生成された記事はこちらです。
今後の展望
API連携による記事生成の自動化に、なんとか道筋をつけることができました。
しかし、Custom Search APIのチューニングや、APIを利用する際のプロンプトエンジニアリングには、まだまだ改善の余地が多く残されています。
明日以降は、これらの課題に少しずつ取り組み、自動化の改善を目指していきたいと思いますので、引き続きご期待ください。
コメント