All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.sinri.AiOnHttpMix.dashscope.qwen.embedding.DashscopeTextEmbeddingGenerateResponseOutput Maven / Gradle / Ivy

package io.github.sinri.AiOnHttpMix.dashscope.qwen.embedding;

import io.github.sinri.keel.core.json.UnmodifiableJsonifiableEntity;
import io.vertx.core.json.JsonArray;
import io.vertx.core.json.JsonObject;

import java.util.List;

public interface DashscopeTextEmbeddingGenerateResponseOutput extends UnmodifiableJsonifiableEntity {
    static DashscopeTextEmbeddingGenerateResponseOutput wrap(JsonObject jsonObject) {
        return new DashscopeTextEmbeddingGenerateResponseImpl.OutputImpl(jsonObject);
    }

    default List getEmbeddings() {
        List embeddings = readJsonObjectArray("embeddings");
        if (embeddings == null) return null;
        return embeddings.stream().map(Embedding::wrap).toList();
    }

    interface Embedding extends UnmodifiableJsonifiableEntity {
        static Embedding wrap(JsonObject embedding) {
            return new DashscopeTextEmbeddingGenerateResponseImpl.EmbeddingImpl(embedding);
        }

        default Integer getTextIndex() {
            return readInteger("text_index");
        }

        default Tensor getTensor() {
            return Tensor.wrap(readDoubleArray("embedding"));
        }
    }

    interface Tensor {
        static Tensor wrap(List list) {
            return new DashscopeTextEmbeddingGenerateResponseImpl.TensorImpl(list);
        }

        List getDoubleList();

        default JsonArray toJsonArray() {
            return new JsonArray(getDoubleList());
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy