Azure OpenAI API をシミュレートする
Azure OpenAI に接続されたアプリを構築する場合、多くの場合、アプリの一部のみが Azure OpenAI API と対話します。 Azure OpenAI API からの実際の応答を必要としないアプリの部分で作業する場合は、開発プロキシを使用して応答をシミュレートできます。 シミュレートされた応答を使用すると、不要なコストが発生しないようにすることができます。 OpenAIMockResponsePlugin
では、Ollama で実行されているローカル言語モデルを使用して、Azure OpenAI API からの応答をシミュレートします。
開始する前に
開発プロキシを使用して Azure OpenAI API 応答をシミュレートするには、コンピューターに Ollama がインストールされている必要があります。 Ollama をインストールするには、 Ollama ドキュメントの指示に従います。
既定では、開発プロキシは phi-3 言語モデルを使用します。 別のモデルを使用するには、開発プロキシ構成ファイルの model
プロパティ を更新します。
Azure OpenAI API 応答をシミュレートするように開発プロキシを構成する
ヒント
このチュートリアルで説明する手順は、すぐに使用できる開発プロキシ プリセットで使用できます。 プリセットを使用するには、コマンド ラインで devproxy preset get simulate-azure-openai
実行し、指示に従います。
開発プロキシを使用して Azure OpenAI API 応答をシミュレートするには、devproxyrc.json
ファイルでOpenAIMockResponsePlugin
を有効にする必要があります。
{
"$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"
}
]
}
次に、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/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
}
}
Azure OpenAI API 応答をシミュレートする
phi-3 言語モデルで Ollama を開始します。 コマンド ラインで、 ollama run phi3
を実行します。
次に、開発プロキシを起動します。 プリセットを使用する場合は、 devproxy -c "~appFolder/presets/simulate-azure-openai/simulate-azure-openai.json
を実行します。 現在の作業ディレクトリに格納されている devproxyrc.json
という名前のカスタム構成ファイルを使用する場合は、 devproxy
実行します。 開発プロキシは、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