spring-ai icon indicating copy to clipboard operation
spring-ai copied to clipboard

ChatCompletionMessage$Role Serialization Failure When role is ""

Open chansanya opened this issue 9 months ago • 7 comments
trafficstars

Bug description JONS

{"id":"d7ae7c4a-1524-4fe5-9d58-e4d59b89d8f0","object":"chat.completion.chunk","created":1709899323,"model":"step-1-8k","choices":[{"index":0,"delta":{"role":"","content":"跃"},"finish_reason":""}],"usage":{"prompt_tokens":83,"completion_tokens":5,"total_tokens":88}}

Steps to reproduce role is “”

Error Code: ModelOptionsUtils$mapToClass

    public static <T> T mapToClass(Map<String, Object> source, Class<T> clazz) {
        try {
            String json = OBJECT_MAPPER.writeValueAsString(source);
            return OBJECT_MAPPER.readValue(json, clazz);
        } catch (JsonProcessingException var3) {
            JsonProcessingException e = var3;
            throw new RuntimeException(e);
        }
    }

**Solution **

Set at program startup

ModelOptionsUtils.OBJECT_MAPPER.configure(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, true);

chansanya avatar Feb 12 '25 06:02 chansanya