microsoft / microsoft/semantic-kernel-java

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

Abierto
#131 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

java
Lenguaje dominante
Java
Estrellas
276
Forks
56
Merge medio
17 h 45 min
PR fusionados (30 d)
4

Descripción

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 ?

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza localizando la clase Embedding y su constructor y API getVector existentes. Revisa cómo se almacenan actualmente los vectores y las pruebas cercanas; después, verifica que la construcción y recuperación propuestas basadas en arrays conserven los valores esperados y que el comportamiento de la API esté cubierto antes de considerar completa la funcionalidad.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java
Área
api
Tipo de issue
Nueva funcionalidad
Dificultad
2/5
Tiempo estimado
1-3 horas
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
55/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.