error.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package textembeddingsinference
  2. import (
  3. "net/http"
  4. "github.com/bytedance/sonic"
  5. "github.com/labring/aiproxy/core/relay/adaptor"
  6. relaymodel "github.com/labring/aiproxy/core/relay/model"
  7. )
  8. type RerankErrorResponse struct {
  9. Error string `json:"error"`
  10. ErrorType string `json:"error_type"`
  11. }
  12. func RerankErrorHanlder(resp *http.Response) adaptor.Error {
  13. defer resp.Body.Close()
  14. errResp := RerankErrorResponse{}
  15. err := sonic.ConfigDefault.NewDecoder(resp.Body).Decode(&errResp)
  16. if err != nil {
  17. return relaymodel.WrapperOpenAIError(
  18. err,
  19. "read_response_body_failed",
  20. http.StatusInternalServerError,
  21. )
  22. }
  23. return relaymodel.WrapperOpenAIErrorWithMessage(
  24. errResp.Error,
  25. errResp.ErrorType,
  26. resp.StatusCode,
  27. )
  28. }
  29. type EmbeddingsErrorResponse struct {
  30. Type string `json:"type"`
  31. Message string `json:"message"`
  32. }
  33. func EmbeddingsErrorHanlder(resp *http.Response) adaptor.Error {
  34. defer resp.Body.Close()
  35. errResp := EmbeddingsErrorResponse{}
  36. err := sonic.ConfigDefault.NewDecoder(resp.Body).Decode(&errResp)
  37. if err != nil {
  38. return relaymodel.WrapperOpenAIError(
  39. err,
  40. "read_response_body_failed",
  41. http.StatusInternalServerError,
  42. )
  43. }
  44. return relaymodel.WrapperOpenAIErrorWithMessage(errResp.Message, errResp.Type, resp.StatusCode)
  45. }