A similarity metric produces a numerical score for how closely two represented items align. With embeddings, cosine similarity compares query and document vectors by semantic direction rather than surface wording. section 3.4.1
For Q query embeddings and D document embeddings, the resulting (Q, D) tensor records each pairwise alignment. Higher values indicate stronger similarity, approaching 1.0 for directionally aligned vectors. section 3.4.1
Listing 3.7 Similarity search between documents and query
model = SentenceTransformer('Owen/Owen3-Embedding-0.6B') #1
queries = [ #2
'What is an embedding in machine learning?',
'How are embeddings generated in transformer models?'
]
documents = [
'Embeddings are vector representations of data, such as words or
sentences, used to capture semantic relationships in machine learning
models.',
'Transformer models generate embeddings by passing input tokens through
multiple layers of attention and feedforward networks, producing
contextualized vector outputs.'
]
query_embeddings = model.encode(queries, prompt_name='query')
document_embeddings = model.encode(documents)
similarity_scores = util.cos_sim(
query_embeddings, document_embeddings) #3
print(similarity_scores)
Encode queries and documents with a pretrained embedding model, then compute their cosine-similarity matrix. section 3.4.1
tensor([[0.6683, 0.5525], [0.5882, 0.7510]])
Read the pairwise scores to identify which document most closely matches each query. section 3.4.1









