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

tech.amikos.chromadb.Embedding Maven / Gradle / Ivy

The newest version!
package tech.amikos.chromadb;

import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;

public class Embedding {
    private final float[] embedding;

    public Embedding(float[] embeddings) {
        this.embedding = embeddings;
    }

    public Embedding(List embedding) {
        this.embedding = new float[embedding.size()];
        for (int i = 0; i < embedding.size(); i++) {
            //TODO what if embeddings are integers?
            this.embedding[i] = embedding.get(i).floatValue();
        }
    }


    public List asList() {
        return IntStream.range(0, embedding.length)
                .mapToObj(i -> embedding[i])
                .collect(Collectors.toList());

    }

    public int getDimensions() {
        return embedding.length;
    }

    public float[] asArray() {
        return embedding;
    }

    public static Embedding fromList(List embedding) {
        return new Embedding(embedding);
    }

    public static Embedding fromArray(float[] embedding) {
        return new Embedding(embedding);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy