microsoft / microsoft/semantic-kernel-java

Java: API - What about manipulating an array of float in Embedding ?

Ouverte
#131 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

java
Langage dominant
Java
Étoiles
276
Forks
56
Merge moyen
17 h 45 min
PR mergées (30 j)
4

Description

The Embedding contains a List<Float> to represent the vector. You can pass this list to the constructor and get its content as a List

    private final List<Float> vector;

    public Embedding(@Nonnull List<Float> vector) {
        Objects.requireNonNull(vector);
        this.vector = Collections.unmodifiableList(vector);
    }

    public List<Float> getVector() {
        return vector;
    }

But there are several external APIs (such as PGVector for example) that manipulate arrays of floats. So we end up casting arrays to lists back and forth.

It would be handy if Embedding had a constructor that takes an array of float, and a method to return the vector as an array:

    public Embedding(float[] vector);

    public float[] toArray();

WDYT ?

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par localiser la classe Embedding ainsi que son constructeur existant et son API getVector. Examinez la façon dont les vecteurs sont actuellement stockés et les tests situés à proximité, puis vérifiez que la construction et la récupération proposées à partir d’un tableau préservent les valeurs attendues et que le comportement de l’API est couvert avant de considérer la fonctionnalité comme complète.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
api
Type d'issue
Fonctionnalité
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
55/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.