Documentation
¶
Index ¶
- type CohereConfig
- type CohereProvider
- func (p *CohereProvider) MaxDocuments() int
- func (p *CohereProvider) Name() string
- func (p *CohereProvider) Rerank(ctx context.Context, req *RerankRequest) (*RerankResponse, error)
- func (p *CohereProvider) RerankSimple(ctx context.Context, query string, documents []string, topN int) ([]RerankResult, error)
- type Document
- type JinaConfig
- type JinaProvider
- type Provider
- type RerankRequest
- type RerankResponse
- type RerankResult
- type RerankUsage
- type VoyageConfig
- type VoyageProvider
- func (p *VoyageProvider) MaxDocuments() int
- func (p *VoyageProvider) Name() string
- func (p *VoyageProvider) Rerank(ctx context.Context, req *RerankRequest) (*RerankResponse, error)
- func (p *VoyageProvider) RerankSimple(ctx context.Context, query string, documents []string, topN int) ([]RerankResult, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CohereConfig ¶
type CohereConfig struct {
APIKey string `json:"api_key" yaml:"api_key"`
BaseURL string `json:"base_url" yaml:"base_url"`
Model string `json:"model,omitempty" yaml:"model,omitempty"` // rerank-v3.5
Timeout time.Duration `json:"timeout,omitempty" yaml:"timeout,omitempty"`
}
Cohere Config 配置 Cohere 重排提供者 。
func DefaultCohereConfig ¶
func DefaultCohereConfig() CohereConfig
默认 Cohere Config 返回默认 Cohere 重排配置 。
type CohereProvider ¶
type CohereProvider struct {
// contains filtered or unexported fields
}
func NewCohereProvider ¶
func NewCohereProvider(cfg CohereConfig) *CohereProvider
NewCohereProvider 创建新的 Cohere reranker 提供者.
func (*CohereProvider) MaxDocuments ¶
func (p *CohereProvider) MaxDocuments() int
func (*CohereProvider) Name ¶
func (p *CohereProvider) Name() string
func (*CohereProvider) Rerank ¶
func (p *CohereProvider) Rerank(ctx context.Context, req *RerankRequest) (*RerankResponse, error)
使用 Cohere 对文档进行重新排序 。
func (*CohereProvider) RerankSimple ¶
func (p *CohereProvider) RerankSimple(ctx context.Context, query string, documents []string, topN int) ([]RerankResult, error)
RerankSimple是简单的再排的一种方便方法.
type Document ¶
type Document struct {
Text string `json:"text"`
ID string `json:"id,omitempty"`
Title string `json:"title,omitempty"`
}
Document 表示待重排序的文档.
type JinaConfig ¶
type JinaConfig struct {
APIKey string `json:"api_key" yaml:"api_key"`
BaseURL string `json:"base_url" yaml:"base_url"`
Model string `json:"model,omitempty" yaml:"model,omitempty"` // jina-reranker-v2-base-multilingual
Timeout time.Duration `json:"timeout,omitempty" yaml:"timeout,omitempty"`
}
JinaConfig配置了Jina AI重排提供者.
type JinaProvider ¶
type JinaProvider struct {
// contains filtered or unexported fields
}
func NewJinaProvider ¶
func NewJinaProvider(cfg JinaConfig) *JinaProvider
NewJinaProvider 创建新的 Jina reranker 提供者.
func (*JinaProvider) MaxDocuments ¶
func (p *JinaProvider) MaxDocuments() int
func (*JinaProvider) Name ¶
func (p *JinaProvider) Name() string
func (*JinaProvider) Rerank ¶
func (p *JinaProvider) Rerank(ctx context.Context, req *RerankRequest) (*RerankResponse, error)
重新排序使用Jina AI的文件重新排序.
func (*JinaProvider) RerankSimple ¶
func (p *JinaProvider) RerankSimple(ctx context.Context, query string, documents []string, topN int) ([]RerankResult, error)
RerankSimple是简单的再排的一种方便方法.
type Provider ¶
type Provider interface {
// Rerank 根据查询的相关性重排序文档.
Rerank(ctx context.Context, req *RerankRequest) (*RerankResponse, error)
// RerankSimple 是简单重排序的便捷方法.
RerankSimple(ctx context.Context, query string, documents []string, topN int) ([]RerankResult, error)
// Name 返回提供者名称.
Name() string
// MaxDocuments 返回支持的最大文档数量.
MaxDocuments() int
}
Provider 定义统一的重排序提供者接口.
type RerankRequest ¶
type RerankRequest struct {
Query string `json:"query"`
Documents []Document `json:"documents"`
Model string `json:"model,omitempty"`
TopN int `json:"top_n,omitempty"` // Return top N results
ReturnDocuments bool `json:"return_documents,omitempty"` // Include document text in response
MaxChunksPerDoc int `json:"max_chunks_per_doc,omitempty"` // For long documents
Metadata map[string]string `json:"metadata,omitempty"`
}
RerankRequest 表示重排序请求.
type RerankResponse ¶
type RerankResponse struct {
ID string `json:"id,omitempty"`
Provider string `json:"provider"`
Model string `json:"model"`
Results []RerankResult `json:"results"`
Usage RerankUsage `json:"usage"`
CreatedAt time.Time `json:"created_at,omitempty"`
}
RerankResponse 表示重排序响应.
type RerankResult ¶
type RerankResult struct {
Index int `json:"index"` // Original index in input
RelevanceScore float64 `json:"relevance_score"` // 0-1 normalized score
Document Document `json:"document,omitempty"`
}
RerankResult 表示单个重排序结果.
type RerankUsage ¶
type RerankUsage struct {
SearchUnits int `json:"search_units,omitempty"`
TotalTokens int `json:"total_tokens,omitempty"`
Cost float64 `json:"cost,omitempty"`
}
RerankUsage 表示使用统计.
type VoyageConfig ¶
type VoyageConfig struct {
APIKey string `json:"api_key" yaml:"api_key"`
BaseURL string `json:"base_url" yaml:"base_url"`
Model string `json:"model,omitempty" yaml:"model,omitempty"` // rerank-2
Timeout time.Duration `json:"timeout,omitempty" yaml:"timeout,omitempty"`
}
VoyageConfig 配置 Voyage AI 重排提供者 。
func DefaultVoyageConfig ¶
func DefaultVoyageConfig() VoyageConfig
默认 VoyageConfig 返回默认 Voyage 重排配置 。
type VoyageProvider ¶
type VoyageProvider struct {
// contains filtered or unexported fields
}
func NewVoyageProvider ¶
func NewVoyageProvider(cfg VoyageConfig) *VoyageProvider
NewVoyageProvider 创建新的 Voyage reranker 提供者.
func (*VoyageProvider) MaxDocuments ¶
func (p *VoyageProvider) MaxDocuments() int
func (*VoyageProvider) Name ¶
func (p *VoyageProvider) Name() string
func (*VoyageProvider) Rerank ¶
func (p *VoyageProvider) Rerank(ctx context.Context, req *RerankRequest) (*RerankResponse, error)
重新排序使用Voyage AI的文档重新排序.
func (*VoyageProvider) RerankSimple ¶
func (p *VoyageProvider) RerankSimple(ctx context.Context, query string, documents []string, topN int) ([]RerankResult, error)
RerankSimple是简单的再排的一种方便方法.
Click to show internal directories.
Click to hide internal directories.