rony-llm-agent/pkg/rag/embeddings/mock.go

26 lines
513 B
Go
Raw Normal View History

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
}