providers

package
v0.9.19 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 10, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Index

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

type OllamaEmbeddingRequest struct {
	Model  string `json:"model"`
	Prompt string `json:"prompt"`
}

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

func (p *OllamaProvider) GenerateEmbedding(ctx context.Context, text string) ([]float64, error)

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

func (p *OpenAIProvider) GenerateEmbedding(ctx context.Context, text string) ([]float64, error)

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL