Documentation
¶
Index ¶
- Variables
- func AsFloat32(data []float64) []float32
- func AsFloat64(data []float32) []float64
- func EmbedderSchemes() []string
- func RegisterEmbedder[T Float](ctx context.Context, scheme string, init_func EmbedderInitializationFunc[T]) error
- type CommonEmbeddingsResponse
- func (r *CommonEmbeddingsResponse[T]) Created() int64
- func (r *CommonEmbeddingsResponse[T]) Dimensions() int32
- func (r *CommonEmbeddingsResponse[T]) Embeddings() []T
- func (r *CommonEmbeddingsResponse[T]) Id() string
- func (r *CommonEmbeddingsResponse[T]) Model() string
- func (r *CommonEmbeddingsResponse[T]) Precision() string
- type Embedder
- func NewEmbedder[T Float](ctx context.Context, uri string) (Embedder[T], error)
- func NewEmbedder32(ctx context.Context, uri string) (Embedder[float32], error)
- func NewEmbedder64(ctx context.Context, uri string) (Embedder[float64], error)
- func NewEncoderfileEmbedder[T Float](ctx context.Context, uri string) (Embedder[T], error)
- func NewLlamafileEmbedder[T Float](ctx context.Context, uri string) (Embedder[T], error)
- func NewMLXClipEmbedder[T Float](ctx context.Context, uri string) (Embedder[T], error)
- func NewMLXClipLocalClientEmbedder[T Float](ctx context.Context, uri string) (Embedder[T], error)
- func NewMobileCLIPEmbedder[T Float](ctx context.Context, uri string) (Embedder[T], error)
- func NewNullEmbedder[T Float](ctx context.Context, uri string) (Embedder[T], error)
- func NewOllamaEmbedder[T Float](ctx context.Context, uri string) (Embedder[T], error)
- func NewOpenCLIPEmbedder[T Float](ctx context.Context, uri string) (Embedder[T], error)
- func NewSigLIPCommandLineEmbedder[T Float](ctx context.Context, uri string) (Embedder[T], error)
- func NewSigLIPLocalClientEmbedder[T Float](ctx context.Context, uri string) (Embedder[T], error)
- type EmbedderInitializationFunc
- type EmbeddingsRequest
- type EmbeddingsResponse
- type EncoderfileEmbedder
- type Float
- type LlamafileEmbedder
- type LocalClient
- type LocalClientEmbeddingRequest
- type LocalClientEmbeddingResponse
- type LocalClientImageDataEmbeddingRequest
- type MLXClipEmbedder
- type MLXClipEmbeddingsResponse
- type MLXClipLocalClientEmbedder
- type MobileCLIPEmbedder
- type NullEmbedder
- type OllamaEmbedder
- type OpenCLIPEmbedder
- type SigLIPCommandLineEmbedder
- type SigLIPLocalClientEmbedder
Constants ¶
This section is empty.
Variables ¶
var NotImplemented = errors.New("Not implemented")
Functions ¶
func EmbedderSchemes ¶
func EmbedderSchemes() []string
Schemes returns the list of schemes that have been registered.
func RegisterEmbedder ¶
func RegisterEmbedder[T Float](ctx context.Context, scheme string, init_func EmbedderInitializationFunc[T]) error
RegisterEmbedder registers 'scheme' as a key pointing to 'init_func' in an internal lookup table used to create new `Embedder` instances by the `NewEmbedder` method.
Types ¶
type CommonEmbeddingsResponse ¶ added in v0.1.0
type CommonEmbeddingsResponse[T Float] struct { EmbeddingsResponse[T] `json:",omitempty"` CommonId string `json:"id,omitempty"` CommonEmbeddings []T `json:"embeddings"` CommonModel string `json:"model"` CommonCreated int64 `json:"created"` CommonPrecision string `json:"precision"` }
func (*CommonEmbeddingsResponse[T]) Created ¶ added in v0.1.0
func (r *CommonEmbeddingsResponse[T]) Created() int64
func (*CommonEmbeddingsResponse[T]) Dimensions ¶ added in v0.1.0
func (r *CommonEmbeddingsResponse[T]) Dimensions() int32
func (*CommonEmbeddingsResponse[T]) Embeddings ¶ added in v0.1.0
func (r *CommonEmbeddingsResponse[T]) Embeddings() []T
func (*CommonEmbeddingsResponse[T]) Id ¶ added in v0.1.0
func (r *CommonEmbeddingsResponse[T]) Id() string
func (*CommonEmbeddingsResponse[T]) Model ¶ added in v0.1.0
func (r *CommonEmbeddingsResponse[T]) Model() string
func (*CommonEmbeddingsResponse[T]) Precision ¶ added in v0.1.0
func (r *CommonEmbeddingsResponse[T]) Precision() string
type Embedder ¶
type Embedder[T Float] interface { TextEmbeddings(context.Context, *EmbeddingsRequest) (EmbeddingsResponse[T], error) ImageEmbeddings(context.Context, *EmbeddingsRequest) (EmbeddingsResponse[T], error) }
Embedder defines an interface for generating (vector) embeddings
func NewEmbedder ¶
newEmbedder returns a new `Embedder` instance configured by 'uri'. The value of 'uri' is parsed as a `url.URL` and its scheme is used as the key for a corresponding `EmbedderInitializationFunc` function used to instantiate the new `Embedder`. It is assumed that the scheme (and initialization function) have been registered by the `RegisterEmbedder` method.
func NewEmbedder32 ¶ added in v0.1.0
func NewEmbedder64 ¶ added in v0.1.0
func NewEncoderfileEmbedder ¶ added in v0.1.0
func NewLlamafileEmbedder ¶ added in v0.1.0
func NewMLXClipEmbedder ¶ added in v0.1.0
func NewMLXClipLocalClientEmbedder ¶ added in v0.4.0
func NewMobileCLIPEmbedder ¶ added in v0.1.0
func NewNullEmbedder ¶
func NewOllamaEmbedder ¶ added in v0.1.0
func NewOpenCLIPEmbedder ¶ added in v0.1.0
func NewSigLIPCommandLineEmbedder ¶ added in v0.3.0
type EmbedderInitializationFunc ¶
EmbedderInitializationFunc is a function defined by individual embedder package and used to create an instance of that embedder
type EmbeddingsRequest ¶ added in v0.1.0
type EmbeddingsResponse ¶ added in v0.1.0
type EncoderfileEmbedder ¶ added in v0.1.0
EncoderfileEmbedder implements the `Embedder` interface using an Encoderfile API endpoint to derive embeddings.
func (*EncoderfileEmbedder[T]) ImageEmbeddings ¶ added in v0.1.0
func (e *EncoderfileEmbedder[T]) ImageEmbeddings(ctx context.Context, req *EmbeddingsRequest) (EmbeddingsResponse[T], error)
func (*EncoderfileEmbedder[T]) TextEmbeddings ¶ added in v0.1.0
func (e *EncoderfileEmbedder[T]) TextEmbeddings(ctx context.Context, req *EmbeddingsRequest) (EmbeddingsResponse[T], error)
type LlamafileEmbedder ¶ added in v0.1.0
LlamafileEmbedder implements the `Embedder` interface using an Llamafile API endpoint to derive embeddings.
func (*LlamafileEmbedder[T]) ImageEmbeddings ¶ added in v0.1.0
func (e *LlamafileEmbedder[T]) ImageEmbeddings(ctx context.Context, req *EmbeddingsRequest) (EmbeddingsResponse[T], error)
func (*LlamafileEmbedder[T]) TextEmbeddings ¶ added in v0.1.0
func (e *LlamafileEmbedder[T]) TextEmbeddings(ctx context.Context, req *EmbeddingsRequest) (EmbeddingsResponse[T], error)
type LocalClient ¶ added in v0.3.0
type LocalClient struct {
// contains filtered or unexported fields
}
func NewLocalClient ¶ added in v0.3.0
func NewLocalClient(ctx context.Context, uri string) (*LocalClient, error)
type LocalClientEmbeddingRequest ¶ added in v0.3.0
type LocalClientEmbeddingRequest struct {
Content string `json:"content,omitempty"`
ImageData []*LocalClientImageDataEmbeddingRequest `json:"image_data,omitempty"`
}
type LocalClientEmbeddingResponse ¶ added in v0.3.0
type LocalClientImageDataEmbeddingRequest ¶ added in v0.3.0
type MLXClipEmbedder ¶ added in v0.1.0
func (*MLXClipEmbedder[T]) ImageEmbeddings ¶ added in v0.1.1
func (e *MLXClipEmbedder[T]) ImageEmbeddings(ctx context.Context, req *EmbeddingsRequest) (EmbeddingsResponse[T], error)
func (*MLXClipEmbedder[T]) TextEmbeddings ¶ added in v0.1.1
func (e *MLXClipEmbedder[T]) TextEmbeddings(ctx context.Context, req *EmbeddingsRequest) (EmbeddingsResponse[T], error)
type MLXClipEmbeddingsResponse ¶ added in v0.4.0
type MLXClipLocalClientEmbedder ¶ added in v0.4.0
type MLXClipLocalClientEmbedder[T Float] struct { Embedder[T] // contains filtered or unexported fields }
func (*MLXClipLocalClientEmbedder[T]) ImageEmbeddings ¶ added in v0.4.0
func (e *MLXClipLocalClientEmbedder[T]) ImageEmbeddings(ctx context.Context, req *EmbeddingsRequest) (EmbeddingsResponse[T], error)
func (*MLXClipLocalClientEmbedder[T]) TextEmbeddings ¶ added in v0.4.0
func (e *MLXClipLocalClientEmbedder[T]) TextEmbeddings(ctx context.Context, req *EmbeddingsRequest) (EmbeddingsResponse[T], error)
type MobileCLIPEmbedder ¶ added in v0.1.0
MobileCLIPEmbedder implements the `Embedder` interface using an MobileCLIP API endpoint to derive embeddings.
func (*MobileCLIPEmbedder[T]) ImageEmbeddings ¶ added in v0.1.0
func (e *MobileCLIPEmbedder[T]) ImageEmbeddings(ctx context.Context, req *EmbeddingsRequest) (EmbeddingsResponse[T], error)
func (*MobileCLIPEmbedder[T]) TextEmbeddings ¶ added in v0.1.0
func (e *MobileCLIPEmbedder[T]) TextEmbeddings(ctx context.Context, req *EmbeddingsRequest) (EmbeddingsResponse[T], error)
type NullEmbedder ¶
NullEmbedder implements the `Embedder` interface using an Null API endpoint to derive embeddings.
func (*NullEmbedder[T]) ImageEmbeddings ¶
func (e *NullEmbedder[T]) ImageEmbeddings(ctx context.Context, req *EmbeddingsRequest) (EmbeddingsResponse[T], error)
func (*NullEmbedder[T]) TextEmbeddings ¶ added in v0.1.0
func (e *NullEmbedder[T]) TextEmbeddings(ctx context.Context, req *EmbeddingsRequest) (EmbeddingsResponse[T], error)
type OllamaEmbedder ¶ added in v0.1.0
OllamaEmbedder implements the `Embedder` interface using an Ollama API endpoint to derive embeddings.
func (*OllamaEmbedder[T]) ImageEmbeddings ¶ added in v0.1.0
func (e *OllamaEmbedder[T]) ImageEmbeddings(ctx context.Context, req *EmbeddingsRequest) (EmbeddingsResponse[T], error)
func (*OllamaEmbedder[T]) TextEmbeddings ¶ added in v0.1.0
func (e *OllamaEmbedder[T]) TextEmbeddings(ctx context.Context, req *EmbeddingsRequest) (EmbeddingsResponse[T], error)
type OpenCLIPEmbedder ¶ added in v0.1.0
OpenCLIPEmbedder implements the `Embedder` interface using an OpenCLIP API endpoint to derive embeddings.
func (*OpenCLIPEmbedder[T]) ImageEmbeddings ¶ added in v0.1.0
func (e *OpenCLIPEmbedder[T]) ImageEmbeddings(ctx context.Context, req *EmbeddingsRequest) (EmbeddingsResponse[T], error)
func (*OpenCLIPEmbedder[T]) TextEmbeddings ¶ added in v0.1.0
func (e *OpenCLIPEmbedder[T]) TextEmbeddings(ctx context.Context, req *EmbeddingsRequest) (EmbeddingsResponse[T], error)
type SigLIPCommandLineEmbedder ¶ added in v0.3.0
type SigLIPCommandLineEmbedder[T Float] struct { Embedder[T] // contains filtered or unexported fields }
func (*SigLIPCommandLineEmbedder[T]) ImageEmbeddings ¶ added in v0.3.0
func (e *SigLIPCommandLineEmbedder[T]) ImageEmbeddings(ctx context.Context, req *EmbeddingsRequest) (EmbeddingsResponse[T], error)
func (*SigLIPCommandLineEmbedder[T]) TextEmbeddings ¶ added in v0.3.0
func (e *SigLIPCommandLineEmbedder[T]) TextEmbeddings(ctx context.Context, req *EmbeddingsRequest) (EmbeddingsResponse[T], error)
type SigLIPLocalClientEmbedder ¶ added in v0.3.0
type SigLIPLocalClientEmbedder[T Float] struct { Embedder[T] // contains filtered or unexported fields }
func (*SigLIPLocalClientEmbedder[T]) ImageEmbeddings ¶ added in v0.3.0
func (e *SigLIPLocalClientEmbedder[T]) ImageEmbeddings(ctx context.Context, req *EmbeddingsRequest) (EmbeddingsResponse[T], error)
func (*SigLIPLocalClientEmbedder[T]) TextEmbeddings ¶ added in v0.3.0
func (e *SigLIPLocalClientEmbedder[T]) TextEmbeddings(ctx context.Context, req *EmbeddingsRequest) (EmbeddingsResponse[T], error)