|
|
@@ -22,8 +22,10 @@ func GetAndValidateRequest(c *gin.Context, format types.RelayFormat) (request dt
|
|
|
case types.RelayFormatOpenAI:
|
|
|
request, err = GetAndValidateTextRequest(c, relayMode)
|
|
|
case types.RelayFormatGemini:
|
|
|
- if strings.Contains(c.Request.URL.Path, ":embedContent") || strings.Contains(c.Request.URL.Path, ":batchEmbedContents") {
|
|
|
+ if strings.Contains(c.Request.URL.Path, ":embedContent") {
|
|
|
request, err = GetAndValidateGeminiEmbeddingRequest(c)
|
|
|
+ } else if strings.Contains(c.Request.URL.Path, ":batchEmbedContents") {
|
|
|
+ request, err = GetAndValidateGeminiBatchEmbeddingRequest(c)
|
|
|
} else {
|
|
|
request, err = GetAndValidateGeminiRequest(c)
|
|
|
}
|
|
|
@@ -319,3 +321,12 @@ func GetAndValidateGeminiEmbeddingRequest(c *gin.Context) (*dto.GeminiEmbeddingR
|
|
|
}
|
|
|
return request, nil
|
|
|
}
|
|
|
+
|
|
|
+func GetAndValidateGeminiBatchEmbeddingRequest(c *gin.Context) (*dto.GeminiBatchEmbeddingRequest, error) {
|
|
|
+ request := &dto.GeminiBatchEmbeddingRequest{}
|
|
|
+ err := common.UnmarshalBodyReusable(c, request)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ return request, nil
|
|
|
+}
|