Megosztás a következőn keresztül:


GenericRandomErrorPlugin

A hibás fájlból véletlenszerűen kiválasztott hibával rendelkező kérelmek meghiúsulnak.

Parancssor képernyőképe, amelyen a Dev Proxy szimulálja az OpenAI API-kérések egyik hibáját a konfigurációs fájlban definiált módon.

Példa konfigurációra

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.2.0/rc.schema.json",
  "plugins": [
    {
      "name": "GenericRandomErrorPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "genericRandomErrorPlugin"
    }
  ],
  "urlsToWatch": [
    "https://api.openai.com/*"
  ],
  "genericRandomErrorPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.2.0/genericrandomerrorplugin.schema.json",
    "errorsFile": "errors.json"
  }
}

Konfigurációs tulajdonságok

Ingatlan Leírás Alapértelmezett
errorsFile A hibaválaszokat tartalmazó fájl elérési útja. Nincs alapértelmezett
rate A sikertelen kérelmek százalékos aránya véletlenszerű hibával. 0 és 100 közötti érték. 50
retryAfterInSeconds A kérés újrapróbálkozása előtt várandó másodpercek száma. A dinamikus szabályozás Retry-After válaszfejlécén található. 5

Parancssori beállítások

Név Leírás Alapértelmezett
-f, --failure-rate <failure rate> A sikertelen kérelmek százalékos aránya véletlenszerű hibával. 0 és 100 közötti érték. 50

Megjegyzések

Válaszonkénti Retry-After értékek

Alapértelmezés szerint a fejléc a Retry-After globális retryAfterInSeconds értéket használja. Ezt az értéket válaszonként felülbírálhatja a @dynamic=N hibaválasz-fájl szintaxisával, ahol N az újrapróbálkozás előtt várandó másodpercek száma.

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.2.0/genericrandomerrorplugin.errorsfile.schema.json",
  "errors": [
    {
      "request": {
        "url": "https://api.openai.com/*"
      },
      "responses": [
        {
          "statusCode": 429,
          "headers": [
            {
              "name": "Retry-After",
              "value": "@dynamic=17"
            }
          ],
          "body": {
            "error": {
              "message": "Rate limit exceeded. Wait 17 seconds."
            }
          }
        }
      ]
    }
  ]
}

Ebben a példában a Retry-After fejléc a globális retryAfterInSeconds beállítástól függetlenül másodperceket használ 17 ehhez a válaszhoz. Az érték az egyszerű jogkivonathoz @dynamic hasonlóan minden további szabályozott kérésen növekszik.

Következő lépés