Documentation
¶
Index ¶
Constants ¶
View Source
const MaxPayloadBytes = 64 * 1024
Variables ¶
View Source
var ( ErrPayloadTooLarge = errors.New("embedder payload too large") )
View Source
var ErrPoolFull = &poolFullError{}
Functions ¶
Types ¶
type Config ¶
type Config struct {
Provider Provider `yaml:"provider"`
Ollama *OllamaConfig `yaml:"ollama,omitempty"`
OpenAI *OpenAIConfig `yaml:"openai,omitempty"`
}
type EmbedOutcome ¶
EmbedOutcome is what pool.Embed sends back: either a successful Embedding (Err == nil) or an error (Embedding zero-valued). One value, one close — callers can read with `case out := <-ch:` and never have to race between two channels.
type EmbedRequest ¶
type EmbedRequest struct {
ToolName string
Args json.RawMessage
}
func (EmbedRequest) Input ¶
func (r EmbedRequest) Input() string
type OllamaConfig ¶
type OllamaEmbedder ¶
type OllamaEmbedder struct {
// contains filtered or unexported fields
}
func NewOllamaEmbedder ¶
func NewOllamaEmbedder(cfg OllamaConfig, logger *slog.Logger) (*OllamaEmbedder, error)
func (*OllamaEmbedder) Close ¶
func (e *OllamaEmbedder) Close() error
func (*OllamaEmbedder) Embed ¶
func (e *OllamaEmbedder) Embed(ctx context.Context, req EmbedRequest) (Embedding, error)
func (*OllamaEmbedder) Provider ¶
func (e *OllamaEmbedder) Provider() Provider
type OpenAIConfig ¶
type OpenAIEmbedder ¶
type OpenAIEmbedder struct {
// contains filtered or unexported fields
}
func NewOpenAIEmbedder ¶
func NewOpenAIEmbedder(cfg OpenAIConfig, logger *slog.Logger) (*OpenAIEmbedder, error)
func (*OpenAIEmbedder) Close ¶
func (e *OpenAIEmbedder) Close() error
func (*OpenAIEmbedder) Embed ¶
func (e *OpenAIEmbedder) Embed(ctx context.Context, req EmbedRequest) (Embedding, error)
func (*OpenAIEmbedder) Provider ¶
func (e *OpenAIEmbedder) Provider() Provider
type Pool ¶
type Pool struct {
// contains filtered or unexported fields
}
func (*Pool) Embed ¶
func (p *Pool) Embed(ctx context.Context, req EmbedRequest) <-chan EmbedOutcome
type PoolConfig ¶
Click to show internal directories.
Click to hide internal directories.