Versions in this module Expand all Collapse all v1 v1.2.0 Jun 6, 2026 v1.1.0 Jun 3, 2026 Changes in this version + const DefaultTimeout + const ProviderCohereAI + const ProviderJinaAI + const ProviderLocal + const ProviderSiliconFlow + var ErrEmptyAPIKey = "APIKey is required" + var ErrEmptyBaseURL = "BaseURL is required" + var ErrEmptyDocuments = "documents is empty" + var ErrEmptyModel = "Model is required" + var ErrEmptyQuery = "query is empty" + var ErrInvalidTopN = "topN must be greater than 0" + var ErrNilClient = "client is nil" + type CohereAIRerankClient struct + APIKey string + BaseURL string + HTTPClient *http.Client + Model string + func NewCohereAIRerankClient(cfg *RerankClientConfig) *CohereAIRerankClient + func (c *CohereAIRerankClient) Provider() string + func (c *CohereAIRerankClient) Rerank(ctx context.Context, query string, documents []string, topN int) ([]RerankResult, error) + type JinaAIRerankClient struct + APIKey string + BaseURL string + HTTPClient *http.Client + Model string + func NewJinaAIRerankClient(cfg *RerankClientConfig) *JinaAIRerankClient + func (c *JinaAIRerankClient) Provider() string + func (c *JinaAIRerankClient) Rerank(ctx context.Context, query string, documents []string, topN int) ([]RerankResult, error) + type LocalRerankClient struct + Model string + func NewLocalRerankClient(cfg *RerankClientConfig) *LocalRerankClient + func (c *LocalRerankClient) Provider() string + func (c *LocalRerankClient) Rerank(ctx context.Context, query string, documents []string, topN int) ([]RerankResult, error) + type RerankClientConfig struct + APIKey string + BaseURL string + HTTPClient *http.Client + Model string + Timeout time.Duration + type RerankConfig struct + APIKey string + BaseURL string + HTTPClient *http.Client + Model string + Provider string + Timeout int + type RerankResult struct + Index int + Score float64 + type Reranker interface + Provider func() string + Rerank func(ctx context.Context, query string, documents []string, topN int) ([]RerankResult, error) + func Create(cfg *RerankConfig) (Reranker, error) + type SiliconFlowRerankClient struct + APIKey string + BaseURL string + HTTPClient *http.Client + Model string + func NewSiliconFlowRerankClient(cfg *RerankClientConfig) *SiliconFlowRerankClient + func (c *SiliconFlowRerankClient) Provider() string + func (c *SiliconFlowRerankClient) Rerank(ctx context.Context, query string, documents []string, topN int) ([]RerankResult, error)