模擬 OpenAI API
當您建置連線至 OpenAI 的應用程式時,通常只有部分應用程式會與 OpenAI API 互動。 當您處理不需要 OpenAI API 實際回覆的應用程式部分時,您可以使用 Dev Proxy 來模擬回應。 使用仿真的回應可讓您避免產生不必要的成本。 會 OpenAIMockResponsePlugin
使用在 Ollama 上執行的本機語言模型來模擬 OpenAI API 的回應。
在您開始使用 Intune 之前
若要使用 Dev Proxy 模擬 OpenAI API 回應,您需要在電腦上安裝 Ollama。 若要安裝 Ollama,請遵循 Ollama 檔中的指示。
根據預設,Dev Proxy 會使用 phi-3 語言模型。 若要使用不同的模型,請更新 model
Dev Proxy組態檔中的屬性 。
設定開發 Proxy 以模擬 OpenAI API 回應
提示
本教學課程中所述的步驟適用於現成可用的開發 Proxy 預設。 若要使用預設,請在命令行中執行 devproxy preset get simulate-openai
,然後遵循指示。
若要使用開發 Proxy 模擬 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"
}
]
}
接下來,將開發 Proxy 設定為攔截 OpenAI API 的要求。 OpenAI 建議使用 https://api.openai.com/v1/chat/completions
端點,這可讓您受益於最新的模型和功能。
{
// [...] trimmed for brevity
"urlsToWatch": [
"https://api.openai.com/v1/chat/completions"
]
}
最後,將 Dev Proxy 設定為使用本機語言模型。
{
// [...] 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://api.openai.com/v1/chat/completions"
],
"languageModel": {
"enabled": true
}
}
模擬 OpenAI API 回應
使用 phi-3 語言模型啟動 Ollama。 在命令列中,執行 ollama run phi3
。
接下來,啟動開發 Proxy。 如果您使用預設,請執行 devproxy -c "~appFolder/presets/simulate-openai/simulate-openai.json
。 如果您使用名為 devproxyrc.json
的自訂組態檔,儲存在目前工作目錄中,請執行 devproxy
。 開發人員 Proxy 會檢查它可以存取 Ollama 語言模型,並確認它已準備好模擬 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
執行您的應用程式,並向OpenAI API提出要求。 Dev Proxy 會攔截要求,並使用本機語言模型模擬回應。
後續步驟
深入瞭解 OpenAIMockResponsePlugin。
範例
另請參閱相關的開發 Proxy 範例: