Condividi tramite


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. Utilizza OpenAIMockResponsePlugin un modello linguistico locale per simulare le risposte dall'API OpenAI.

Prima di iniziare

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

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-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/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. 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/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
  }
}

Simulare le risposte dell'API OpenAI

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 usi la preimpostazione, esegui devproxy -c "~appFolder/config/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 di poter accedere al modello linguistico su Ollama e conferma che è pronto a simulare le risposte API di 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: