package com.huimv.employment.integration.kb.rag;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * {@code POST /api/rag/retrieve} 请求体。
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public class RagRetrieveRequest {

    private String query;

    @JsonProperty("top_k")
    private Integer topK = 5;

    private String mode = "mix";

    @JsonProperty("include_references")
    private Boolean includeReferences = true;

    public RagRetrieveRequest() {
    }

    public RagRetrieveRequest(String query) {
        this.query = query;
    }

    public String getQuery() {
        return query;
    }

    public void setQuery(String query) {
        this.query = query;
    }

    public Integer getTopK() {
        return topK;
    }

    public void setTopK(Integer topK) {
        this.topK = topK;
    }

    public String getMode() {
        return mode;
    }

    public void setMode(String mode) {
        this.mode = mode;
    }

    public Boolean getIncludeReferences() {
        return includeReferences;
    }

    public void setIncludeReferences(Boolean includeReferences) {
        this.includeReferences = includeReferences;
    }
}
