次の方法で共有


OpenAI API をシミュレートする

OpenAI に接続されているアプリをビルドする場合、多くの場合、アプリの一部のみが OpenAI API と対話します。 OpenAI API からの実際の応答を必要としないアプリの部分で作業する場合は、開発プロキシを使用して応答をシミュレートできます。 シミュレートされた応答を使用すると、不要なコストが発生しないようにすることができます。 この OpenAIMockResponsePlugin は、ローカル言語モデルを使用して、OpenAI API からの応答をシミュレートします。

開始する前に

Dev Proxy を使用して OpenAI API レスポンスをシミュレートするには、 サポートされている言語モデルクライアント をマシンにインストールする必要があります。

デフォルトでは、Dev Proxy は Olllama上で動作する llama3.2 言語モデルを使用します。 別のクライアントまたはモデルを使用するには、Dev Proxy 設定ファイルの 言語モデル設定 を更新します。

OpenAI API 応答をシミュレートするように開発プロキシを構成する

ヒント

このチュートリアルで説明する手順は、すぐに使用できる開発プロキシ プリセットで使用できます。 プリセットを使用するには、コマンド ラインで devproxy preset get simulate-openai実行し、指示に従います。

開発プロキシを使用して OpenAI API 応答をシミュレートするには、OpenAIMockResponsePlugin ファイルでdevproxyrc.jsonを有効にする必要があります。

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.29.1/rc.schema.json",
  "plugins": [
    {
      "name": "OpenAIMockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    }
  ]
}

次に、OpenAI API への要求をインターセプトするように開発プロキシを構成します。 OpenAI では、 https://api.openai.com/v1/chat/completions エンドポイントを使用することをお勧めします。これにより、最新のモデルと機能を利用できます。

{
  // [...] trimmed for brevity
  "urlsToWatch": [
    "https://api.openai.com/v1/chat/completions"
  ]
}

最後に、ローカル言語モデルを使用するように開発プロキシを構成します。

{
  // [...] trimmed for brevity
  "languageModel": {
    "enabled": true
  }
}

完全な構成ファイルは次のようになります。

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.29.1/rc.schema.json",
  "plugins": [
    {
      "name": "OpenAIMockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    }
  ],
  "urlsToWatch": [
    "https://api.openai.com/v1/chat/completions"
  ],
  "languageModel": {
    "enabled": true
  }
}

OpenAI API 応答をシミュレートする

デフォルトの構成を想定して、llama3.2 言語モデルで Ollama を起動します。 コマンド ラインで、 ollama run llama3.2を実行します。

次に、開発プロキシを起動します。 プリセットを使用する場合は、 devproxy -c "~appFolder/presets/simulate-openai/simulate-openai.jsonを実行します。 現在の作業ディレクトリに格納されている devproxyrc.json という名前のカスタム構成ファイルを使用する場合は、 devproxy実行します。 Dev Proxy は、Ollama 上の言語モデルにアクセスできることを確認し、OpenAI API 応答をシミュレートする準備ができていることを確認します。

 info    OpenAIMockResponsePlugin: Checking language model availability...
 info    Listening on 127.0.0.1:8000...

Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy

アプリケーションを実行し、OpenAI API に要求を行います。 開発プロキシは、要求をインターセプトし、ローカル言語モデルを使用して応答をシミュレートします。

OpenAI API への要求に対する応答をシミュレートする開発プロキシを含むコマンド プロンプトのスクリーンショット。

次のステップ

OpenAIMockResponsePlugin の詳細を確認します。

サンプル

関連する開発プロキシのサンプルも参照してください。