EmbeddingService
- class EmbeddingService
-
- Fully qualified name
-
\Netresearch\
Nr Llm\ Service\ Feature\ Embedding Service
Text-to-vector conversion with caching and similarity operations.
- embed ( string $text, ?EmbeddingOptions $options = null) : array
-
Generate embedding vector for text (cached).
- param string $text
-
The text to embed
- param ?EmbeddingOptions $options
-
Optional config
- Returns
-
array<float> Vector representation
- embedFull ( string $text, ?EmbeddingOptions $options = null) : EmbeddingResponse
-
Generate embedding with full response metadata.
- param string $text
-
The text to embed
- param ?EmbeddingOptions $options
-
Optional config
- Returns
-
EmbeddingResponse
- embedBatch ( array $texts, ?EmbeddingOptions $options = null) : array
-
Generate embeddings for multiple texts.
- param array $texts
-
Array of texts
- param ?EmbeddingOptions $options
-
Optional config
- Returns
-
array<array<float>> Array of vectors
- cosineSimilarity ( array $a, array $b) : float
-
Calculate cosine similarity between two vectors.
- param array $a
-
First vector
- param array $b
-
Second vector
- Returns
-
float Similarity score (-1 to 1)
- findMostSimilar ( array $queryVector, array $candidates, int $topK = 5) : array
-
Find most similar vectors from candidates.
- param array $queryVector
-
The query vector
- param array $candidates
-
Array of candidate vectors
- param int $topK
-
Number of results to return
- Returns
-
array Sorted by similarity (highest first)
- pairwiseSimilarities ( array $vectors) : array
-
Calculate pairwise similarities between all vectors.
Returns a 2D matrix where each cell
[i][j]contains the cosine similarity between vectorsiandj. Diagonal values are always 1.0.- param array $vectors
-
Array of embedding vectors
- Returns
-
array 2D array of similarity scores