spring-projects/spring-ai · warning
No moderation response returned for request: + mistralAiMode
Error message
No moderation response returned for request: + mistralAiModerationRequest
What it means
Warning logged by MistralAiModerationModel.convertResponse() when the moderation endpoint's ResponseEntity body is null. The model returns a ModerationResponse wrapping null results instead of throwing, so callers receive a moderation result with no flags/scores — dangerous if the application treats this as 'content is safe'.
Source
Thrown at models/spring-ai-mistral-ai/src/main/java/org/springframework/ai/mistralai/moderation/MistralAiModerationModel.java:89
public ModerationResponse call(ModerationPrompt moderationPrompt) {
return RetryUtils.execute(this.retryTemplate, () -> {
var instructions = moderationPrompt.getInstructions().getText();
var model = ModelOptionsUtils.mergeOption(moderationPrompt.getOptions().getModel(),
this.options.getModel());
var moderationRequest = new MistralAiModerationRequest(instructions, model);
var moderationResponseEntity = this.mistralAiModerationApi.moderate(moderationRequest);
return convertResponse(moderationResponseEntity, moderationRequest);
});
}
private ModerationResponse convertResponse(ResponseEntity<MistralAiModerationResponse> moderationResponseEntity,
MistralAiModerationRequest mistralAiModerationRequest) {
var moderationApiResponse = moderationResponseEntity.getBody();
if (moderationApiResponse == null) {
if (logger.isWarnEnabled()) {
logger.warn("No moderation response returned for request: " + mistralAiModerationRequest);
}
return new ModerationResponse(null);
}
var moderationResults = Stream.of(moderationApiResponse.results())
.map(MistralAiModerationModel::convertModerationResult)
.toList();
var moderation = Moderation.builder()
.id(moderationApiResponse.id())
.model(moderationApiResponse.model())
.results(moderationResults)
.build();
return new ModerationResponse(new Generation(moderation));
}
private static ModerationResult convertModerationResult(MistralAiModerationResult mistralAiModerationResult) {View on GitHub (pinned to 98a7beda4f)
Solutions
- Verify your Mistral account/plan actually exposes the moderation endpoint and the model is available.
- Check API key validity and inspect the raw HTTP response with an interceptor.
- Treat ModerationResponse with null results as an indeterminate outcome, not as 'safe', in your content pipeline.
- Confirm spring-ai-mistral-ai version compatibility with the current Mistral moderation API.
Example fix
// before
ModerationResponse mr = moderationModel.call(new MistralAiModerationRequest(text));
boolean safe = mr.getResults().isEmpty(); // wrong: null-body means indeterminate
// after
boolean safe = mr.getResults() != null && !mr.getResults().isEmpty()
&& mr.getResults().get(0).isFlagged() == false; Defensive patterns
Strategy: type-guard
Type guard
static boolean isIndeterminate(ModerationResponse r) {
return r == null || r.getResults() == null || r.getResults().isEmpty();
} Try / catch
ModerationResponse mr = moderationModel.call(req);
if (isIndeterminate(mr)) {
throw new IllegalStateException("Moderation unavailable — do NOT treat as safe");
} Prevention
- Fail closed: treat null moderation results as unsafe/indeterminate
- Verify your Mistral plan includes the moderation endpoint
- Add integration tests asserting non-null moderation results
When it happens
Trigger: convertResponse() receives moderationResponseEntity with getBody() == null — empty body from the Mistral moderation API after the request executed.
Common situations: Mistral moderation endpoint unavailable on the account/plan; API key or quota problems; incorrect baseUrl (moderation API not supported by the target endpoint); Mistral API changes breaking response shape.
Related errors
- No chat completion returned for prompt: + prompt
- No embeddings returned for request: + request
- No moderation response returned
- Unknown message type:
- Unsupported tool message class:
AI-assisted analysis of spring-projects/spring-ai@98a7beda4f (2026-09-11).
Data as JSON: /api/errors/ab13da37eef17ebc.
Report an issue: GitHub.