All Downloads are FREE. Search and download functionalities are using the official Maven repository.

fi.evolver.ai.vaadin.entity.Prompt Maven / Gradle / Ivy

There is a newer version: 1.5.5
Show newest version
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 + "]";
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy