次の方法で共有


Azure OpenAI API をシミュレートする

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

開始する前に

開発プロキシを使用して Azure OpenAI API 応答をシミュレートするには、コンピューターに Ollama がインストールされている必要があります。 Ollama をインストールするには、 Ollama ドキュメントの指示に従います

既定では、開発プロキシは phi-3 言語モデルを使用します。 別のモデルを使用するには、開発プロキシ構成ファイルの model プロパティ を更新します。

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

ヒント

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

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

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

次に、Azure OpenAI API への要求をインターセプトするように開発プロキシを構成します。 わかりやすくするために、ワイルドカードを使用してすべてのデプロイへの要求をインターセプトします。

{
  // [...] trimmed for brevity
  "urlsToWatch": [
    "https://*.openai.azure.com/openai/deployments/*/completions*"
  ]
}

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

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

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

{
  "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.0/rc.schema.json",
  "plugins": [
    {
      "name": "OpenAIMockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll"
    }
  ],
  "urlsToWatch": [
    "https://*.openai.azure.com/openai/deployments/*/completions*"
  ],
  "languageModel": {
    "enabled": true
  }
}

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

phi-3 言語モデルで Ollama を開始します。 コマンド ラインで、 ollama run phi3を実行します。

次に、開発プロキシを起動します。 プリセットを使用する場合は、 devproxy -c "~appFolder/presets/simulate-azure-openai/simulate-azure-openai.jsonを実行します。 現在の作業ディレクトリに格納されている devproxyrc.json という名前のカスタム構成ファイルを使用する場合は、 devproxy実行します。 開発プロキシは、Ollama 言語モデルにアクセスできることを確認し、Azure 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

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

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

次のステップ

OpenAIMockResponsePlugin の詳細を確認します。

サンプル

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