Jelajahi Sumber

[ML] Remove InferenceServiceResults#transformToLegacyFormat (#125924)

David Kyle 6 bulan lalu
induk
melakukan
fc933d436a

+ 1 - 14
server/src/main/java/org/elasticsearch/inference/InferenceServiceResults.java

@@ -24,25 +24,12 @@ public interface InferenceServiceResults extends NamedWriteable, ChunkedToXConte
 
     /**
      * <p>Transform the result to match the format required for the TransportCoordinatedInferenceAction.
-     * For the inference plugin TextEmbeddingResults, the {@link #transformToLegacyFormat()} transforms the
-     * results into an intermediate format only used by the plugin's return value. It doesn't align with what the
-     * TransportCoordinatedInferenceAction expects. TransportCoordinatedInferenceAction expects an ml plugin
-     * TextEmbeddingResults.</p>
-     *
-     * <p>For other results like SparseEmbeddingResults, this method can be a pass through to the transformToLegacyFormat.</p>
+     * TransportCoordinatedInferenceAction expects an ml plugin TextEmbeddingResults or SparseEmbeddingResults.</p>
      */
     default List<? extends InferenceResults> transformToCoordinationFormat() {
         throw new UnsupportedOperationException("transformToCoordinationFormat() is not implemented");
     }
 
-    /**
-     * Transform the result to match the format required for versions prior to
-     * {@link org.elasticsearch.TransportVersions#V_8_12_0}
-     */
-    default List<? extends InferenceResults> transformToLegacyFormat() {
-        throw new UnsupportedOperationException("transformToLegacyFormat() is not implemented");
-    }
-
     /**
      * Convert the result to a map to aid with test assertions
      */

+ 1 - 5
x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/inference/action/InferenceAction.java

@@ -580,12 +580,8 @@ public class InferenceAction extends ActionType<InferenceAction.Response> {
 
         @Override
         public void writeTo(StreamOutput out) throws IOException {
-            if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_12_0)) {
-                out.writeNamedWriteable(results);
-            } else {
-                out.writeNamedWriteable(results.transformToLegacyFormat().get(0));
-            }
             // streaming isn't supported via Writeable yet
+            out.writeNamedWriteable(results);
         }
 
         @Override

+ 0 - 5
x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/inference/results/ChatCompletionResults.java

@@ -68,11 +68,6 @@ public record ChatCompletionResults(List<Result> results) implements InferenceSe
         return results;
     }
 
-    @Override
-    public List<? extends InferenceResults> transformToLegacyFormat() {
-        throw new UnsupportedOperationException();
-    }
-
     public List<Result> getResults() {
         return results;
     }

+ 0 - 5
x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/inference/results/RankedDocsResults.java

@@ -196,11 +196,6 @@ public class RankedDocsResults implements InferenceServiceResults {
         throw new UnsupportedOperationException("Coordination format not supported by " + NAME);
     }
 
