25 lines
513 B
Go
25 lines
513 B
Go
package embeddings
|
|
|
|
import (
|
|
"context"
|
|
)
|
|
|
|
// MockEmbedder is a test double for Embedder.
|
|
type MockEmbedder struct {
|
|
EmbedFunc func(ctx context.Context, text string) ([]float32, error)
|
|
DimensionsFn func() int
|
|
}
|
|
|
|
func (m *MockEmbedder) Embed(ctx context.Context, text string) ([]float32, error) {
|
|
if m.EmbedFunc != nil {
|
|
return m.EmbedFunc(ctx, text)
|
|
}
|
|
return []float32{0.1, 0.2, 0.3}, nil
|
|
}
|
|
|
|
func (m *MockEmbedder) Dimensions() int {
|
|
if m.DimensionsFn != nil {
|
|
return m.DimensionsFn()
|
|
}
|
|
return 3
|
|
}
|