Documentation
¶
Index ¶
- type EmbeddingProvider
- type OllamaEmbeddingRequest
- type OllamaEmbeddingResponse
- type OllamaProvider
- func (p *OllamaProvider) GenerateEmbedding(ctx context.Context, text string) ([]float64, error)
- func (p *OllamaProvider) GenerateEmbeddings(ctx context.Context, texts []string) ([][]float64, error)
- func (p *OllamaProvider) GetModelName() string
- func (p *OllamaProvider) GetProvider() string
- func (p *OllamaProvider) IsAvailable(ctx context.Context) error
- type OpenAIProvider
- func (p *OpenAIProvider) GenerateEmbedding(ctx context.Context, text string) ([]float64, error)
- func (p *OpenAIProvider) GenerateEmbeddings(ctx context.Context, texts []string) ([][]float64, error)
- func (p *OpenAIProvider) GetModelName() string
- func (p *OpenAIProvider) GetProvider() string
- func (p *OpenAIProvider) IsAvailable(ctx context.Context) error
- type SentenceTransformersProvider
- func (p *SentenceTransformersProvider) GenerateEmbedding(ctx context.Context, text string) ([]float64, error)
- func (p *SentenceTransformersProvider) GenerateEmbeddings(ctx context.Context, texts []string) ([][]float64, error)
- func (p *SentenceTransformersProvider) GetModelName() string
- func (p *SentenceTransformersProvider) GetProvider() string
- func (p *SentenceTransformersProvider) IsAvailable(ctx context.Context) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EmbeddingProvider ¶
type EmbeddingProvider interface {
// GenerateEmbedding generates an embedding for a single text
GenerateEmbedding(ctx context.Context, text string) ([]float64, error)
// GenerateEmbeddings generates embeddings for multiple texts (batch)
GenerateEmbeddings(ctx context.Context, texts []string) ([][]float64, error)
// GetModelName returns the model name
GetModelName() string
// GetProvider returns the provider name (openai, sentence-transformers, ollama)
GetProvider() string
// IsAvailable checks if the provider is available/configured
IsAvailable(ctx context.Context) error
}
EmbeddingProvider defines the interface for generating embeddings
func CreateProvider ¶
func CreateProvider(ctx context.Context, modelName string) (EmbeddingProvider, error)
CreateProvider creates an embedding provider based on the model name
type OllamaEmbeddingRequest ¶
OllamaEmbeddingRequest represents the request to Ollama API
type OllamaEmbeddingResponse ¶
type OllamaEmbeddingResponse struct {
Embedding []float64 `json:"embedding"`
}
OllamaEmbeddingResponse represents the response from Ollama API
type OllamaProvider ¶
type OllamaProvider struct {
// contains filtered or unexported fields
}
OllamaProvider implements EmbeddingProvider for Ollama models
func NewOllamaProvider ¶
func NewOllamaProvider(modelName string) (*OllamaProvider, error)
NewOllamaProvider creates a new Ollama provider
func (*OllamaProvider) GenerateEmbedding ¶
GenerateEmbedding generates an embedding for a single text
func (*OllamaProvider) GenerateEmbeddings ¶
func (p *OllamaProvider) GenerateEmbeddings(ctx context.Context, texts []string) ([][]float64, error)
GenerateEmbeddings generates embeddings for multiple texts (batch)
func (*OllamaProvider) GetModelName ¶
func (p *OllamaProvider) GetModelName() string
GetModelName returns the model name
func (*OllamaProvider) GetProvider ¶
func (p *OllamaProvider) GetProvider() string
GetProvider returns the provider name
func (*OllamaProvider) IsAvailable ¶
func (p *OllamaProvider) IsAvailable(ctx context.Context) error
IsAvailable checks if Ollama is running and the model is available
type OpenAIProvider ¶
type OpenAIProvider struct {
// contains filtered or unexported fields
}
OpenAIProvider implements EmbeddingProvider for OpenAI models
func NewOpenAIProvider ¶
func NewOpenAIProvider(modelName string) (*OpenAIProvider, error)
NewOpenAIProvider creates a new OpenAI provider
func (*OpenAIProvider) GenerateEmbedding ¶
GenerateEmbedding generates an embedding for a single text
func (*OpenAIProvider) GenerateEmbeddings ¶
func (p *OpenAIProvider) GenerateEmbeddings(ctx context.Context, texts []string) ([][]float64, error)
GenerateEmbeddings generates embeddings for multiple texts (batch)
func (*OpenAIProvider) GetModelName ¶
func (p *OpenAIProvider) GetModelName() string
GetModelName returns the model name
func (*OpenAIProvider) GetProvider ¶
func (p *OpenAIProvider) GetProvider() string
GetProvider returns the provider name
func (*OpenAIProvider) IsAvailable ¶
func (p *OpenAIProvider) IsAvailable(ctx context.Context) error
IsAvailable checks if OpenAI is available (API key set)
type SentenceTransformersProvider ¶
type SentenceTransformersProvider struct {
// contains filtered or unexported fields
}
SentenceTransformersProvider implements EmbeddingProvider for sentence-transformers models
func NewSentenceTransformersProvider ¶
func NewSentenceTransformersProvider(modelName string) (*SentenceTransformersProvider, error)
NewSentenceTransformersProvider creates a new sentence-transformers provider
func (*SentenceTransformersProvider) GenerateEmbedding ¶
func (p *SentenceTransformersProvider) GenerateEmbedding(ctx context.Context, text string) ([]float64, error)
GenerateEmbedding generates an embedding for a single text
func (*SentenceTransformersProvider) GenerateEmbeddings ¶
func (p *SentenceTransformersProvider) GenerateEmbeddings(ctx context.Context, texts []string) ([][]float64, error)
GenerateEmbeddings generates embeddings for multiple texts (batch)
func (*SentenceTransformersProvider) GetModelName ¶
func (p *SentenceTransformersProvider) GetModelName() string
GetModelName returns the model name
func (*SentenceTransformersProvider) GetProvider ¶
func (p *SentenceTransformersProvider) GetProvider() string
GetProvider returns the provider name
func (*SentenceTransformersProvider) IsAvailable ¶
func (p *SentenceTransformersProvider) IsAvailable(ctx context.Context) error
IsAvailable checks if Python and sentence-transformers are installed