GASHIRA-BLOG

ChatGPTのAPIとPluginについて (LT会実施)

公開日: 2023年10月4日

最終更新日: 2023年10月4日

はじめに

社内のLT会で使用した資料をmarkdownで作成していて、それに修正を加えているため、箇条書きでの記載が多くあります。

ChatGPTとは何か?

ChatGPTは、OpenAI社が公開した人工知能チャットボットです。GPT-4の公開とともに、ChatGPTには新たにPluginという機能が追加されました。

GPTについて

GPT(Generative Pre-trained Transformer)は、OpenAI社が開発した言語モデルで、人間のように自然な文章を生成することができます。GPT-3ではテキストを元に文章を予測し、生成することができます。さらに、GPT-4では画像なども元にして画像の説明などを生成することも可能です。

GPTの得意なことと苦手なこと

得意なこと

  • 自然な文章の生成
  • これまでの対話を参考にした文章生成

苦手なこと

  • 正確な情報の生成
  • 新しい情報を使用した専門的な文章の生成

ChatGPTの活用事例

ChatGPTはさまざまな用途で活用できます。以下はその一部です。

  • サイトのコンテンツ生成
  • 簡単なプログラミングタスクの補助
  • クイズの作成

ChatGPTの柔軟性と能力を活かして、様々なタスクに応用することができます。これからのAI技術の進化に期待が高まります。

ChatGPT APIについて

ChatGPTの拡張機能の一つにAPIという機能があります。以下ではAPIの、使用例、料金体系について説明します。

ChatGPT APIについて > APIとは?

ChatGPTのAPIは、REST APIの設計で実装されています。これにより、各社のサービスからChatGPTが提供する機能を利用できます。例えば、SlackやGoogle SpreadsheetからもChatGPTを使用できるようになります。

ChatGPT APIについて > 使用例

以下はChatGPT APIの使用例です。

  • ChatPlus
    • オンラインお問い合わせを実装できるSaaSサービス
    • 企業独自の回答文生成に少ないトレーニングデータでも利用
  • Manual Force
    • Webマニュアル自動作成サービス
    • マニュアル文章の自動生成
  • Parame Recruit
    • 採用時のリファレンスチェックサービス
    • リファレンスチェック時の質問内容の自動生成

ChatGPT APIについて > 料金体系 - 1

料金は2023/06あたりでの情報となります。

ChatGPT APIの料金体系はトークンあたりの従量課金制です。

GPT-3.5 Turbo

  • 入力: $0.0015 / 1Kトークン(1000トークンあたり$0.0015)
  • 出力: $0.002 / 1Kトークン(1000トークンあたり$0.002)

トークンは英語の1単語を1トークンとして計算され、記号なども1トークンとしてカウントされます。日本語の場合、1文字が1トークン以上にカウントされることが多く、ひらがなは1トークン、漢字は2、3トークンで計算されることがあります。

ChatGPT APIについて > 料金体系 - 2

また、ChatGPTを使用する際にこれまでのやり取りを参考にする場合は、それらのやりとりもトークン数に含める必要があり、料金が増加します。そのため、直前の2メッセージだけを渡すなどの工夫が必要です。また、英語に翻訳してからChatGPTに渡すという手法も考えられます。

ChatGPT Pluginについて

ChatGPT Pluginは、ChatGPTの拡張機能の一つで、以下について説明します。
Pluginとは何か、ChatGPTプラグインの特徴、使用例、利用料金について。

ChatGPT Pluginについて > Pluginとは?

プラグインは、通常「拡張機能」とも呼ばれ、サービスやアプリケーションを拡張するための機能です。具体的には、ウェブブラウザのChrome拡張機能などがこれに該当します。

ChatGPT Pluginについて > ChatGPTプラグインの特徴

ChatGPTプラグインの特徴は以下の通りです:

  • ChatGPTをサードパーティのアプリと連携させる機能
  • プラグインを導入することで、ChatGPTを通じて外部サービスを利用できる

ChatGPT Pluginについて > ChatGPTプラグインの使用例

ChatGPTプラグインの使用例として以下のようなものがあります:

  • 食べログ
    • ChatGPTの自然言語処理能力を利用して、食べログで予約可能なレストランの空席情報を簡単に検索
  • Now
    • TwitterやGoogleでのトレンドをChatGPTを介して検索
  • Kakaku.com
    • 価格.comの情報を元に、さまざまな商品の価格を比較

ChatGPT Pluginについて > ChatGPTプラグインの利用料金

ChatGPTプラグイン自体は無料ですが、プラグインを使用するにはChatGPTの有料プランに加入する必要があります。月額$20(約¥3,000)程度の費用がかかります。

APIとPluginの違い

APIとPluginは、どちらも拡張機能ですが、主体となるサービスやアプリケーションが異なる点があります。

主体の違い

APIでは外部サービスが主体となり、外部の機能を組み込む側にChatGPTが利用されます。一方、PluginではChatGPTが主体となり、ChatGPTを中心に外部サービスやアプリケーションの機能を提供します。

この違いにより、APIとPluginは異なる用途や利用シナリオで分かれます。どちらを選ぶかは、具体的なニーズや目的に応じて決定する必要があります。

ChatGPT APIの実装ステップ

ChatGPT APIを実装するためのステップを以下に示します:

1. 使用するAPIを確認

ChatGPTを活用するために、APIリファレンスを確認しましょう。Node.jsの場合、npmを使用して必要なモジュールをインストールできます。

2. ChatGPTのAPIキーを取得

ChatGPT APIを使用するには、OpenAIのウェブサイトからChatGPTのAPIキーを取得します。次の画像のようになります。

APIキー取得

3. 課金(初回クレジットあり)

ChatGPT APIを利用するにはクレジットが必要です。Billingメニューからクレジットを購入できます。初回には$5のクレジットが付与されますが、有効期限は3ヶ月です。

クレジット購入

4. ChatGPT APIの呼び出しを実装

ChatGPT APIの実装に関しては、サンプルリポジトリに参考コードが用意されています。必要なライブラリをインポートし、APIキーとメッセージのリクエストボディを設定してAPIを呼び出します。

APIの呼び出し

5. Chat APIの仕様を確認

ChatGPT APIを活用する際には、APIの仕様について詳細に確認しましょう。具体的なリクエストボディの仕様は以下の通りです

Req body type 説明
messages.role string system, user, assistant, function
messages.content string テキスト内容

以上がChatGPT APIの実装に関するステップです。これに従ってAPIを実装し、ChatGPTを効果的に活用しましょう。

ChatGPT Plugin の仕組みを知る

ChatGPT Pluginを活用するためには、いくつかのステップを踏む必要があります。

Plugin開発について

Developer登録申請

ChatGPT Pluginを開発・使用するためには、まずDeveloperとしての登録申請が必要です。

プラグインとして使用するREST APIの実装

プラグインとしてChatGPTに機能を追加するために、REST APIを実装する必要があります。

openapi.jsonの作成(生成)

プラグインの仕様を記述したopenapi.jsonファイルを作成または生成します。このファイルはプラグインのインターフェースを定義します。

マニフェストファイルの作成

プラグインのマニフェストファイルを作成します。このファイルにはプラグインの基本情報やAPIの仕様などが含まれます。

以下はマニフェストファイルのパラメータについての解説です:

パラメータ 説明
schema_version string マニフェストファイルのバージョン
name_for_model string ChatGPTのためのプラグイン名
name_for_human string 人間のためのプラグイン名
description_for_model string ChatGPTのためのプラグイン説明
description_for_human string 人間のためのプラグイン説明
api Object openapi.json(yaml)のURL

これらのステップに従って、ChatGPT Pluginの仕組みを理解し、自身のプラグインを開発・カスタマイズしてみましょう。

以上です。