-    @Override
-    public List<? extends InferenceResults> transformToLegacyFormat() {
-        throw new UnsupportedOperationException("Legacy format not supported by " + NAME);
-    }
-
     @Override
     public Map<String, Object> asMap() {
         Map<String, Object> map = new LinkedHashMap<>();

+ 0 - 5
x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/inference/results/SparseEmbeddingResults.java

@@ -100,11 +100,6 @@ public record SparseEmbeddingResults(List<Embedding> embeddings) implements Embe
 
     @Override
     public List<? extends InferenceResults> transformToCoordinationFormat() {
-        return transformToLegacyFormat();
-    }
-
-    @Override
-    public List<? extends InferenceResults> transformToLegacyFormat() {
         return embeddings.stream()
             .map(
                 embedding -> new TextExpansionResults(

+ 0 - 10
x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/inference/results/TextEmbeddingBitResults.java

@@ -83,16 +83,6 @@ public record TextEmbeddingBitResults(List<TextEmbeddingByteResults.Embedding> e
             .toList();
     }
 
-    @Override
-    @SuppressWarnings("deprecation")
-    public List<? extends InferenceResults> transformToLegacyFormat() {
-        var legacyEmbedding = new LegacyTextEmbeddingResults(
-            embeddings.stream().map(embedding -> new LegacyTextEmbeddingResults.Embedding(embedding.toFloatArray())).toList()
-        );
-
-        return List.of(legacyEmbedding);
-    }
-
     public Map<String, Object> asMap() {
         Map<String, Object> map = new LinkedHashMap<>();
         map.put(TEXT_EMBEDDING_BITS, embeddings);

+ 0 - 10
x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/inference/results/TextEmbeddingByteResults.java

@@ -85,16 +85,6 @@ public record TextEmbeddingByteResults(List<Embedding> embeddings) implements Te
             .toList();
     }
 
-    @Override
-    @SuppressWarnings("deprecation")
-    public List<? extends InferenceResults> transformToLegacyFormat() {
-        var legacyEmbedding = new LegacyTextEmbeddingResults(
-            embeddings.stream().map(embedding -> new LegacyTextEmbeddingResults.Embedding(embedding.toFloatArray())).toList()
-        );
-
-        return List.of(legacyEmbedding);
-    }
-
     public Map<String, Object> asMap() {
         Map<String, Object> map = new LinkedHashMap<>();
         map.put(TEXT_EMBEDDING_BYTES, embeddings);

+ 0 - 10
x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/inference/results/TextEmbeddingFloatResults.java

@@ -122,16 +122,6 @@ public record TextEmbeddingFloatResults(List<Embedding> embeddings) implements T
         return embeddings.stream().map(embedding -> new MlTextEmbeddingResults(TEXT_EMBEDDING, embedding.asDoubleArray(), false)).toList();
     }
 
-    @Override
-    @SuppressWarnings("deprecation")
-    public List<? extends InferenceResults> transformToLegacyFormat() {
-        var legacyEmbedding = new LegacyTextEmbeddingResults(
-            embeddings.stream().map(embedding -> new LegacyTextEmbeddingResults.Embedding(embedding.values)).toList()
-        );
-
-        return List.of(legacyEmbedding);
-    }
-
     public Map<String, Object> asMap() {
         Map<String, Object> map = new LinkedHashMap<>();
         map.put(TEXT_EMBEDDING, embeddings);

+ 0 - 10
x-pack/plugin/inference/src/internalClusterTest/java/org/elasticsearch/xpack/inference/rest/ServerSentEventsRestActionListenerTests.java

@@ -194,11 +194,6 @@ public class ServerSentEventsRestActionListenerTests extends ESIntegTestCase {
             return List.of();
         }
 
-        @Override
-        public List<? extends InferenceResults> transformToLegacyFormat() {
-            return List.of();
-        }
-
         @Override
         public Map<String, Object> asMap() {
             return Map.of();
@@ -283,11 +278,6 @@ public class ServerSentEventsRestActionListenerTests extends ESIntegTestCase {
             return List.of();
         }
 
-        @Override
-        public List<? extends InferenceResults> transformToLegacyFormat() {
-            return List.of();
-        }
-
         @Override
         public Map<String, Object> asMap() {
             return Map.of();

+ 0 - 5
x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/response/elastic/ElasticInferenceServiceAuthorizationResponseEntity.java

@@ -154,11 +154,6 @@ public class ElasticInferenceServiceAuthorizationResponseEntity implements Infer
         throw new UnsupportedOperationException("Not implemented");
     }
 
-    @Override
-    public List<? extends InferenceResults> transformToLegacyFormat() {
-        throw new UnsupportedOperationException("not implemented");
-    }
-
     @Override
     public Map<String, Object> asMap() {
         throw new UnsupportedOperationException("Not implemented");

+ 0 - 58
x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/action/InferenceActionResponseTests.java

@@ -22,9 +22,6 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
-import static org.elasticsearch.TransportVersions.V_8_12_0;
-import static org.elasticsearch.xpack.core.inference.action.InferenceAction.Response.transformToServiceResults;
-
 public class InferenceActionResponseTests extends AbstractBWCWireSerializationTestCase<InferenceAction.Response> {
 
     @Override
@@ -58,61 +55,6 @@ public class InferenceActionResponseTests extends AbstractBWCWireSerializationTe
 
     @Override
     protected InferenceAction.Response mutateInstanceForVersion(InferenceAction.Response instance, TransportVersion version) {
-        if (version.before(V_8_12_0)) {
-            var singleResultList = instance.getResults().transformToLegacyFormat().subList(0, 1);
-            return new InferenceAction.Response(transformToServiceResults(singleResultList));
-        }
-
         return instance;
     }
-
-    public void testSerializesInferenceServiceResultsAddedVersion() throws IOException {
-        var instance = createTestInstance();
-        var copy = copyWriteable(instance, getNamedWriteableRegistry(), instanceReader(), V_8_12_0);
-        assertOnBWCObject(copy, instance, V_8_12_0);
-    }
-
-    public void testSerializesOpenAiAddedVersion_UsingLegacyTextEmbeddingResult() throws IOException {
-        var embeddingResults = LegacyMlTextEmbeddingResultsTests.createRandomResults().transformToTextEmbeddingResults();
-        var instance = new InferenceAction.Response(embeddingResults);
-        var copy = copyWriteable(instance, getNamedWriteableRegistry(), instanceReader(), V_8_12_0);
-        assertOnBWCObject(copy, instance, V_8_12_0);
-    }
-
-    public void testSerializesOpenAiAddedVersion_UsingSparseEmbeddingResult() throws IOException {
-        var embeddingResults = SparseEmbeddingResultsTests.createRandomResults();
-        var instance = new InferenceAction.Response(embeddingResults);
-        var copy = copyWriteable(instance, getNamedWriteableRegistry(), instanceReader(), V_8_12_0);
-        assertOnBWCObject(copy, instance, V_8_12_0);
-    }
-
-    public void testSerializesMultipleInputsVersion_UsingLegacyTextEmbeddingResult() throws IOException {
-        var embeddingResults = TextEmbeddingFloatResultsTests.createRandomResults();
-        var instance = new InferenceAction.Response(embeddingResults);
-        var copy = copyWriteable(instance, getNamedWriteableRegistry(), instanceReader(), V_8_12_0);
-        assertOnBWCObject(copy, instance, V_8_12_0);
-    }
-
-    public void testSerializesMultipleInputsVersion_UsingSparseEmbeddingResult() throws IOException {
-        var embeddingResults = SparseEmbeddingResultsTests.createRandomResults();
-        var instance = new InferenceAction.Response(embeddingResults);
-        var copy = copyWriteable(instance, getNamedWriteableRegistry(), instanceReader(), V_8_12_0);
-        assertOnBWCObject(copy, instance, V_8_12_0);
-    }
-
-    // Technically we should never see a text embedding result in the transport version of this test because support
-    // for it wasn't added until openai
-    public void testSerializesSingleInputVersion_UsingLegacyTextEmbeddingResult() throws IOException {
-        var embeddingResults = TextEmbeddingFloatResultsTests.createRandomResults();
-        var instance = new InferenceAction.Response(embeddingResults);
-        var copy = copyWriteable(instance, getNamedWriteableRegistry(), instanceReader(), V_8_12_0);
-        assertOnBWCObject(copy, instance, V_8_12_0);
-    }
-
-    public void testSerializesSingleVersion_UsingSparseEmbeddingResult() throws IOException {
-        var embeddingResults = SparseEmbeddingResultsTests.createRandomResults().transformToLegacyFormat().subList(0, 1);
-        var instance = new InferenceAction.Response(transformToServiceResults(embeddingResults));
-        var copy = copyWriteable(instance, getNamedWriteableRegistry(), instanceReader(), V_8_12_0);
-        assertOnBWCObject(copy, instance, V_8_12_0);
-    }
 }