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
embedForConfiguration(string $text, LlmConfiguration $configuration, ?EmbeddingOptions $options = null): array-
Generate embedding vector for text against a specific LLM configuration, so the configuration's provider/model drive the call and per-configuration budgets and cost attribution apply.
- param string $text
-
The text to embed
- param LlmConfiguration $configuration
-
The configuration record to resolve provider/model from
- param ?EmbeddingOptions $options
-
Optional config
- Returns
-
array<float> Vector representation
embedBatchForConfiguration(array $texts, LlmConfiguration $configuration, ?EmbeddingOptions $options = null): array-
Generate embeddings for multiple texts against a specific LLM configuration in a single provider call.
- param array $texts
-
Array of texts
- param LlmConfiguration $configuration
-
The configuration record to resolve provider/model from
- 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]contains the cosine similarity between vectors[j] iandj. Diagonal values are always 1.0.- param array $vectors
-
Array of embedding vectors
- Returns
-
array 2D array of similarity scores