Compartilhar via


Simular a API do OpenAI do Azure

Quando você cria aplicativos conectados ao Azure OpenAI, muitas vezes, apenas uma parte do aplicativo interage com a API do Azure OpenAI. Ao trabalhar nas partes do aplicativo que não exigem respostas reais da API OpenAI do Azure, você pode simular as respostas usando o Proxy de Desenvolvimento. O uso de respostas simuladas permite evitar custos desnecessários. O OpenAIMockResponsePlugin usa um modelo de idioma local em execução em seu computador para simular respostas da API OpenAI do Azure.

Antes de começar

Para simular as respostas da API OpenAI do Azure usando o Proxy de Desenvolvimento, você precisa de um cliente de modelo de linguagem com suporte instalado em seu computador.

Por padrão, o Dev Proxy usa o modelo de linguagem llama3.2 em execução no Ollama. Para usar um cliente ou modelo diferente, atualize as configurações do modelo de linguagem no arquivo de configuração do Proxy de Desenvolvimento.

Configurar o Proxy de Desenvolvimento para simular as respostas da API OpenAI do Azure

Dica

As etapas descritas neste tutorial estão disponíveis em uma predefinição de Proxy de Desenvolvimento pronta para uso. Para usar a predefinição, na linha de comando, execute devproxy config get simulate-azure-openaie siga as instruções.

Para simular as respostas da API OpenAI do Azure usando o Proxy de Desenvolvimento, você precisa habilitar o OpenAIMockResponsePlugindevproxyrc.json no arquivo.

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

Em seguida, configure o Proxy de Desenvolvimento para interceptar solicitações para a API OpenAI do Azure. Para simplificar, use curingas para interceptar solicitações para todas as implantações.

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

Por fim, configure o Dev Proxy para usar um modelo de idioma local.

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

O arquivo de configuração completo tem esta aparência.

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

Simular respostas da API OpenAI do Azure

Assumindo a configuração padrão, inicie o Ollama com o modelo de linguagem llama3.2. Na linha de comando, execute ollama run llama3.2.

Em seguida, inicie o Dev Proxy. Se você usar a predefinição, execute devproxy -c "~appFolder/config/simulate-azure-openai/simulate-azure-openai.json. Se você usar um arquivo de configuração personalizado chamado devproxyrc.json, armazenado no diretório de trabalho atual, execute devproxyo . O Proxy de Desenvolvimento verifica se ele pode acessar o modelo de linguagem no Ollama e confirma que está pronto para simular as respostas da API OpenAI do Azure.

 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

Execute seu aplicativo e faça solicitações para a API OpenAI do Azure. O Dev Proxy intercepta as solicitações e simula as respostas usando o modelo de idioma local.

Captura de tela de um prompt de comando com o Proxy de Desenvolvimento simulando a resposta de uma solicitação para a API do OpenAI do Azure.

Próxima etapa

Saiba mais sobre o OpenAIMockResponsePlugin.

Exemplos

Confira também os exemplos relacionados do Dev Proxy: