當您建置連線至 OpenAI 的應用程式時,通常只有部分應用程式會與 OpenAI API 互動。 當您處理不需要 OpenAI API 實際回覆的應用程式部分時,您可以使用 Dev Proxy 來模擬回應。 使用仿真的回應可讓您避免產生不必要的成本。 它使用 OpenAIMockResponsePlugin 本地語言模型來類比來自 OpenAI API 的回應。
在您開始之前
要使用 Dev Proxy 類比 OpenAI API 回應,您需要在電腦上安裝 受支援的語言模型用戶端 。
默認情況下,Dev Proxy 使用在 Ollama 上運行的 llama3.2 語言模型。 要使用其他用戶端或模型,請更新 Dev Proxy 配置檔中的 語言模型設置 。
設定開發 Proxy 以模擬 OpenAI API 回應
提示
此教學中的步驟可適用於即用型的 Dev Proxy 預設。 若要使用預設,請在命令行中執行 devproxy config get simulate-openai,然後遵循指示。
若要使用 Dev Proxy 模擬 OpenAI API 回應,您必須在 OpenAIMockResponsePlugin 檔案中啟用 devproxyrc.json 。
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
"plugins": [
{
"name": "OpenAIMockResponsePlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
}
]
}
接下來,設定開發代理為攔截 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/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
"plugins": [
{
"name": "OpenAIMockResponsePlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
}
],
"urlsToWatch": [
"https://api.openai.com/v1/chat/completions"
],
"languageModel": {
"enabled": true
}
}
模擬 OpenAI API 回應
假設預設配置,使用 llama3.2 語言模型啟動 Ollama。 在命令列中,執行 ollama run llama3.2。
接下來,啟動 Dev Proxy。 如果您使用預設,請執行 devproxy -c "~appFolder/config/simulate-openai/simulate-openai.json。 如果您使用名為 devproxyrc.json的自訂組態檔,儲存在目前工作目錄中,請執行 devproxy。 Dev 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 範例: