io.quarkiverse.langchain4j.llama3.copy.Vocabulary Maven / Gradle / Ivy
The newest version!
package io.quarkiverse.langchain4j.llama3.copy;
import java.util.Map;
import java.util.OptionalInt;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
public record Vocabulary(String[] tokens, float[] scores, Map tokenToIndex) {
public Vocabulary(String[] vocabulary, float[] scores) {
this(vocabulary, scores,
IntStream.range(0, vocabulary.length)
.boxed()
.collect(Collectors.toMap(i -> vocabulary[i], i -> i)));
}
public String get(int tokenIndex) {
return tokens[tokenIndex];
}
public OptionalInt getIndex(String token) {
Integer value = tokenToIndex.get(token);
return value != null ? OptionalInt.of(value) : OptionalInt.empty();
}
public int size() {
return tokens.length;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy