見出し画像

【OpenAI】Assistants APIをPlaygroundで試して、記事を自動生成する。

OpenAI Dev Dayで発表された中でも、特にAssistants APIに凄まじさを感じました。
OpenAIのPlaygroundでAssistants APIを利用すれば、専門的な知識を拡張させたチャットbotや、エビデンスに基づいた記事の自動生成などをノーコードで作成することが可能になります。

また、同時に発表されたGPT-4-turboは受け入れ可能なトークン数が大幅に増加したため、このモデルを利用することで、長文の要約及び自動生成が可能です。

この記事では、OpenAIのPlaygroundを使ってSEO記事の自動生成をしながら、Assistants APIの凄まじさの一部を感じてもらおうという趣旨で書いています。

Assistants APIとは

先日のOpenAI DevDayで発表されたAPI経由で独自のAPIアシスタントの構築ができるようになるサービスです。
Code InterpreterやRetrieval、Function callingなどの機能との連携により、これまでchat-botを実装するときに、自作で実装が必要だったベクトル化(embeddings-api)などの処理を、API側に任せることができます。

開発者はこれを利用して、独自のAIアシスタントをアプリケーション内に作り、ユーザーの質問や指示に応じた対話的な応答を提供することができるようになるというわけです。

Assistants APIがなぜすごいのか

Assistants APIは開発者向けの機能として提供されているため、基本的にはchat-bot開発などで開発者がAPI経由で利用して恩恵を得られるサービスです。

たとえば、今まではサービスに搭載するチャットbotをOpenAIのAPIを利用して開発するとなった場合、事前に別でそのサービスについての情報をベクトルDB化しておき、チャットbotの実装でそのベクトルDBを参照しつつ回答させるという形にするのが一般的なアプローチでした。
しかし、Assistants APIの登場で、この例でいうベクトル化の部分とそれに伴ういろいろな処理をAPI側に担わせることで、開発者は他の開発にリソースを使うことができます。

Assistants APIは上述のようにAPIを通して利用するサービスですが、OpenAIはPlaygroundというAPIをブラウザ上でノーコードで検証できる機構を用意しています。
これを利用することで、非エンジニアでもPlayground上で専門事項を学習させたチャットbotやAI記事制作を行うことができます。

Playgroundで作ったAssistants APIを駆使すれば、AI記事作成サービスみたいなのが書くものと匹敵するかそれ以上のアウトプットを出せるかと思います。
AIサービスに無駄に課金するより、Playgoundで直接APIを触ってしまえば良いんじゃん?と思うわけです。

Playgroundで記事を自動生成する

以下で、PlaygroundでAssistants APIを使って記事の自動生成をするエントリを書いていきます。

下準備

テーマはなんでも良いんですが、まずはAIによる出力時に参考情報として使うためのデータを集めてきます。

試しに今回は『嵐山 旅行 おすすめ』というキーワードで上位表示してもらえそうな記事をAIに書いてもらうことにします。

とりあえずの参考情報を作るために、狙いたいキーワードでGoogle検索して、上位3位までのURLの内容をtxtファイルにしておきます。

https://www.ikyu.com/kankou/arealist8261/ https://travel.rakuten.co.jp/mytrip/ranking/spot-arashiyama https://rlx.jp/journal/kinki/44182

Pythonで上記URLの内容を解析して、ページ内テキストのみ抽出したテキストファイルが↑のembeddings_contents.txtファイルです。これをアシスタント作成時に読み込ませることで、今回の参考情報とします。
アシスタントに読み込ませる参考情報としてサポートされているファイル群はこちら

Assistants APIにアップロードできるファイル上限は512Mのようです。512Mまでなら、csvでもtsvでもpdfでもテキストでも読み込ませることができるということです。
512Mというと、webページなら数万ページくらいはあるんじゃないでしょうか?
この辺からもAssistant APIの凄まじさがわかります。

アシスタントを作成する

OpenAIのPlaygroundページを開きます。

createボタンを押して、早速アシスタントを作成していきます。

・Name : アシスタントの名前を入力します。これはわかりやすければなんでもいいです。
・Instructions: アシスタントの役割を入力していきます。
ここは以下のように入力しました。良い記事書いてくれそうなやつなら、なんでも良いです。日本語でもok

You are a ai-savvy writer. Please write article following content with Japanese

・Model: Modelは課金ユーザーであれば、先日のOpenAI DevDayで発表されたgpt-4-1106-preview(GPT-4-turbo)を選びたいです。
GPT-3系でも問題ないです。

続いて、参考資料となるファイルをアップロードしていきます。

検索を使えるように、Retrievalをオンにしておきます。

Uploadから、下準備のセクションで用意した参考資料として読み込ませるファイルをアップロードしておきます。

あとは、saveボタンを押下すればアシスタントが作成されます。

記事の見出しを出させる

適当な記事の見出しを抽出させます。
アップロードした、参考情報をもとに良い感じの見出しを出力してくれます。



↓良い感じで、見出しが生成されました。

記事本文を自動で生成する

続いて、使えそうな見出しをピックアップして、記事本文を出力していきます。

↓ちゃんと記事を作ってくれました。
このリストで出てくるタイトルや文言は全て参考情報をもとに生成しているため、一定の信頼度があります。

この感じで、出力された使えそうな見出しに対して、本文を付けていけばそこそこの記事が1本作れそうです。

トークン数が増えたgpt-4-turboをモデルに使う方が、gpt-4を使うようりも出力数が増えています。

まとめ

AssistantsAPIはAPI利用の開発者向けサービスな感じがしますが、こんな感じで、ノーコードでかなり凝ったことができるようになってることが、けっこうすごい部分なんじゃないかと思っています。

業務のドメイン資料などをとりあえずcsvとかでまとめてAssistantsAPIに読み込ませておくだけで、かなり色々な業務にLLMを活用できるのではないでしょうか?

最後に

テクノロジーの変遷をエンジニアと振り返るラジオやってます。


この記事が気に入ったらサポートをしてみませんか?