Sdílet prostřednictvím


Simulace rozhraní API Azure OpenAI

Při vytváření aplikací připojených k Azure OpenAI často komunikuje jenom část aplikace s rozhraním API Azure OpenAI. Když pracujete na částech aplikace, které nevyžadují skutečné odpovědi z rozhraní API Azure OpenAI, můžete simulovat odpovědi pomocí dev proxy serveru. Použití simulovaných odpovědí vám umožní vyhnout se zbytečným nákladům. Používá OpenAIMockResponsePlugin místní jazykový model běžící na vašem počítači k simulaci odpovědí z rozhraní Azure OpenAI API.

Než začnete

Chcete-li simulovat odpovědi rozhraní API Azure OpenAI pomocí Dev Proxy, potřebujete na svém počítači nainstalovaného klienta podporovaného jazykového modelu .

Ve výchozím nastavení používá Dev Proxy jazykový model llama3.2 běžící na jazyku Ollama. Chcete-li použít jiného klienta nebo model, aktualizujte nastavení jazykového modelu v konfiguračním souboru Dev Proxy.

Konfigurace dev proxy serveru pro simulaci odpovědí rozhraní API Azure OpenAI

Návod

Kroky popsané v tomto kurzu jsou k dispozici v přednastavení pro vývojový proxy server připravený k použití. Pokud chcete použít předvolbu, spusťte devproxy config get simulate-azure-openaina příkazovém řádku a postupujte podle pokynů.

Pokud chcete simulovat odpovědi rozhraní API Azure OpenAI pomocí dev proxy serveru, musíte v OpenAIMockResponsePlugin souboru povolit devproxyrc.json.

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

Dále nakonfigurujte Dev Proxy tak, aby zachycovali požadavky na rozhraní API Azure OpenAI. Pro zjednodušení používejte zástupné znaky k interceptování požadavků na všechna nasazení.

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

Nakonec nakonfigurujte Dev Proxy tak, aby používal místní jazykový model.

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

Úplný konfigurační soubor vypadá takto.

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

Simulace odpovědí rozhraní API Azure OpenAI

Za předpokladu výchozí konfigurace spusťte Ollama s jazykovým modelem llama3.2. Na příkazovém řádku spusťte ollama run llama3.2příkaz .

Potom spusťte Dev Proxy. Pokud použijete předvolbu, spusťte devproxy -c "~appFolder/config/simulate-azure-openai/simulate-azure-openai.jsonpříkaz . Pokud používáte vlastní konfigurační soubor s názvem devproxyrc.json, uložený v aktuálním pracovním adresáři, spusťte devproxypříkaz . Dev Proxy zkontroluje, jestli má přístup k jazykovému modelu na Ollamě, a potvrdí, že je připravený simulovat odpovědi rozhraní 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

Spusťte aplikaci a proveďte požadavky na rozhraní API Azure OpenAI. Dev Proxy zachytí požadavky a simuluje odpovědi pomocí místního jazykového modelu.

Snímek obrazovky s příkazovým řádkem se simulací odpovědi dev Proxy pro požadavek na rozhraní API Azure OpenAI

Další krok

Přečtěte si další informace o OpenAIMockResponsePlugin.

Ukázky

Projděte si také související ukázky dev proxy serveru: