com.alibaba.dashscope.base.HalfDuplexParamBase Maven / Gradle / Ivy
// Copyright (c) Alibaba, Inc. and its affiliates.
package com.alibaba.dashscope.base;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.google.gson.JsonObject;
import java.nio.ByteBuffer;
import java.util.Map;
import lombok.Builder;
import lombok.Data;
import lombok.Singular;
import lombok.experimental.SuperBuilder;
/** The user input and parameter. */
@Data
@SuperBuilder
public abstract class HalfDuplexParamBase {
/** The apiKey. */
private String apiKey;
/** Open security check */
@Builder.Default private boolean securityCheck = false;
public String getApiKey() {
return apiKey;
}
/** The extra parameters. */
@Singular protected Map parameters;
public abstract String getModel();
/**
* The service parameters.
*
* @return The parameters
*/
public abstract Map getParameters();
/**
* Get the batch request data. Http body include {"model": "model_name", "input": "input data",
* "parameters": "The request parameters"}
*
* @return The http request body
*/
public abstract JsonObject getHttpBody();
/**
* Get the request input data.
*
* @return The input data object.
*/
public abstract Object getInput();
/**
* Get the request resources
*
* @return
*/
public abstract Object getResources();
/**
* Get the binary data, only websocket, if no binary data, return null.
*
* @return The binary data
*/
public abstract ByteBuffer getBinaryData();
/**
* Validate the input and parameters.
*
* @throws InputRequiredException Missing input fields.
*/
public abstract void validate() throws InputRequiredException;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy