com.github.tjake.jlama.net.openai.model.ChatCompletionNamedToolChoice Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jlama-net Show documentation
Show all versions of jlama-net Show documentation
Jlama: A modern LLM inference engine for Java
/*
* OpenAI API
* The OpenAI REST API. Please see https://platform.openai.com/docs/api-reference for more details.
*
* The version of the OpenAPI document: 2.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package com.github.tjake.jlama.net.openai.model;
import java.util.Objects;
import java.util.Map;
import java.util.HashMap;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.fasterxml.jackson.annotation.JsonValue;
import com.github.tjake.jlama.net.openai.model.ChatCompletionNamedToolChoiceFunction;
import java.util.Arrays;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import jakarta.validation.constraints.*;
import jakarta.validation.Valid;
import org.hibernate.validator.constraints.*;
import com.github.tjake.jlama.net.openai.JSON;
/**
* Specifies a tool the model should use. Use to force the model to call a specific function.
*/
@JsonPropertyOrder({
ChatCompletionNamedToolChoice.JSON_PROPERTY_TYPE,
ChatCompletionNamedToolChoice.JSON_PROPERTY_FUNCTION
})
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.7.0")
public class ChatCompletionNamedToolChoice {
public static final String JSON_PROPERTY_TYPE = "type";
private String type = "function";
public static final String JSON_PROPERTY_FUNCTION = "function";
private ChatCompletionNamedToolChoiceFunction function;
public ChatCompletionNamedToolChoice() {
}
public ChatCompletionNamedToolChoice type(String type) {
this.type = type;
return this;
}
/**
* The type of the tool. Currently, only `function` is supported.
* @return type
*/
@jakarta.annotation.Nonnull
@NotNull
@JsonProperty(JSON_PROPERTY_TYPE)
@JsonInclude(value = JsonInclude.Include.ALWAYS)
public String getType() {
return type;
}
@JsonProperty(JSON_PROPERTY_TYPE)
@JsonInclude(value = JsonInclude.Include.ALWAYS)
public void setType(String type) {
this.type = type;
}
public ChatCompletionNamedToolChoice function(ChatCompletionNamedToolChoiceFunction function) {
this.function = function;
return this;
}
/**
* Get function
* @return function
*/
@jakarta.annotation.Nonnull
@NotNull
@Valid
@JsonProperty(JSON_PROPERTY_FUNCTION)
@JsonInclude(value = JsonInclude.Include.ALWAYS)
public ChatCompletionNamedToolChoiceFunction getFunction() {
return function;
}
@JsonProperty(JSON_PROPERTY_FUNCTION)
@JsonInclude(value = JsonInclude.Include.ALWAYS)
public void setFunction(ChatCompletionNamedToolChoiceFunction function) {
this.function = function;
}
/**
* Return true if this ChatCompletionNamedToolChoice object is equal to o.
*/
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
ChatCompletionNamedToolChoice chatCompletionNamedToolChoice = (ChatCompletionNamedToolChoice) o;
return Objects.equals(this.type, chatCompletionNamedToolChoice.type) &&
Objects.equals(this.function, chatCompletionNamedToolChoice.function);
}
@Override
public int hashCode() {
return Objects.hash(type, function);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ChatCompletionNamedToolChoice {\n");
sb.append(" type: ").append(toIndentedString(type)).append("\n");
sb.append(" function: ").append(toIndentedString(function)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}