Condividi tramite


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. Usa OpenAIMockResponsePlugin un modello di linguaggio locale in esecuzione nel computer per simulare le risposte dall'API Azure OpenAI.

Prima di iniziare

Per simulare le risposte dell'API OpenAI di Azure usando Dev Proxy, è necessario un client del modello linguistico supportato installato nel computer.

Per impostazione predefinita, Dev Proxy utilizza il modello linguistico llama3.2 in esecuzione su Ollama. Per usare un client o un modello diverso, aggiornare le impostazioni del modello di linguaggio nel file di configurazione di Dev Proxy.

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 config 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/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "OpenAIMockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.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/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
  }
}

Simulare le risposte dell'API OpenAI di Azure

Assumendo la configurazione predefinita, avviare Ollama con il modello linguistico llama3.2. Nella riga di comando eseguire ollama run llama3.2.

Avviare quindi Dev Proxy. Se si utilizzano le impostazioni predefinite, eseguire devproxy -c "~appFolder/config/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 sia possibile accedere al modello linguistico in Ollama e conferma che è pronto per simulare le risposte dell'API Azure 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

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: