Apidog Docs
🇯🇵 日本語
  • 🇺🇸 English
  • 🇯🇵 日本語
HomeLearning CenterSupport CenterAPI References
HomeLearning CenterSupport CenterAPI References
Discord Community
Slack Community
X / Twitter
🇯🇵 日本語
  • 🇺🇸 English
  • 🇯🇵 日本語
  1. ベストプラクティス
  • Apidog学習センター
  • はじめに
    • Apidog紹介
    • Apidog基本操作
      • 概要
      • 新しい APIを作成
      • APIにリクエストを送信
      • アサーションを追加
      • テストシナリオを作成
      • APIドキュメントを共有
      • さらなる探究
      • リクエストを送信してAPIとして保存
    • Apidog基本知識
      • Apidog操作方法
      • Apidogの基本概念
    • 移行
      • 概要
      • 手動インポート
      • 定期インポート
      • インポートオプション
      • データのエクスポート
      • Import from...
        • Postman からインポート
        • OpenAPI(Swagger)仕様のインポート
        • cURLのインポート
        • Markdownのインポート
        • Insomniaからのインポート
        • apiDocからのインポート
        • .harファイルのインポート
        • WSDLのインポート
  • API設計
    • 概要
    • コンポーネント
    • 常用フィールド
    • グローバルパラメータ
    • API変更履歴
    • プロジェクトの作成
    • 一括API管理
    • APIの基本
    • 複数のリクエストボディ例の設定
    • Schemas
      • 概要
      • 新規Schemaの作成
      • スキーマを構築する
      • JSONなどからのSchema生成
    • Security schemes
      • 概要
      • Security Schemeの作成
      • Security Schemeの使用
      • オンラインドキュメントにおけるSecurity Scheme
    • 高度な機能
      • APIをテストステップとしてインポート
      • パラメータリストの表示形式
      • APIのカスタムフィールド
      • APIのステータス
      • API固有識別子
  • API開発 & デバッグ
    • 概要
    • リクエストの生成
    • リクエストの送信
    • コード生成機能
    • APIケース
    • 動的な値
    • レスポンス検証
    • 設計優先 & リクエスト優先
    • 環境 & 変数
      • 概要
      • 環境とサービス
      • 変数の使い方
    • Vault secrets
      • 概要
      • AWS Secrets Manager
      • Azure Key Vault
      • HashiCorp Vault
    • 前/後処理
      • 概要
      • Wait
      • 変数の抽出
      • アサーション
      • データベース操作
        • 概要
        • MySQL
        • MongoDB
        • Redis
        • Oracle クライアント
      • スクリプト利用
        • 概要
        • 前処理スクリプト
        • 後処理スクリプト
        • Postmanスクリプトリファレンス
        • 共通スクリプト
        • 他のプログラミング言語の呼び出し
        • JSライブラリの使用
        • レスポンスの可視化
        • スクリプトの例
          • その他の例
          • スクリプトを使用したリクエストメッセージの変更
          • スクリプトでの変数の使用
          • アサーションスクリプト
    • 動的値モジュール
  • APIモックデータ
    • 概要
    • スマートMock
    • カスタムMock
    • Mockの優先順位
    • Mockスクリプト
    • クラウドMock
    • セルフホストランナーMock
    • Mock言語 (ロケール)
  • 自動テスト
    • 概要
    • テストレポート
    • テストシナリオ
      • テストシナリオの作成
      • 他のプロジェクトからAPI/APIケースをインポートする
      • リクエスト間でデータを渡す
      • API/APIケースからのデータ同期
      • フロー制御条件
      • テストシナリオのエクスポート
    • テストシナリオ実行
      • データ駆動型テスト
      • スケジュールタスク
      • テストシナリオを一括実行する
      • 他のプロジェクトのAPIの実行環境を管理する
      • テストシナリオを実行する
    • APIテスト
      • 統合テスト
      • 回帰テスト
      • エンドツーエンド(E2E)テスト
      • パフォーマンステスト
    • Apidog CLI
      • 概要
      • Apidog CLIのインストールと実行
      • Apidog CLI オプション
    • CI/CD
      • 概要
      • Jenkinsとの連携
      • Gitlabとの統合
  • APIドキュメント公開
    • 概要
    • Google AnalyticsとDoc Sitesの連携
    • CORS プロキシ
    • クイック共有
    • 可視性設定
    • ドキュメントURLに値を埋め込む
    • APIドキュメントを表示する
    • フォルダツリー設定
    • SEO設定
    • カスタムレイアウト
    • ドキュメント検索
    • カスタムドメイン
    • ドキュメントサイトの公開
    • LLM最適化機能
    • APIバージョン
      • 概要
      • APIバージョンの作成
      • APIバージョンの公開
      • APIバージョンごとにAPIの共有
  • リクエスト送信
    • 概要
    • GraphQL
    • gRPC
    • WebSocket
    • SSEデバッグ
    • SOAP/Webサービス
    • デバッグ用のリクエストプロキシエージェントを使用する
    • Socket.IO
    • リクエスト作成
      • リクエストの基本
      • パラメータとボディ
      • リクエストヘッダー
      • リクエスト設定
      • HTTP/2
      • リクエスト履歴
    • 認証と認可
      • 概要
      • CAとクライアント証明書
      • Apidogがサポートする認可タイプ
      • Digest Auth
      • OAuth 1.0
      • OAuth 2.0
      • Hawk Authentication
      • Kerberos
      • NTLM
      • Akamai EdgeGrid
    • レスポンスとクッキー
      • 概要
      • ApidogのAPIレスポンス
      • Cookieの作成と送信
      • リクエストのデバッグ
      • リクエストをAPIとして保存
  • ブランチ管理
    • 概要
    • 新しいスプリントブランチの作成
    • スプリントブランチの管理
    • ブランチ内でのAPIテスト
    • ブランチでAPIの設計
    • スプリントブランチのマージ
  • Apidog MCP Server
    • 概要
    • Apidogプロジェクト内のAPI仕様をApidog MCPサーバー経由でAIに接続する
    • Apidogが公開したオンラインAPIドキュメントをApidog MCPサーバー経由でAIに接続する
    • Apidog MCPサーバーを介してOpenAPIファイルをAIに接続する
  • ベストプラクティス
    • ガイド:ChatGPT APIのトークンとコスト計算
    • Apidog コラボレーションワークフロー
    • API署名の取り扱い方法
    • Apidogでの認証状態の管理
    • OAuth 2.0で保護されたAPIにアクセスする方法
  • 管理
    • オンボーディングチェックリスト
      • 基本概念
      • Apidogスタートアップガイド
    • チーム管理
      • チーム管理
      • チームメンバーの管理
      • メンバーの役割と権限設定
      • チーム活動
      • チームリソース
        • 一般ランナー
        • チーム変数
        • リクエストプロキシエージェント
        • データベース接続
      • リアルタイムコラボレーション
        • チームコラボレーション
    • プロジェクト管理
      • プロジェクト管理
      • プロジェクトメンバーの管理
      • 通知設定
    • 組織管理
      • シングルサインオン(SSO)
        • 概要
        • Microsoft Entra IDの設定
        • Okta設定
        • 組織のSSOを設定する
        • チームへのグループのマッピング
        • ユーザーアカウントの管理
      • SCIMプロビジョニング
        • SCIMプロビジョニング入門
        • Microsoft Entra ID
        • Okta
      • 組織リソース
        • セルフホストランナー
  • 請求情報
    • 概要
    • プランのアップグレード
    • クレジット
    • クレジットカードが使えない?
    • サブスクリプションの管理
  • データ & セキュリティ
    • Apidogのデータはどこに保存され、データセキュリティはどのように確保されていますか?
    • ユーザーデータはどのように保存されますか?このデータは公開されますか?それともプライベートですか?すべてのデータはクラウドに保存されますか?
    • リクエストを送信する際、Apidogサーバーを経由しますか?データセキュリティは確保されていますか?
  • アドオン
    • API Hub
    • Apidog IntelliJ IDEA プラグイン
    • リクエストプロキシ
      • Apidogウェブでのリクエストプロキシ
      • 共有ドキュメントでのリクエストプロキシ
      • Apidogクライアントでのリクエストプロキシ
    • ブラウザ拡張機能
      • Microsoft Edge
      • Chrome
  • アカウント & 設定
    • アカウント設定
    • OpenAPIアクセストークンの生成
    • 言語設定
    • ホットキー
    • ネットワークプロキシ設定
    • データバックアップ
    • Apidogの更新
    • アカウント削除
    • 試験的な機能
  • 参考資料
    • Swagger拡張機能
    • Socket通信:パケットの分断と結合
    • 用語の説明
    • よくある質問
    • API-デザインファーストアプローチ
    • Apidog OpenAPI/Swagger仕様拡張
    • JSONPath
    • XPath
    • 正規表現
    • JSONスキーマ
    • CSVファイルフォーマット
    • Java環境のインストール
    • ランナーのデプロイ環境
    • ApidogフレーバーMarkdown
  1. ベストプラクティス

ガイド:ChatGPT APIのトークンとコスト計算

ChatGPT APIは、文字単位でレスポンスを返すServer-Sent Events:サーバー送信イベント(SSE)をサポートしています。SSEはHTTPプロトコルに基づくリアルタイム通信技術で、大規模言語モデル(LLM) APIのテストシナリオで一般的に使用されています。
開発者はしばしば、SSEイベントを連結し、トークン数と推定コストを計算する必要があります。この記事では、特定のAIアプリケーションのテストを例に取り、入力と出力の文字数を自動的にトークン値に変換し、1回のAPIテストセッション中にリアルタイムでコストの推定額を計算する方法を示します。

前提条件#

テストプロセス中に消費するトークンを計算する前に、大規模モデルプロバイダの課金条件を理解する必要があります。プロセスに使用されたトークン数を記録し、OpenAIの料金表によって相応の通貨に変換する必要があります。
GPTの料金.png
この記事では、日本円(JPY)を例として使用しています。
したがって、APIテスト中の質問応答のコストを計算するには、次の2つのステップが含まれます:
1. 入力と出力のトークン数を計算する。
2. リアルタイム為替レートを使用して、消費トークンの料金を日本円に変換する。

トークン数変換ライブラリ#

コンテンツを正確にトークン値に変換するには、サードパーティのトークン変換ライブラリが必要です。次の例では、APIテストプロセス中に入力/出力データをトークン数に変換するために、OpenAI GPT Token Counterライブラリを使用しています。
まず、JSファイルを作成して、次のコードを入れます:
Node.js コード:
Node.jsスクリプトの名前をgpt-tokens-counter.jsに変更し、他のプログラミング言語の呼び出しセクションで説明されているように、Apidogの外部プログラムディレクトリに保存します。
そして、OpenAI GPT Token Counterをパソコンにインストールする必要があります。このパッケージを次のコマンドでインストールできます。

リアルタイム為替レートAPI#

入力と出力のトークン値を取得した後、リアルタイム為替レートAPIを使用して、消費したトークンの料金を日本円(JPY)に変換する必要があります。この記事では、リアルタイム為替レートを取得するために Currencylayer APIを呼び出します。ここからアカウント登録してAPIキーを取得できます。

入力のコスト#

入力値をトークンに変換#

入力値は、ユーザーがAIアプリケーションにリクエストを発行するときに入力する質問やプロンプトと理解できます。 そのため、リクエストのbodyからmessagesパラメータのcontent内容を抽出し、カスタムスクリプトを前処理に追加すると、それをトークン値に変換できます。
token-2.jpeg
前処理セクションで、入力値をトークンに変換するため、カスタムScriptを追加する必要があります:
「送信」ボタンをクリックすると、入力値から変換されたトークンの推定値がコンソールに表示されます。
入力に必要なトークン数

トークンを実際の消費額(JPY)への変換#

入力から消費されたトークンの値を取得した後、リアルタイム為替レートAPIを使用して、USDからJPYへの為替レーどを取得する必要があります。前処理に次のスクリプトを追加します:

レスポンスのコスト#

レスポンスの連結#

APIから返されたレスポンスのContent-Typeパラメータにtext/event-streamが含まれる場合、Apidogは自動的に返されたデータをSSEイベントとして解析します。通常、SSEイベントの各返り値には断片的な文字(通常1文字)しか含まれていません。この場合、返されたすべてのコンテンツを完全な文に連結する必要があります。
token-4.png
API定義の後処理に移動し、レスポンスコンテンツを抽出し連結を完了するカスタムスクリプトを追加します。
レスポンスの連結用の後処理のスクリプト
リクエスト後、コンソールで完全なレスポンスコンテンツを取得できます。
token-5.png

レスポンス内容をトークン値への変換#

完全なレスポンス内容を取得した後、サードパーティのライブラリを使用してそれをトークン値に変換する必要があります。後処理に次のカスタムScriptを追加すると、Apidogが外部のgpt-tokens-counter.jsスクリプト(具体的なスクリプトは「前提条件」の「トークン数変換ライブラリ」部分までご参照)を呼び出してトークン値を取得できます。

レスポンスの実際コスト(JPY)#

入力値に消費したトークン値のコストと同様に、レスポンスの実際コスト(JPY)はトークン値に為替レートを乗算することで取得できます。
後処理に次のスクリプトを追加します:

合計コストの推定値#

最後に、入力とレスポンスのコストを足すと、合計コストの推定値が取得されます。加算用のカスタムスクリプトを後処理に追加しましょう。
これにより、APIのテストプロセス中に現在のリクエストの実際コストの推定値を知ることができるようになります。
token-6.jpeg
Modified at 2025-01-20 08:21:59
Previous
Apidog MCPサーバーを介してOpenAPIファイルをAIに接続する
Next
Apidog コラボレーションワークフロー
Built with