다음을 통해 공유


임의오류플러그인 (GenericRandomErrorPlugin)

모의 오류가 포함된 파일에서 임의로 선택한 오류가 있는 요청에 실패합니다.

구성 파일에 정의된 OpenAI API 요청에 대한 오류 중 하나를 시뮬레이션하는 개발자 프록시가 있는 명령 프롬프트의 스크린샷

구성 예제

{
  "$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"
  }
}

구성 속성

재산 묘사 기본값
errorsFile 오류 응답이 포함된 파일의 경로입니다. 기본값 없음
rate 임의 오류로 실패할 요청의 비율입니다. 0에서 100 사이의 값입니다. 50
retryAfterInSeconds 요청을 다시 시도하기 전에 대기할 시간(초)입니다. 동적 제한에 대한 Retry-After 응답 헤더에 포함됩니다. 5

명령줄 옵션

이름 묘사 기본값
-f, --failure-rate <failure rate> 임의 오류로 실패할 요청의 비율입니다. 0에서 100 사이의 값입니다. 50

비고

응답 Retry-After 별 값

기본적으로 헤더는 Retry-After 전역 retryAfterInSeconds 값을 사용합니다. 오류 응답 파일의 구문을 사용하여 @dynamic=N 응답별로 이 값을 재정의할 수 있습니다. 다시 N 시도하기 전에 대기할 시간(초)입니다.

{
  "$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."
            }
          }
        }
      ]
    }
  ]
}

이 예제에서 헤더는 Retry-After 전역 retryAfterInSeconds 설정에 관계없이 이 응답에 초를 사용합니다17. 일반 토큰과 마찬가지로 후속 제한 요청마다 값이 @dynamic 증가합니다.

다음 단계