ChatGPTは、OpenAIが開発・提供している対話型のAIチャットサービスです。ChatGPTの中にはプロンプトを入力できるフォームが用意されており、その中に文字を打ち込み情報収集などを行います。例えば、『ChatGPTについて教えてください』と入力すれば、ChatGPTから回答を得ることが可能です。実際に、ChatGPTを使用すれば、尋ねたことに対して文字を出力してくれるため、コンテンツ制作に活用することができます。また、テキスト翻訳やプログラミング支援なども可能で、あらゆる使い方ができる点が大きなメリットです。
このように、ChatGPTは単体でも便利に使用できますが、プラグインを活用し機能を拡張することで、自分好みにカスタマイズされたChatGPTを使用することもできます。そして、ChatGPTのプラグインは、自分で開発することが可能です。実際に、ChatGPTのプラグインを開発して自社の中でさらに便利にChatGPTを使用できるようにしたいと思われている方もいるのではないでしょうか?
そこで、今回はChatGPTのプラグインの概要や開発方法について詳しく解説します。
目次
ChatGPTのプラグインとは?
ChatGPTのプラグインとは、OpenAIが開発したChatGPTに対して機能を追加できるツールのことです。Google Chromeなどのブラウザの拡張機能ではなく、ChatGPTに対して直接機能を追加することができます。元々、ChatGPTにはプラグイン機能はありませんでした。しかし、2023年5月12日からChatGPTとほかのサービスを連携させることができるプラグイン機能が公開されたため、自分好みにカスタマイズすることが容易になっています。
ChatGPTのプラグインを使用すれば、Webから最新情報を収集することができたり、データ分析業務を効率化させたれたりします。本来、ChatGPTに備わっていない機能を追加することができるので、プラグインを使用すれば、さらにChatGPTの利便性を向上させることが可能です。
ChatGPTのプラグインの開発から公開までの手順
ChatGPTのプラグインは、プログラミングの知識などがあれば、開発することができます。ChatGPTのプラグインの開発から公開までの具体的な手順は下記の通りです。
- マニュフェストファイルを作成
- ChatGPTにプラグインを登録
- プラグインの有効化
- 会話の開始
それぞれの流れについて詳しく解説していきます。
マニュフェストファイルの作成
1つ目の手順は、マニュフェストファイルの作成です。
ChatGPTのプラグインを作成するためには、マニュフェストファイルを作成し、『.well-known/ai-plugin.json』でホストする必要があります。マニュフェストファイルには、プラグイン情報や必要な認証詳細、公開したいエンドポイントのOpenAIスペックなどを含めなければなりません。また、作成後は特定のURLにホストする必要があります。
プラグインの登録
2つ目の手順は、プラグインの登録です。
開発したプラグインをChatGPTの中で使用するためには、そのプラグインをChatGPTに登録する必要があります。プラグインの登録は、ChatGPTのUIから可能です。ChatGPTのサイドメニューから『GPTを探す』をクリックすると、GPTの画面に遷移します。右上にある『作成する』ボタンからプラグインの登録が可能です。
プラグインの有効化
3つ目の手順は、プラグインの有効化です。
プラグインを登録したら、あとはChatGPTでプラグインを有効化します。認証が必要な場合は、OAuth経由でプラグインにリダイレクトされ、新規アカウントを作成することもできます。
会話の開始
最後は、会話の開始です。
プラグインを有効化したら、あとは会話を開始するだけで自身が開発したプラグインを使用することができます。
ChatGPTプラグインの具体的な作り方
次に、ChatGPTのプラグインの具体的な作り方について解説します。どのように開発すればいいのかわからないという方は、ぜひ参考にしてください。
マニュフェストファイルを作成する
プラグインのルートディレクトリにマニュフェストファイルを作成する必要があります。マニュフェストファイルには、プラグイン名やバージョン、説明、エントリーポイントなどが含まれます。具体的な例としては、下記の通りです。
【ai-plugin.json】
{
“schema_version”: “v1”,
“name_for_human”: ” Stock Info “,
“name_for_model”: ” StockData “,
“description_for_human”: ” Retrieve price and volume details for specified stocks. “,
“description_for_model”: “Fetch price and volume data for specified stocks. Always display the results in markdown tables. “,
“auth”: {
“type”: “none”
},
“api”: {
“type”: “openapi”,
“url”: “[YOUR DOMAIN, must be HTTPS]/openapi.yaml”
},
“logo_url”: “[YOUR DOMAIN, must be HTTPS]/logo.png”,
“contact_email”: “support@example.com“,
“legal_info_url”: “https://example.com/legal“
}
上記のマニュフェストファイルの例では、最小限のオプションで設定をしました。しかし、OpenAIから数多くのフィールドが提供されており、それらを活用すれば細かくオプションを設定することができます。例えば、ManifestNoAuthフィールドを設けてnoneにタイプを設定すれば、認証不要とすることが可能です。必須項目ではないフィールドは多くありませんが、それらを設定することで、細かくオプションを追加することができるでしょう。
OpenAIドキュメントを作成する
OpenAIドキュメントは、外部APIの仕様を記述したファイルのことです。基本的にOpenAIドキュメントには、プラグインがどのエンドポイントにアクセスするのかを定義します。
OpenAIドキュメントには、APIのURLやメソッド、リクエスト/レスポンス形式などの情報を記述します。
プラグインを実装する
プラグインの実装方法に関しては、それぞれの企業や個人でどのようなプラグインを開発するのかが異なります。しかし、実装する際に共通する部分としてChat Completions APIの呼び出しです。そのため、Chat Completions APIの呼び出し方法について解説していきます。
はじめに、下記のようにOpenAIクラスをインポートしてOpenAIのクラスのインスタンスを作成します。
【OpenAIのクラスのインポート及びクラスのインスタンス化の例】
from openai import OpenAI
client = OpenAI()
また、completionsメソッドを読み出し、チャットを作成します。
【チャットの作成】
completion = client.chat.completions.create(
model=”gpt-4o-mini”,
messages=[
{“role”: “system”, “content”: “You are a poetic assistant, skilled in explaining complex programming concepts with creative flair.”},
{“role”: “user”, “content”: “Compose a poem that explains the concept of recursion in programming.”}
]
)
completionsメソッドでは、モデルを指定したり、システムメッセージやユーザーメッセージを定義したりします。
その後、completionオブジェクトからメッセージを取り出します。
【メッセージの取り出し】
completion.choices[0].message
以上がChatGPTへメッセージを送信する手順からメッセージを受け取る手順になります。基本的にプラグインでは、レスポンスデータに対して加工をしていくため、ここまでの手順は共通していることが多いです。
テストをする
ChatGPTのプラグインが実装できたら、次はテストを行います。テストをすることで、イメージ通りの動きをするのかをチェックすることが可能です。また、実行時エラーなどを見つけることもできるため、公開後のバグの発生を防ぐことができます。
ChatGPTのプラグインは、Developer Portal上でテストが可能です。想定した入力に対して意図した回答が返ってくるか確認するようにしましょう。
また、必要に応じてコードの修正やマニュアルの見直しを行ってください。
ストアに公開する
最後に、ストアに公開をします。
実際にストアに公開する際は、OpenAIの審査をパスする必要があります。そして、公開されるとChatGPTの公式ストアからプラグインを利用することができるでしょう。
ChatGPTのプラグインを開発する際の注意点
これからChatGPTのプラグインを開発する企業や個人は、あらかじめ注意点を把握しておくのがおすすめです。ここでは、具体的にどのような点に注意して開発すればいいのか解説しますので、興味がある方は、ぜひ参考にしてください。
OpenAIのガイドラインを遵守する
1つ目の注意点は、OpenAIのガイドラインに遵守することです。
OpenAIはChatGPTのプラグインを開発する人に対してガイドラインを提供しています。ガイドラインには、使用許可された表現や技術の説明が含まれており、開発者はこのガイドラインを遵守しなければなりません。もし、ガイドラインに違反してしまった場合、プラグインの公開停止だけでなく、OpenAIアカウントの利用停止になる可能性もあるため、十分に注意する必要があります。
ChatGPTの公式パートナーではないことを明確に表明する
2つ目の注意点は、ChatGPTの公式パートナーではないことを明確に表明しなければならないという点です。
ChatGPTを使用するユーザーがOpenAIの製品と混合しないようにプラグインやサービスがOpenAIの公式パートナーではないことを表明する必要があります。簡単にいえば、自身が開発したプラグインは、OpenAIの製品ではないことを示さなければなりません。
また、ChatGPTによって生成されたテキストや画像を公開する際、明示的な属性の追加は必要ありません。例えば、ChatGPTによって生成された画像を記事等で使用するとき、『OpenAIによって生成された画像』といった明示は不要です。
プラグイン名など慎重に選定し、誤解を生む表現は避ける
3つ目の注意点は、プラグイン名などを慎重に選定し、誤解を生む表現は避けることです。
プラグイン名やサービス名は、OpenAIのブランドイメージに影響を与える可能性があります。そのため、慎重に選定しなければなりません。
また、OpenAIのモデルや技術に関して正確ではない情報を提供したり、混乱を招く表現を使用したりすると利用規約違反になるので、注意が必要です。
ChatGPTを制御したり、不要なときに利用を促したりしない
4つ目の注意点は、ChatGPTを制御したり、不要なときに利用を促したりしないことです。
ChatGPTは、プラグインに対して適切なレスポンスを生成するように設計されているため、ChatGPTの気分や性格、具体的なレスポンスを自身に合わせて制御することは好ましくありません。また、プラグインの使用を求めていないユーザーに対して開発したプラグインの使用を促す行為は禁止されています。さらに、プラグインを使用するための特定のトリガーを記述することも好ましくありません。基本的に、ChatGPTは適切なときに自動でプラグインを使用するように設計されているため、特定の条件を満たしたらプラグインを使用するというようなトリガーを設定すると利用規約違反になります。
ChatGPTのプラグイン開発事例2選
企業や個人の中には、すでにChatGPTのプラグインを開発して業務等で利用しているところも少なくありません。ここでは、実際にChatGPTのプラグインの開発事例について紹介します。開発事例をチェックすることで、業務やサービスの中でどのようにChatGPTのプラグインを活用しているのかがわかるので、ぜひ参考にしてください。
株式会社カカクコム
1つ目の事例は、株式会社カカクコムです。価格.comや食べログなどのサービスを展開する企業として知られています。
カカクコムは、食べログChatGPTプラグインを提供しています。食べログChatGPTプラグインは、ChatGPTに対して希望のエリアや料理ジャンル、予約したい時間や人数を指定するだけでネット予約の空席のある店舗を探すことが体験できるプラグインです。また、店舗を探せるだけでなく、ChatGPTの検索結果から食べログに移動してネット予約を完了することもできます。実際に、カカクコムが開発した食べログChatGPTプラグインは、日本初の取り組みとしてさまざまなメディアで取り上げられています。
食べログChatGPTプラグインは、開発する際に法務部門で規約の法務リスクを洗い出し、対策している点が大きな特徴です。例えば、個人情報管理のリスクやサービス提供の規約定義、セキュリティ調整など、万が一トラブルが起こったときでも柔軟に対応できるように開発されています。
Expedia
Expediaは、アジアにおいて多くの人に利用されているオンライン旅行サイトです。旅行者がホテルや航空券、レンタカー、クルーズ、アクティビティなどを検索・比較・予約できるサービスとなります。
そして、Expediaは旅行計画に必要な情報を提供するために、Expediaプラグインを提供しています。Expediaプラグインを使用すれば、Expediaと会話をしながら旅行を計画することが可能です。また、ユーザーはホテルの宿泊施設や航空券などの情報を取得することができます。
Expediaプラグインは、旅行計画をするユーザーを支援するために開発されたプラグインです。旅行計画を立てるユーザーのパートナーのような役割を担い、Expediaプラグインを活用することで、さまざまな情報を収集しながら自分に最適な旅行を契約ができるので、その点が大きなメリットです。
まとめ
今回は、ChatGPTのプラグインの開発方法について詳しく解説しました。OpenAIはChatGPTのプラグインを開発する人に向けてクイックスタートガイドを提供しています。実際にそれをチェックすれば、具体的な開発方法を知ることができます。そのため、これから早速開発を進めたいという方は、公式の情報も活用するのがおすすめです。また、ChatGPTのプラグインの開発にはプログラミングに関するスキルなどが必要になるため、自社で対応できないという方は、システム会社への委託を検討しましょう。
ホームページ制作・システム開発を依頼したい企業様がいたら
株式会社クラウドシードでは、各種ホームページ制作やシステム開発のご相談を承っています。
ご検討の方は、以下よりお気軽にご相談ください。