microsoft / microsoft/semantic-kernel-java

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

Offen
#131 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

java
Vorherrschende Sprache
Java
Sterne
276
Forks
56
Ø Merge
17 Std. 45 Min.
Gemergte PRs (30 T.)
4

Beschreibung

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 ?

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die Klasse Embedding und ihren vorhandenen Konstruktor sowie die getVector-API zu finden. Überprüfe, wie Vektoren derzeit gespeichert werden und welche Tests sich in der Nähe befinden. Verifiziere anschließend, dass die vorgeschlagene Konstruktion und Abfrage auf Array-Basis die erwarteten Werte beibehalten und dass das API-Verhalten abgedeckt ist, bevor du das Feature als vollständig betrachtest.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
api
Issue-Typ
Feature
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
55/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.