fi.evolver.ai.vaadin.entity.Prompt Maven / Gradle / Ivy
package fi.evolver.ai.vaadin.entity;
import java.nio.charset.StandardCharsets;
import fi.evolver.utils.GzipUtils;
import jakarta.persistence.*;
@Entity
@Table(name="prompt")
public class Prompt {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private long id;
@Column(name="prompt")
private byte[] prompt;
@Column(name="token_count")
private Integer tokenCount;
public Prompt() {}
public Prompt(String prompt, Integer tokenCount) {
if (prompt != null) {
this.prompt = compressData(prompt);
this.tokenCount = tokenCount;
}
}
public long getId() {
return id;
}
public String getPrompt() {
return readCompressed(prompt);
}
public Integer getTokenCount() {
return tokenCount;
}
private static byte[] compressData(String textData) {
return GzipUtils.zip(textData, StandardCharsets.UTF_8);
}
private static String readCompressed(byte[] data) {
return GzipUtils.unzip(data, StandardCharsets.UTF_8);
}
@Override
public String toString() {
return "Prompt [id=" + id + ", prompt=" + getPrompt() + ", tokenCount=" + tokenCount + "]";
}
}