added ai-moderation image and text

This commit is contained in:
SlimusMinus
2026-07-29 00:56:32 +03:00
parent 7899ebcfb0
commit a6fb187212
34 changed files with 708 additions and 8 deletions

View File

@@ -0,0 +1,40 @@
package com.krylov.refound.ai.client;
import com.krylov.refound.ai.dto.ImageModerationResponse;
import com.krylov.refound.ai.exception.AiServerException;
import com.krylov.refound.ai.exception.AiUnavailableException;
import lombok.RequiredArgsConstructor;
import org.springframework.retry.annotation.Backoff;
import org.springframework.retry.annotation.Retryable;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
@Service
@RequiredArgsConstructor
public class ImageModerationClient {
private final AiMultipartHttpClient client;
@Retryable(
retryFor = {
AiUnavailableException.class,
AiServerException.class
},
maxAttempts = 3,
backoff = @Backoff(
delay = 500,
multiplier = 2
)
)
public ImageModerationResponse moderate(
MultipartFile file
) {
return client.post(
"/api/v1/moderation/image",
file,
ImageModerationResponse.class
);
}
}