package aiwire

// RerankRequest 是 /ai/v1/rerank 请求体(Jina / Cohere 通行风格)。
type RerankRequest struct {
	Model           string   `json:"model"`
	Query           string   `json:"query"`
	Documents       []string `json:"documents"`
	TopN            *int     `json:"top_n,omitempty"`
	ReturnDocuments *bool    `json:"return_documents,omitempty"`
}

// RerankDocument 包装原文,仅在 return_documents 时返回。
type RerankDocument struct {
	Text string `json:"text"`
}

// RerankResult 是一条重排结果:index 指向请求 documents 下标。
type RerankResult struct {
	Index          int             `json:"index"`
	RelevanceScore float64         `json:"relevance_score"`
	Document       *RerankDocument `json:"document,omitempty"`
}

// RerankResponse 是 /ai/v1/rerank 响应体。
type RerankResponse struct {
	Model   string         `json:"model"`
	Results []RerankResult `json:"results"`
}
