diff --git a/spring-ai-model/src/main/java/org/springframework/ai/model/EmbeddingUtils.java b/spring-ai-model/src/main/java/org/springframework/ai/model/EmbeddingUtils.java index 79683df1e64..9a001f57297 100644 --- a/spring-ai-model/src/main/java/org/springframework/ai/model/EmbeddingUtils.java +++ b/spring-ai-model/src/main/java/org/springframework/ai/model/EmbeddingUtils.java @@ -39,7 +39,17 @@ public static List doubleToFloat(final List doubles) { } public static float[] toPrimitive(List floats) { - return toPrimitive(floats.toArray(new Float[floats.size()])); + if (floats == null) { + return null; + } + if (floats.isEmpty()) { + return EMPTY_FLOAT_ARRAY; + } + final float[] result = new float[floats.size()]; + for (int i = 0; i < result.length; i++) { + result[i] = floats.get(i); + } + return result; } public static float[] toPrimitive(final Float[] array) {