共用方式為


模擬 OpenAI API

當您建置連線至 OpenAI 的應用程式時,通常只有部分應用程式會與 OpenAI API 互動。 當您處理不需要 OpenAI API 實際回覆的應用程式部分時,您可以使用 Dev Proxy 來模擬回應。 使用仿真的回應可讓您避免產生不必要的成本。 OpenAIMockResponsePlugin 使用在 Ollama 執行的本地語言模型來模擬 OpenAI API 的回應。

在您開始之前

若要使用 Dev Proxy 模擬 OpenAI API 回應,您需要在電腦上安裝 Ollama。 若要安裝 Ollama,請遵循 Ollama 檔中指示。

根據預設,Dev Proxy 會使用 phi-3 語言模型。 若要使用不同的模型,請更新 model Dev Proxy組態檔中的屬性

設定開發 Proxy 以模擬 OpenAI API 回應

提示

此教學中的步驟可適用於即用型的 Dev Proxy 預設。 若要使用預設,請在命令行中執行 devproxy preset get simulate-openai,然後遵循指示。

若要使用 Dev Proxy 模擬 OpenAI API 回應,您必須在 OpenAIMockResponsePlugin 檔案中啟用 devproxyrc.json

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.24.0/rc.schema.json",
  "plugins": [
    {
      "name": "OpenAIMockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/dev-proxy-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/v0.24.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

接下來,啟動 Dev Proxy。 如果您使用預設,請執行 devproxy -c "~appFolder/presets/simulate-openai/simulate-openai.json。 如果您使用名為 devproxyrc.json的自訂組態檔,儲存在目前工作目錄中,請執行 devproxy。 開發代理會檢查是否能存取 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 會攔截要求,並使用本機語言模型模擬回應。

命令提示字元的螢幕截圖,顯示開發代理程式正在模擬對 OpenAI API 請求的回應。

後續步驟

深入瞭解 OpenAIMockResponsePlugin。

範例

另請參閱相關的開發 Proxy 範例: