package eta_llm_http

type KbChatRequest struct {
	Query          string           `json:"query"`
	Mode           string           `json:"mode"`
	KbName         string           `json:"kb_name"`
	TopK           int              `json:"top_k"`
	ScoreThreshold float32          `json:"score_threshold"`
	History        []HistoryContent `json:"history"`
	Stream         bool             `json:"stream"`
	Model          string           `json:"model"`
	Temperature    float32          `json:"temperature"`
	MaxTokens      int              `json:"max_tokens"`
	PromptName     string           `json:"prompt_name"`
	ReturnDirect   bool             `json:"return_direct"`
}
type DocumentChatRequest struct {
	Query          string           `json:"query"`
	KnowledgeId    string           `json:"knowledge_id"`
	TopK           int              `json:"top_k"`
	ScoreThreshold float32          `json:"score_threshold"`
	History        []HistoryContent `json:"history"`
	Stream         bool             `json:"stream"`
	ModelName      string           `json:"model_name"`
	Temperature    float32          `json:"temperature"`
	MaxTokens      int              `json:"max_tokens"`
	PromptName     string           `json:"prompt_name"`
}
type HistoryContent struct {
	Content string `json:"content"`
	Role    string `json:"role"`
}

type KbSearchDocsRequest struct {
	Query             string      `json:"query"`
	KnowledgeBaseName string      `json:"knowledge_base_name"`
	TopK              int         `json:"top_k"`
	ScoreThreshold    float32     `json:"score_threshold"`
	FileName          string      `json:"file_name"`
	Metadata          interface{} `json:"metadata"`
}