Skip to content

Latest commit

 

History

History
111 lines (83 loc) · 4.07 KB

simulate-azure-openai.md

File metadata and controls

111 lines (83 loc) · 4.07 KB
title description author ms.author ms.date
Simulate Azure OpenAI API
How to simulate Azure OpenAI API
waldekmastykarz
wmastyka
04/15/2025

Simulate Azure OpenAI API

When you build apps connected to Azure OpenAI, often, only a portion of the app interacts with the Azure OpenAI API. When you work on the portions of the app that don't require real replies from Azure OpenAI API, you can simulate the responses using Dev Proxy. Using simulated responses allows you to avoid incurring unnecessary costs. The OpenAIMockResponsePlugin uses a local language model running on your machine to simulate responses from Azure OpenAI API.

Before you start

To simulate Azure OpenAI API responses using Dev Proxy, you need a supported language model client installed on your machine.

By default, Dev Proxy uses the llama3.2 language model running on Ollama. To use a different client or model, update the language model settings in the Dev Proxy configuration file.

Configure Dev Proxy to simulate Azure OpenAI API responses

Tip

Steps described in this tutorial are available in a ready-to-use Dev Proxy preset. To use the preset, in command line, run devproxy preset get simulate-azure-openai, and follow the instructions.

To simulate Azure OpenAI API responses using Dev Proxy, you need to enable the OpenAIMockResponsePlugin in the devproxyrc.json file.

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

Next, configure Dev Proxy to intercept requests to Azure OpenAI API. For simplicity, use wildcards to intercept requests to all deployments.

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

Finally, configure Dev Proxy to use a local language model.

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

The complete configuration file looks like this.

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.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
  }
}

Simulate Azure OpenAI API responses

Assuming the default configuration, start Ollama with the llama3.2 language model. In the command line, run ollama run llama3.2.

Next, start Dev Proxy. If you use the preset, run devproxy -c "~appFolder/presets/simulate-azure-openai/simulate-azure-openai.json. If you use a custom configuration file named devproxyrc.json, stored in the current working directory, run devproxy. Dev Proxy checks that it can access the language model on Ollama and confirms that it's ready to simulate Azure OpenAI API responses.

 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

Run your application and make requests to the Azure OpenAI API. Dev Proxy intercepts the requests and simulates responses using the local language model.

:::image type="content" source="../media/openai-mock-response-plugin.png" alt-text="Screenshot of a command prompt with Dev Proxy simulating response for a request to Azure OpenAI API." lightbox="../media/openai-mock-response-plugin.png":::

Next step

Learn more about the OpenAIMockResponsePlugin.

[!div class="nextstepaction"] OpenAIMockResponsePlugin

Samples

See also the related Dev Proxy samples: