fix: update TestPrompt and improve error handling in channel test

This commit is contained in:
Laisky.Cai 2025-02-08 07:15:53 +00:00
parent 2552c68249
commit 18e789fc05
2 changed files with 13 additions and 8 deletions

View File

@ -163,4 +163,4 @@ var UserContentRequestProxy = env.String("USER_CONTENT_REQUEST_PROXY", "")
var UserContentRequestTimeout = env.Int("USER_CONTENT_REQUEST_TIMEOUT", 30) var UserContentRequestTimeout = env.Int("USER_CONTENT_REQUEST_TIMEOUT", 30)
var EnforceIncludeUsage = env.Bool("ENFORCE_INCLUDE_USAGE", false) var EnforceIncludeUsage = env.Bool("ENFORCE_INCLUDE_USAGE", false)
var TestPrompt = env.String("TEST_PROMPT", "Print your model name exactly and do not output without any other text.") var TestPrompt = env.String("TEST_PROMPT", "2 + 2 = ?")

View File

@ -131,24 +131,28 @@ func testChannel(ctx context.Context, channel *model.Channel, request *relaymode
logger.SysLog(string(jsonData)) logger.SysLog(string(jsonData))
requestBody := bytes.NewBuffer(jsonData) requestBody := bytes.NewBuffer(jsonData)
c.Request.Body = io.NopCloser(requestBody) c.Request.Body = io.NopCloser(requestBody)
resp, err := adaptor.DoRequest(c, meta, requestBody) var resp *http.Response
resp, err = adaptor.DoRequest(c, meta, requestBody)
if err != nil { if err != nil {
return "", err, nil return "", err, nil
} }
if resp != nil && resp.StatusCode != http.StatusOK { if resp != nil && resp.StatusCode != http.StatusOK {
err := controller.RelayErrorHandler(resp) wrappedErr := controller.RelayErrorHandler(resp)
errorMessage := err.Error.Message errorMessage := wrappedErr.Error.Message
if errorMessage != "" { if errorMessage != "" {
errorMessage = ", error message: " + errorMessage errorMessage = ", error message: " + errorMessage
} }
return "", fmt.Errorf("http status code: %d%s", resp.StatusCode, errorMessage), &err.Error err = fmt.Errorf("http status code: %d%s", resp.StatusCode, errorMessage)
return "", err, &wrappedErr.Error
} }
usage, respErr := adaptor.DoResponse(c, resp, meta) usage, respErr := adaptor.DoResponse(c, resp, meta)
if respErr != nil { if respErr != nil {
return "", fmt.Errorf("%s", respErr.Error.Message), &respErr.Error err = fmt.Errorf("%s", respErr.Error.Message)
return "", err, &respErr.Error
} }
if usage == nil { if usage == nil {
return "", errors.New("usage is nil"), nil err = errors.New("usage is nil")
return "", err, nil
} }
rawResponse := w.Body.String() rawResponse := w.Body.String()
_, responseMessage, err = parseTestResponse(rawResponse) _, responseMessage, err = parseTestResponse(rawResponse)
@ -157,7 +161,8 @@ func testChannel(ctx context.Context, channel *model.Channel, request *relaymode
} }
result := w.Result() result := w.Result()
// print result.Body // print result.Body
respBody, err := io.ReadAll(result.Body) var respBody []byte
respBody, err = io.ReadAll(result.Body)
if err != nil { if err != nil {
return "", err, nil return "", err, nil
} }