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 + var ErrAPIKeyRequired = errors.New("API key is required") + var ErrBaseURLRequired = errors.New("BaseURL is required") + var ErrConnectionFailed = errors.New("connection failed") + var ErrEmbedFailed = errors.New("embedding failed") + var ErrEmptyInput = errors.New("input is empty") + var ErrInvalidConfig = errors.New("invalid configuration") + var ErrInvalidDimension = errors.New("invalid vector dimension") + var ErrInvalidResponse = errors.New("invalid response") + var ErrModelNotFound = errors.New("model not found") + var ErrProviderNotFound = errors.New("provider not found") + var ErrRateLimited = errors.New("rate limited") + func List() []string + func Register(factory EmbedderFactory) error + func Supports(provider string) bool + type BatchEmbedResult struct + Dimension int + Duration int64 + Results []EmbedResult + type Config struct + APIKey string + BaseURL string + BatchSize int + CustomConfig map[string]interface{} + Dimension int + MaxRetries int + Model string + Provider string + Timeout int + type DashScopeEmbedder struct + func NewDashScopeEmbedder(cfg *Config) *DashScopeEmbedder + func (e *DashScopeEmbedder) Close() error + func (e *DashScopeEmbedder) Dimension() int + func (e *DashScopeEmbedder) Embed(ctx context.Context, texts []string) ([][]float32, error) + func (e *DashScopeEmbedder) EmbedSingle(ctx context.Context, text string) ([]float32, error) + func (e *DashScopeEmbedder) Name() string + func (e *DashScopeEmbedder) Provider() string + type DashScopeFactory struct + func (f *DashScopeFactory) Create(ctx context.Context, cfg *Config) (Embedder, error) + func (f *DashScopeFactory) Name() string + func (f *DashScopeFactory) Supports(provider string) bool + type DefaultFactory struct + func GetFactory() *DefaultFactory + func NewDefaultFactory() *DefaultFactory + func (f *DefaultFactory) Create(ctx context.Context, cfg *Config) (Embedder, error) + func (f *DefaultFactory) List() []string + func (f *DefaultFactory) Register(factory EmbedderFactory) error + func (f *DefaultFactory) Supports(provider string) bool + type EmbedResult struct + Dimension int + Error error + Text string + Vector []float32 + type Embedder interface + Close func() error + Dimension func() int + Embed func(ctx context.Context, texts []string) ([][]float32, error) + EmbedSingle func(ctx context.Context, text string) ([]float32, error) + Name func() string + Provider func() string + func Create(ctx context.Context, cfg *Config) (Embedder, error) + type EmbedderFactory interface + Create func(ctx context.Context, cfg *Config) (Embedder, error) + Name func() string + Supports func(provider string) bool + type EmbedderOptions struct + BatchSize int + Normalize bool + ReturnTokens bool + Timeout int + type HealthCheckResult struct + Healthy bool + LastErr error + Latency int64 + Message string + Model string + Provider string + type LocalEmbedder struct + func NewLocalEmbedder(cfg *Config) *LocalEmbedder + func (e *LocalEmbedder) Close() error + func (e *LocalEmbedder) Dimension() int + func (e *LocalEmbedder) Embed(ctx context.Context, texts []string) ([][]float32, error) + func (e *LocalEmbedder) EmbedSingle(ctx context.Context, text string) ([]float32, error) + func (e *LocalEmbedder) Name() string + func (e *LocalEmbedder) Provider() string + type LocalFactory struct + func (f *LocalFactory) Create(ctx context.Context, cfg *Config) (Embedder, error) + func (f *LocalFactory) Name() string + func (f *LocalFactory) Supports(provider string) bool + type NvidiaEmbedder struct + func NewNvidiaEmbedder(cfg *Config) *NvidiaEmbedder + func (e *NvidiaEmbedder) Close() error + func (e *NvidiaEmbedder) Dimension() int + func (e *NvidiaEmbedder) Embed(ctx context.Context, texts []string) ([][]float32, error) + func (e *NvidiaEmbedder) EmbedSingle(ctx context.Context, text string) ([]float32, error) + func (e *NvidiaEmbedder) Name() string + func (e *NvidiaEmbedder) Provider() string + type NvidiaFactory struct + func (f *NvidiaFactory) Create(ctx context.Context, cfg *Config) (Embedder, error) + func (f *NvidiaFactory) Name() string + func (f *NvidiaFactory) Supports(provider string) bool + type OllamaEmbedder struct + func NewOllamaEmbedder(cfg *Config) *OllamaEmbedder + func (e *OllamaEmbedder) Close() error + func (e *OllamaEmbedder) Dimension() int + func (e *OllamaEmbedder) Embed(ctx context.Context, texts []string) ([][]float32, error) + func (e *OllamaEmbedder) EmbedSingle(ctx context.Context, text string) ([]float32, error) + func (e *OllamaEmbedder) Name() string + func (e *OllamaEmbedder) Provider() string + type OllamaFactory struct + func (f *OllamaFactory) Create(ctx context.Context, cfg *Config) (Embedder, error) + func (f *OllamaFactory) Name() string + func (f *OllamaFactory) Supports(provider string) bool + type OpenAIEmbedder struct + func NewOpenAIEmbedder(cfg *Config) *OpenAIEmbedder + func (e *OpenAIEmbedder) Close() error + func (e *OpenAIEmbedder) Dimension() int + func (e *OpenAIEmbedder) Embed(ctx context.Context, texts []string) ([][]float32, error) + func (e *OpenAIEmbedder) EmbedSingle(ctx context.Context, text string) ([]float32, error) + func (e *OpenAIEmbedder) Name() string + func (e *OpenAIEmbedder) Provider() string + type OpenAIFactory struct + func (f *OpenAIFactory) Create(ctx context.Context, cfg *Config) (Embedder, error) + func (f *OpenAIFactory) Name() string + func (f *OpenAIFactory) Supports(provider string) bool