Documentation
¶
Index ¶
Constants ¶
const EmbeddingsSlug = "embeddings"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CachedProvider ¶ added in v0.4.26
type CachedProvider struct {
// contains filtered or unexported fields
}
CachedProvider wraps an embedding provider with LRU caching capabilities
func NewCachedProvider ¶ added in v0.4.26
func NewCachedProvider(provider Provider, maxSize int) *CachedProvider
NewCachedProvider creates a new cached wrapper around an embedding provider maxSize determines how many embeddings to keep in cache (default 1000)
func (*CachedProvider) ClearCache ¶ added in v0.4.26
func (c *CachedProvider) ClearCache()
ClearCache removes all cached embeddings
func (*CachedProvider) GenerateEmbedding ¶ added in v0.4.26
GenerateEmbedding returns cached embeddings if available, otherwise generates new ones
func (*CachedProvider) GetModel ¶ added in v0.4.26
func (c *CachedProvider) GetModel() EmbeddingModel
GetModel delegates to the underlying provider
func (*CachedProvider) MaxSize ¶ added in v0.4.26
func (c *CachedProvider) MaxSize() int
MaxSize returns the maximum number of embeddings that can be cached
func (*CachedProvider) Size ¶ added in v0.4.26
func (c *CachedProvider) Size() int
Size returns the current number of cached embeddings
type DiskCacheEntry ¶ added in v0.4.30
type DiskCacheEntry struct { Embedding []float32 `json:"embedding"` TextPrefix string `json:"text_prefix"` // First 100 chars }
DiskCacheEntry represents a single cached embedding with metadata
type DiskCacheProvider ¶ added in v0.4.30
type DiskCacheProvider struct {
// contains filtered or unexported fields
}
DiskCacheProvider implements the Provider interface with disk persistence
func NewDiskCacheProvider ¶ added in v0.4.30
func NewDiskCacheProvider(provider Provider, opts ...Option) (*DiskCacheProvider, error)
NewDiskCacheProvider creates a new disk-based cache provider
func (*DiskCacheProvider) ClearCache ¶ added in v0.4.30
func (p *DiskCacheProvider) ClearCache() error
func (*DiskCacheProvider) GenerateEmbedding ¶ added in v0.4.30
func (*DiskCacheProvider) GetCachedEntry ¶ added in v0.4.30
func (p *DiskCacheProvider) GetCachedEntry(text string) (*DiskCacheEntry, error)
func (*DiskCacheProvider) GetModel ¶ added in v0.4.30
func (p *DiskCacheProvider) GetModel() EmbeddingModel
type EmbeddingModel ¶
EmbeddingModel contains metadata about the embedding model
type EmbeddingsConfig ¶ added in v0.4.32
type EmbeddingsConfig struct { // Type specifies the provider type (e.g. "openai", "ollama") Type string `glazed.parameter:"embeddings-type"` // Engine specifies the model to use (e.g. "text-embedding-ada-002" for OpenAI) Engine string `glazed.parameter:"embeddings-engine"` // Dimensions specifies the embedding dimensions (defaults to 1536 for OpenAI) Dimensions int `glazed.parameter:"embeddings-dimensions"` // APIKeys maps provider types to their API keys APIKeys map[settings.ApiType]string `yaml:"api_keys,omitempty" glazed.parameter:"*-api-key"` // BaseURLs maps provider types to their base URLs BaseURLs map[settings.ApiType]string `yaml:"base_urls,omitempty" glazed.parameter:"*-base-url"` // Caching settings CacheType string `glazed.parameter:"embeddings-cache-type"` CacheMaxSize int64 `glazed.parameter:"embeddings-cache-max-size"` CacheMaxEntries int `glazed.parameter:"embeddings-cache-max-entries"` CacheDirectory string `glazed.parameter:"embeddings-cache-directory"` }
EmbeddingsConfig contains the minimal configuration needed for embeddings
func NewEmbeddingsConfig ¶ added in v0.4.32
func NewEmbeddingsConfig() (*EmbeddingsConfig, error)
type EmbeddingsFlagsLayer ¶ added in v0.4.32
type EmbeddingsFlagsLayer struct {
*layers.ParameterLayerImpl `yaml:",inline"`
}
func NewEmbeddingsFlagsLayer ¶ added in v0.4.32
func NewEmbeddingsFlagsLayer(options ...layers.ParameterLayerOptions) (*EmbeddingsFlagsLayer, error)
type OllamaProvider ¶
type OllamaProvider struct {
// contains filtered or unexported fields
}
func NewOllamaProvider ¶
func NewOllamaProvider(baseURL string, model string, dimensions int) *OllamaProvider
func (*OllamaProvider) GenerateEmbedding ¶
func (*OllamaProvider) GetModel ¶
func (p *OllamaProvider) GetModel() EmbeddingModel
type OpenAIProvider ¶
type OpenAIProvider struct {
// contains filtered or unexported fields
}
func NewOpenAIProvider ¶
func NewOpenAIProvider(apiKey string, model openai.EmbeddingModel, dimensions int) *OpenAIProvider
func (*OpenAIProvider) GenerateEmbedding ¶
func (*OpenAIProvider) GetModel ¶
func (p *OpenAIProvider) GetModel() EmbeddingModel
type Option ¶ added in v0.4.30
type Option func(*DiskCacheProvider)
func WithDirectory ¶ added in v0.4.30
func WithMaxEntries ¶ added in v0.4.30
func WithMaxSize ¶ added in v0.4.30
type Provider ¶
type Provider interface { // GenerateEmbedding creates an embedding vector for the given text GenerateEmbedding(ctx context.Context, text string) ([]float32, error) // GetModel returns information about the embedding model being used GetModel() EmbeddingModel }
Provider defines the interface for generating embeddings
type ProviderOption ¶ added in v0.4.32
type ProviderOption func(*providerOptions)
ProviderOption is a function that configures a provider
func WithAPIKey ¶ added in v0.4.32
func WithAPIKey(key string) ProviderOption
WithAPIKey sets the API key
func WithBaseURL ¶ added in v0.4.32
func WithBaseURL(url string) ProviderOption
WithBaseURL sets the base URL
func WithDimensions ¶ added in v0.4.32
func WithDimensions(d int) ProviderOption
WithDimensions sets the embedding dimensions
func WithEngine ¶ added in v0.4.32
func WithEngine(e string) ProviderOption
WithEngine sets the model engine
func WithType ¶ added in v0.4.32
func WithType(t string) ProviderOption
WithType sets the provider type
type SettingsFactory ¶
type SettingsFactory struct {
// contains filtered or unexported fields
}
SettingsFactory creates embedding providers based on configuration
func NewSettingsFactory ¶
func NewSettingsFactory(config *EmbeddingsConfig) *SettingsFactory
NewSettingsFactory creates a new factory that uses the provided configuration
func NewSettingsFactoryFromStepSettings ¶ added in v0.4.32
func NewSettingsFactoryFromStepSettings(s *settings.StepSettings) *SettingsFactory
NewSettingsFactoryFromStepSettings creates a new factory from StepSettings for backwards compatibility
func (*SettingsFactory) GetEmbeddingFuncMap ¶ added in v0.4.32
func (f *SettingsFactory) GetEmbeddingFuncMap() template.FuncMap
func (*SettingsFactory) GetEmbeddingTagFunc ¶ added in v0.4.32
func (f *SettingsFactory) GetEmbeddingTagFunc() emrichen.TagFunc
func (*SettingsFactory) NewCachedProvider ¶ added in v0.4.26
func (f *SettingsFactory) NewCachedProvider(maxSize int) (Provider, error)
NewCachedProvider creates a new cached embedding provider based on the configuration maxSize determines how many embeddings to keep in cache (default 1000)
func (*SettingsFactory) NewProvider ¶
func (f *SettingsFactory) NewProvider(opts ...ProviderOption) (Provider, error)
NewProvider creates a new embedding provider based on the configuration and options