Jelajahi Sumber

fix: quality, size or style are not supported by xAI API

liusanp 7 bulan lalu
induk
melakukan
c008d391df
2 mengubah file dengan 20 tambahan dan 2 penghapusan
  1. 7 2
      relay/channel/xai/adaptor.go
  2. 13 0
      relay/channel/xai/dto.go

+ 7 - 2
relay/channel/xai/adaptor.go

@@ -28,8 +28,13 @@ func (a *Adaptor) ConvertAudioRequest(c *gin.Context, info *relaycommon.RelayInf
 }
 
 func (a *Adaptor) ConvertImageRequest(c *gin.Context, info *relaycommon.RelayInfo, request dto.ImageRequest) (any, error) {
-	request.Size = ""
-	return request, nil
+	xaiRequest := ImageRequest{
+		Model:          request.Model,
+		Prompt:         request.Prompt,
+		N:              request.N,
+		ResponseFormat: request.ResponseFormat,
+	}
+	return xaiRequest, nil
 }
 
 func (a *Adaptor) Init(info *relaycommon.RelayInfo) {

+ 13 - 0
relay/channel/xai/dto.go

@@ -12,3 +12,16 @@ type ChatCompletionResponse struct {
 	Usage             *dto.Usage `json:"usage"`
 	SystemFingerprint string     `json:"system_fingerprint"`
 }
+
+// quality, size or style are not supported by xAI API at the moment.
+type ImageRequest struct {
+	Model          string          `json:"model"`
+	Prompt         string          `json:"prompt" binding:"required"`
+	N              int             `json:"n,omitempty"`
+	// Size           string          `json:"size,omitempty"`
+	// Quality        string          `json:"quality,omitempty"`
+	ResponseFormat string          `json:"response_format,omitempty"`
+	// Style          string          `json:"style,omitempty"`
+	// User           string          `json:"user,omitempty"`
+	// ExtraFields    json.RawMessage `json:"extra_fields,omitempty"`
+}