similarity

package
v0.45.0 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2026 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package similarity provides vector distance functions for semantic search.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CosineDistance

func CosineDistance(a, b []float32) (float64, error)

CosineDistance computes the cosine distance between two vectors. Returns a value in [0, 2] where 0 means identical direction and 2 means opposite direction. Lower values indicate more similar vectors. Vectors of different lengths return an error (see CosineSimilarity).

func CosineSimilarity

func CosineSimilarity(a, b []float32) (float64, error)

CosineSimilarity computes the cosine similarity between two vectors. Returns a value in [-1, 1] where 1 means identical direction, 0 means orthogonal, and -1 means opposite direction.

Vectors of different lengths return an error. The guard lives here rather than at the call sites because the loop below indexes both slices positionally: a shorter b would panic and a longer b would silently ignore its tail, and a caller that forgets its own check gets one or the other.

func NewEmbeddingClient added in v0.10.1

func NewEmbeddingClient(cfg *types.OptimizerConfig) (types.EmbeddingClient, error)

NewEmbeddingClient creates an EmbeddingClient from the given optimizer configuration, selecting the backend implementation from EmbeddingProvider. It returns (nil, nil) if cfg is nil or no embedding service URL is configured, meaning semantic search will be disabled.

Types

This section is empty.

Jump to

Keyboard shortcuts

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