retrieval

Finding the most relevant document chunks for a given query using semantic similarity. Top-k retrieval returns the k closest vectors to the query embedding.

Syntax

rag
query_vector = embed(query)
top_k_chunks = vector_store.similarity_search(query_vector, k=5)

Example

rag
# Retrieval pipeline:
def retrieve(query, vector_store, embed_model, top_k=5):
    # 1. Embed the query:
    query_vector = embed_model.encode(query)
    
    # 2. Search for similar chunks:
    results = vector_store.query(
        query_embeddings=[query_vector.tolist()],
        n_results=top_k
    )
    
    # 3. Return retrieved documents:
    return results["documents"][0]