Partilhar via


Simular a API 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. Quando você trabalha 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. A utilização de respostas simuladas permite-lhe evitar incorrer em custos desnecessários. O OpenAIMockResponsePlugin usa um modelo de idioma local em execução em sua máquina para simular respostas da API OpenAI do Azure.

Antes de começar

Para simular respostas da API OpenAI do Azure usando o Proxy de Desenvolvimento, você precisa de um cliente de modelo de linguagem suportado instalado em sua máquina.

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 idioma no arquivo de configuração do Proxy de Desenvolvimento.

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

Gorjeta

Os passos descritos neste tutorial estão disponíveis numa pré-configuração de Proxy Dev pronta a usar. Para usar a predefinição, na linha de comando, execute devproxy config get simulate-azure-openaie siga as instruções.

Para simular respostas da API do Azure OpenAI usando o Proxy de Desenvolvimento, é necessário ativar o OpenAIMockResponsePlugin no arquivo devproxyrc.json.

{
  "$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 intercetar solicitações para a API do Azure OpenAI. Para simplificar, use caracteres universais para intercetar solicitações em todas as implementaçõ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 devproxy. O Proxy de Desenvolvimento verifica se pode acessar o modelo de linguagem no Ollama e confirma que está pronto para simular 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 do Azure OpenAI. O Dev Proxy interceta 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 para uma solicitação à API do Azure OpenAI.

Próximo passo

Saiba mais sobre o OpenAIMockResponsePlugin.

Exemplos

Consulte também os exemplos relacionados de Dev Proxy: