Simulare l'API OpenAI di Azure

Quando si creano app connesse ad Azure OpenAI, spesso solo una parte dell'app interagisce con l'API OpenAI di Azure. Quando si lavora sulle parti dell'app che non richiedono risposte reali dall'API OpenAI di Azure, è possibile simulare le risposte usando Dev Proxy. L'uso di risposte simulate consente di evitare di incorrere in costi non necessari. OpenAIMockResponsePlugin Usa un modello linguistico locale in esecuzione in Ollama per simulare le risposte dall'API OpenAI di Azure.

Prima di iniziare

Per simulare le risposte dell'API OpenAI di Azure usando Dev Proxy, è necessario che Ollama sia installato nel computer. Per installare Ollama, seguire le istruzioni nella documentazione di Ollama.

Per impostazione predefinita, Dev Proxy usa il modello linguistico phi-3. Per usare un modello diverso, aggiornare la model proprietà nel file di configurazione del proxy di sviluppo.

Configurare il proxy di sviluppo per simulare le risposte dell'API OpenAI di Azure

Suggerimento

I passaggi descritti in questa esercitazione sono disponibili in un set di impostazioni di Dev Proxy pronto per l'uso. Per usare il set di impostazioni, nella riga di comando eseguire devproxy preset get simulate-azure-openaie seguire le istruzioni.

Per simulare le risposte dell'API OpenAI di Azure usando Dev Proxy, è necessario abilitare OpenAIMockResponsePlugin nel devproxyrc.json file .

{
  "$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"
    }
  ]
}

Configurare quindi Dev Proxy per intercettare le richieste all'API OpenAI di Azure. Per semplicità, usare i caratteri jolly per intercettare le richieste a tutte le distribuzioni.

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

Configurare infine Dev Proxy per l'uso di un modello linguistico locale.

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

Il file di configurazione completo è simile al seguente.

{
  "$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
  }
}

Simulare le risposte dell'API OpenAI di Azure

Avviare Ollama con il modello linguistico phi-3. Nella riga di comando eseguire ollama run phi3.

Avviare quindi Dev Proxy. Se si usa il set di impostazioni, eseguire devproxy -c "~appFolder/presets/simulate-azure-openai/simulate-azure-openai.json. Se si usa un file di configurazione personalizzato denominato devproxyrc.json, archiviato nella directory di lavoro corrente, eseguire devproxy. Dev Proxy verifica che possa accedere al modello linguistico Ollama e conferma che è pronto per simulare le risposte dell'API OpenAI di 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

Eseguire l'applicazione e inviare richieste all'API OpenAI di Azure. Dev Proxy intercetta le richieste e simula le risposte usando il modello linguistico locale.

Screenshot di un prompt dei comandi con Dev Proxy che simula la risposta per una richiesta all'API OpenAI di Azure.

Passaggio successivo

Altre informazioni su OpenAIMockResponsePlugin.

Esempi

Vedere anche gli esempi correlati di Dev Proxy: