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-openai
i 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.
Następny krok
Dowiedz się więcej o interfejsie OpenAIMockResponsePlugin.
Przykłady
Zobacz również powiązane przykłady serwera proxy deweloperów: