
prerna.engine.impl.model.responses.AbstractModelEngineResponse Maven / Gradle / Ivy
The newest version!
package prerna.engine.impl.model.responses;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
public abstract class AbstractModelEngineResponse implements Serializable {
/**
*
*/
private static final long serialVersionUID = -5721069401496221919L;
public static final String RESPONSE = "response";
public static final String NUMBER_OF_TOKENS_IN_PROMPT = "numberOfTokensInPrompt";
public static final String NUMBER_OF_TOKENS_IN_RESPONSE = "numberOfTokensInResponse";
public static final String USAGE_RESTRICTION_KEY = "usageRestriction";
public static final String USAGE_RESTRICTION_MODE = "restrictedBy";
public static final String USAGE_RESTRICTION_CURRENT_VALUE = "currentValue";
public static final String USAGE_RESTRICTION_MAX_VALUE = "maxValue";
private T response;
private Integer numberOfTokensInPrompt;
private Integer numberOfTokensInResponse;
private Map usageRestriction = null;
public AbstractModelEngineResponse(T response, Integer numberOfTokensInPrompt, Integer numberOfTokensInResponse) {
this.response = response;
this.numberOfTokensInPrompt = numberOfTokensInPrompt;
this.numberOfTokensInResponse = numberOfTokensInResponse;
}
public T getResponse() {
return response;
}
public void setResponse(T response) {
this.response = response;
}
public Integer getNumberOfTokensInPrompt() {
return numberOfTokensInPrompt;
}
public void setNumberOfTokensInPrompt(Integer numberOfTokensInPrompt) {
this.numberOfTokensInPrompt = numberOfTokensInPrompt;
}
public Integer getNumberOfTokensInResponse() {
return numberOfTokensInResponse;
}
public void setNumberOfTokensInResponse(Integer numberOfTokensInResponse) {
this.numberOfTokensInResponse = numberOfTokensInResponse;
}
public Map getUsageRestriction() {
return usageRestriction;
}
public void setUsageRestriction(Map usageRestriction) {
this.usageRestriction = usageRestriction;
}
public Map toMap(){
Map responseMap = new HashMap<>();
responseMap.put(RESPONSE, this.response);
responseMap.put(NUMBER_OF_TOKENS_IN_PROMPT, this.numberOfTokensInPrompt);
responseMap.put(NUMBER_OF_TOKENS_IN_RESPONSE, this.numberOfTokensInResponse);
if(this.usageRestriction != null) {
responseMap.put(USAGE_RESTRICTION_KEY, this.usageRestriction);
}
return responseMap;
}
protected static Integer getTokens(Object numTokens) {
if (numTokens instanceof Integer) {
return (Integer) numTokens;
} else if (numTokens instanceof Long) {
return ((Long) numTokens).intValue();
} else if (numTokens instanceof Double) {
return ((Double) numTokens).intValue();
} else if (numTokens instanceof Number) {
return ((Number) numTokens).intValue();
} else if (numTokens instanceof String){
return Integer.valueOf((String) numTokens);
} else {
return null;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy