Azure OpenAI に接続されたアプリを構築する場合、多くの場合、アプリの一部のみが Azure OpenAI API と対話します。 Azure OpenAI API からの実際の応答を必要としないアプリの部分で作業する場合は、開発プロキシを使用して応答をシミュレートできます。 シミュレートされた応答を使用すると、不要なコストが発生しないようにすることができます。 この OpenAIMockResponsePlugin
では、マシン上で実行されているローカル言語モデルを使用して、Azure OpenAI API からの応答をシミュレートします。
開始する前に
Dev Proxy を使用して Azure OpenAI API 応答をシミュレートするには、 サポートされている言語モデル クライアントが マシンにインストールされている必要があります。
デフォルトでは、Dev Proxy は Olllama上で動作する llama3.2 言語モデルを使用します。 別のクライアントまたはモデルを使用するには、Dev Proxy 設定ファイルの 言語モデル設定 を更新します。
Azure OpenAI API 応答をシミュレートするように開発プロキシを構成する
ヒント
このチュートリアルで説明する手順は、すぐに使用できる開発プロキシ プリセットで使用できます。 プリセットを使用するには、コマンド ラインで devproxy preset get simulate-azure-openai
実行し、指示に従います。
開発プロキシを使用して Azure OpenAI API 応答をシミュレートするには、OpenAIMockResponsePlugin
ファイルでdevproxyrc.json
を有効にする必要があります。
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.29.1/rc.schema.json",
"plugins": [
{
"name": "OpenAIMockResponsePlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
}
]
}
次に、Azure OpenAI API への要求をインターセプトするように開発プロキシを構成します。 わかりやすくするために、すべてのデプロイメントへの要求をインターセプトするためにワイルドカードを使用します。
{
// [...] trimmed for brevity
"urlsToWatch": [
"https://*.openai.azure.com/openai/deployments/*/completions*"
]
}
最後に、ローカル言語モデルを使用するように開発プロキシを構成します。
{
// [...] trimmed for brevity
"languageModel": {
"enabled": true
}
}
完全な構成ファイルは次のようになります。
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.29.1/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
}
}
Azure OpenAI API 応答をシミュレートする
デフォルトの構成を想定して、llama3.2 言語モデルで Ollama を起動します。 コマンド ラインで、 ollama run llama3.2
を実行します。
次に、開発プロキシを起動します。 プリセットを使用する場合は、 devproxy -c "~appFolder/presets/simulate-azure-openai/simulate-azure-openai.json
を実行します。 現在の作業ディレクトリに格納されている devproxyrc.json
という名前のカスタム構成ファイルを使用する場合は、 devproxy
実行します。 Dev Proxy は、Ollama の言語モデルにアクセスできることを確認し、Azure OpenAI API 応答をシミュレートする準備ができていることを確認します。
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
アプリケーションを実行し、Azure OpenAI API に要求を行います。 開発プロキシは、要求をインターセプトし、ローカル言語モデルを使用して応答をシミュレートします。
次のステップ
OpenAIMockResponsePlugin の詳細を確認します。
サンプル
関連する開発プロキシのサンプルも参照してください。
Dev Proxy