Simulare l'API OpenAI

Quando si creano app connesse a OpenAI, spesso solo una parte dell'app interagisce con l'API OpenAI. Quando si lavora sulle parti dell'app che non richiedono risposte reali dall'API OpenAI, è 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.

Prima di iniziare

Per simulare le risposte dell'API OpenAI 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

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-openaie seguire le istruzioni.

Per simulare le risposte dell'API OpenAI 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. OpenAI consiglia di usare l'endpoint https://api.openai.com/v1/chat/completions , che consente di trarre vantaggio dai modelli e dalle funzionalità più recenti.

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

Simulare le risposte dell'API OpenAI

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-openai/simulate-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.

 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 ed effettuare richieste all'API OpenAI. Dev Proxy intercetta le richieste e simula le risposte usando il modello linguistico locale.

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

Passaggio successivo

Altre informazioni su OpenAIMockResponsePlugin.

Esempi

Vedere anche gli esempi correlati di Dev Proxy: