共用方式為


模擬 OpenAI API

當您建置連線至 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 會攔截要求,並使用本機語言模型模擬回應。

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

後續步驟

深入瞭解 OpenAIMockResponsePlugin。

範例

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