Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cache ¶
type Cache struct {
// contains filtered or unexported fields
}
Cache provides content-hash-based caching for embeddings
type EmbeddingResult ¶
type EmbeddingResult struct {
Text string `json:"text"`
Embedding []float32 `json:"embedding"`
Model string `json:"model"`
}
EmbeddingResult contains the result of an embedding operation
type OpenAIConfig ¶
OpenAIConfig contains configuration for the OpenAI provider
func DefaultOpenAIConfig ¶
func DefaultOpenAIConfig() OpenAIConfig
DefaultOpenAIConfig returns default configuration for OpenAI provider
type OpenAIProvider ¶
type OpenAIProvider struct {
// contains filtered or unexported fields
}
OpenAIProvider implements the Provider interface using OpenAI's embedding API
func NewOpenAIProvider ¶
func NewOpenAIProvider(config OpenAIConfig, logger *slog.Logger) (*OpenAIProvider, error)
NewOpenAIProvider creates a new OpenAI embedding provider
func (*OpenAIProvider) Dimensions ¶
func (p *OpenAIProvider) Dimensions() int
Dimensions returns the number of dimensions in the embedding vector
func (*OpenAIProvider) EmbedBatch ¶
EmbedBatch generates embedding vectors for multiple texts
func (*OpenAIProvider) Model ¶
func (p *OpenAIProvider) Model() string
Model returns the model name being used
type Provider ¶
type Provider interface {
// Embed generates an embedding vector for a single text
Embed(ctx context.Context, text string) ([]float32, error)
// EmbedBatch generates embedding vectors for multiple texts
// This is more efficient than calling Embed multiple times
EmbedBatch(ctx context.Context, texts []string) ([][]float32, error)
// Dimensions returns the number of dimensions in the embedding vector
Dimensions() int
// Model returns the model name being used
Model() string
}
Provider defines the interface for embedding generation
Click to show internal directories.
Click to hide internal directories.