OpenAI platform : ChatGPT プラグイン : イントロダクション (翻訳/解説)
翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 08/08/2023
* 本ページは、以下のドキュメントを翻訳した上で適宜、補足説明したものです:
* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。
- 人工知能研究開発支援
- 人工知能研修サービス(経営者層向けオンサイト研修)
- テクニカルコンサルティングサービス
- 実証実験(プロトタイプ構築)
- アプリケーションへの実装
- 人工知能研修サービス
- PoC(概念実証)を失敗させないための支援
- お住まいの地域に関係なく Web ブラウザからご参加頂けます。事前登録 が必要ですのでご注意ください。
◆ お問合せ : 本件に関するお問い合わせ先は下記までお願いいたします。
- 株式会社クラスキャット セールス・マーケティング本部 セールス・インフォメーション
- sales-info@classcat.com ; Web: www.classcat.com ; ClassCatJP
OpenAI platform : ChatGPT プラグイン : イントロダクション
ChatGPT が貴方の API をインテリジェントに呼び出すことを可能にするプラグインを構築する方法を学習します。
イントロダクション
OpenAI プラグインは ChatGPT をサードパーティのアプリケーションに接続します。これらのプラグインは ChatGPT が開発者により定義された API と相互作用することを可能にし、ChatGPT の機能を強化し、そして広範囲なアクションを実行することを可能にします。
プラグインは ChatGPT が以下のようなことを行なうことを可能にします :
- リアルタイムの情報を取得します : 例えば、スポーツの結果、株価、最新ニュース等。
- 知識ベース情報を取得します ; 例えば、会社のドキュメント、個人的なメモ等。
- ユーザのアクションを支援します ; 例えば、飛行機の予約、食べ物の注文等。
Plugins are in a beta and developer access may not be accessible to you. Please join the waitlist to get developer access. During the beta, we will be working closely with users and developers to iterate on the plugin system, which may evolve significantly.
ドキュメントを読み通しながらサンプルを実行してプラグインについて更に学習したい場合には、プラグイン・クイックスタート・レポジトリ で始めることができます。
プラグイン開発者は、標準化されたマニフェストファイルと OpenAI 仕様を伴う、一つまたはそれ以上の API エンドポイントを公開します。これらはプラグインの機能を定義し、ChatGPT がファイルを消費して開発者定義の API への呼び出しを可能にします。
AI モデルはインテリジェントな API caller として機能します。API 仕様といつ API を使用するかの自然言語記述が与えられたとき、モデルは先を見越して (proactively) アクションを実行するために API を呼び出します。例えば、ユーザーが “Where should I stay in Paris for a couple nights?” と尋ねた場合、モデルはホテル予約プラグイン API を呼び出すことを選択し、API レスポンスを受け取り、そして API データと自然言語機能を組み合わせてユーザ向けの回答を生成するかもしれません。
時間とともに、システムはより進んだユースケースに対応するように進化するものと私たちは期待しています。
プラグインのフロー
プラグインを構築するには、end-to-end なフローを理解することが重要です。
- マニフェスト・ファイルを作成してそれを yourdomain.com/.well-known/ai-plugin.json にホストします。
- このファイルは、プラグインのメタデータ (名前、ロゴ等)、必要な認証の詳細 (認証のタイプ、OAuth URL 等)、そして公開したいエンドポイントの OpenAPI 仕様を含みます。
- モデルは OpenAPI 説明 (description) フィールドを見ます、これは様々なフィールドの自然言語の説明を提供するために使用できます。
- テキストの長さを最小化するために最初はパラメータの最小数で 1-2 のエンドポイントだけを公開することを勧めます。プラグインの説明、API リクエスト、そして API レスポンスはすべて ChatGPT との会話に挿入されます。これはモデルのコンテキスト制限にカウントされます。
- プラグインを ChatGPT UI に登録します。
- トップのドロップダウンからプラグインモデルを選択してから、“Plugins”, “Plugin Store”, そして最後に “Develop your own plugin” を選択します。
- 認証が必要な場合は、OAuth 2 client_id と client_secret または API キーを提供してください。
- ユーザは貴方のプラグインをアクティブにします。
- ユーザは ChatGPT UI で貴方のプラグインを手動でアクティブにする必要があります。(ChatGPT はデフォルトでは貴方のプラグインを使用しません。)
- 貴方のプラグインを 100 の追加ユーザと共有することができます (他の開発者だけが未検証のプラグインをインストールすることができます)。
- OAuth が必要ならば、ユーザは OAuth 経由でサインインするようにプラグインにリダイレクトされます。
- ユーザが会話を開始する。
- OpenAI は貴方のプラグインの簡潔な説明を ChatGPT へのメッセージに注入しますが、エンドユーザには見えません。これはプラグインの説明、エンドポイント、そしてサンプルを含みます。
- ユーザが関連する質問を尋ねたとき、それが関連してそうならば、モデルは貴方のプラグインから API 呼び出しを行なうことを選択する場合があります ; POST リクエストについては、破壊 (destruction) アクションを回避するために開発者はユーザ確認フローを構築することが必要です。
- モデルは API 呼び出しの結果をユーザへのレスポンスに組み込みます。
- モデルは API 呼び出しから返されたリンクをそのレスポンスに含めることがあります。これらはリッチ・プレビューとして表示されます (OpenGraph プロトコル を使用します、そこでは ite_name, title, description, image, そして url フィールドを引き出します)。
- モデルはまた API からのマークダウンのデータもフォーマットすることができて、ChatGPT UI はマークダウンを自動的にレンダリングします。
現在、ユーザの国と州をプラグインの会話ヘッダ内で送っています(例えば貴方がカリフォルニアにいるならば、それは {“openai-subdivision-1-iso-code”: “US-CA”} のようなものです)。これはショッピング、レストラン、天気等のために有用です。開発者利用規約 で更に読むことができます。
Next steps
プラグインの基本を知った今、以下を望むかもしれません :
- Get started building a plugin
- サンプルプラグイン を調べる
- プラグインの製品化 のための重要なステップについて読む
- プラグインのレビュープロセスについて学習する
以上