Udostępnij za pośrednictwem


Symulowanie interfejsu API usługi Azure OpenAI

Podczas tworzenia aplikacji połączonych z usługą Azure OpenAI często tylko część aplikacji wchodzi w interakcję z interfejsem API azure OpenAI. Gdy pracujesz nad częściami aplikacji, które nie wymagają rzeczywistych odpowiedzi z interfejsu API usługi Azure OpenAI, możesz symulować odpowiedzi przy użyciu serwera proxy deweloperskiego. Korzystanie z symulowanych odpowiedzi pozwala uniknąć ponoszenia niepotrzebnych kosztów. Metoda OpenAIMockResponsePlugin używa lokalnego modelu językowego uruchomionego na platformie Ollama do symulowania odpowiedzi z interfejsu API usługi Azure OpenAI.

Przed rozpoczęciem

Aby zasymulować odpowiedzi interfejsu API usługi Azure OpenAI przy użyciu serwera proxy deweloperskiego, musisz zainstalować narzędzie Ollama na maszynie. Aby zainstalować aplikację Ollama, postępuj zgodnie z instrukcjami w dokumentacji Ollama.

Domyślnie serwer proxy deweloperów używa modelu językowego phi-3. Aby użyć innego modelu, zaktualizuj model właściwość w pliku konfiguracji serwera proxy deweloperów.

Konfigurowanie serwera proxy deweloperskiego w celu symulowania odpowiedzi interfejsu API usługi Azure OpenAI

Napiwek

Kroki opisane w tym samouczku są dostępne wstępnie przygotowanym serwerem proxy deweloperów. Aby użyć ustawienia wstępnego, w wierszu polecenia uruchom polecenie devproxy preset get simulate-azure-openaii postępuj zgodnie z instrukcjami.

Aby symulować odpowiedzi interfejsu API usługi Azure OpenAI przy użyciu serwera proxy deweloperskiego, musisz włączyć element OpenAIMockResponsePlugin w devproxyrc.json pliku.

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

Następnie skonfiguruj serwer proxy deweloperów, aby przechwycić żądania do interfejsu API usługi Azure OpenAI. Dla uproszczenia użyj symboli wieloznacznych, aby przechwycić żądania do wszystkich wdrożeń.

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

Na koniec skonfiguruj serwer proxy deweloperów, aby używał lokalnego modelu językowego.

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

Pełny plik konfiguracji wygląda następująco.

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

Symulowanie odpowiedzi interfejsu API usługi Azure OpenAI

Uruchom Ollama przy użyciu modelu językowego phi-3. W wierszu polecenia uruchom polecenie ollama run phi3.

Następnie uruchom serwer proxy deweloperów. Jeśli używasz ustawienia wstępnego, uruchom polecenie devproxy -c "~appFolder/presets/simulate-azure-openai/simulate-azure-openai.json. Jeśli używasz niestandardowego pliku konfiguracji o nazwie devproxyrc.json, przechowywanego w bieżącym katalogu roboczym, uruchom polecenie devproxy. Serwer proxy deweloperów sprawdza, czy może uzyskać dostęp do modelu języka Ollama i potwierdza, że jest gotowy do symulowania odpowiedzi interfejsu API usługi 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

Uruchom aplikację i wysyłaj żądania do interfejsu API usługi Azure OpenAI. Serwer proxy dewelopera przechwytuje żądania i symuluje odpowiedzi przy użyciu lokalnego modelu językowego.

Zrzut ekranu przedstawiający wiersz polecenia z serwerem proxy deweloperów symulującym odpowiedź na żądanie do interfejsu API usługi Azure OpenAI.

Następny krok

Dowiedz się więcej o interfejsie OpenAIMockResponsePlugin.

Przykłady

Zobacz również powiązane przykłady serwera proxy deweloperów: