Compartilhar via


Simular API OpenAI

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

Antes de começar

Para simular as respostas da API OpenAI usando o Dev Proxy, você precisa de um cliente de modelo de linguagem compatível 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 Dev Proxy para simular as respostas da API OpenAI

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-openaie siga as instruções.

Para simular as respostas da API OpenAI usando o Dev Proxy, 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 Dev Proxy para interceptar solicitações para a API OpenAI. A OpenAI recomenda o uso do https://api.openai.com/v1/chat/completions endpoint, que permite que você se beneficie dos modelos e recursos mais recentes.

{
  // [...] trimmed for brevity
  "urlsToWatch": [
    "https://api.openai.com/v1/chat/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://api.openai.com/v1/chat/completions"
  ],
  "languageModel": {
    "enabled": true
  }
}

Simular respostas da API OpenAI

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-openai/simulate-openai.json. Se você usar um arquivo de configuração personalizado chamado devproxyrc.json, armazenado no diretório de trabalho atual, execute devproxyo . O Dev Proxy verifica se ele pode acessar o modelo de linguagem no Ollama e confirma que está pronto para simular as respostas da API OpenAI.

 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. 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 Dev Proxy simulando a resposta de uma solicitação à API OpenAI.

Próxima etapa

Saiba mais sobre o OpenAIMockResponsePlugin.

Exemplos

Confira também os exemplos relacionados do Dev Proxy: