Long-term memory with vector stores helps AI remember and find important information quickly by storing it as numbers.
Long-term memory with vector stores in Agentic AI
Start learning this pattern below
Jump into concepts and practice - no test required
vector_store = VectorStore()
vector_store.add(data_vector, metadata)
results = vector_store.search(query_vector, top_k=5)VectorStore() creates a place to save data as vectors (lists of numbers).
add() saves a vector with extra info (metadata).
vector_store = VectorStore() vector_store.add([0.1, 0.2, 0.3], {'text': 'Hello world'}) results = vector_store.search([0.1, 0.2, 0.3], top_k=1)
vector_store = VectorStore() for vec, meta in data: vector_store.add(vec, meta) results = vector_store.search(query_vec, top_k=3)
This program creates a simple vector store that saves vectors and their text labels. It then searches for the two closest vectors to a query and prints their text and similarity scores.
from sklearn.metrics.pairwise import cosine_similarity class VectorStore: def __init__(self): self.vectors = [] self.metadata = [] def add(self, vector, meta): self.vectors.append(vector) self.metadata.append(meta) def search(self, query_vector, top_k=1): import numpy as np if not self.vectors: return [] sims = cosine_similarity([query_vector], self.vectors)[0] top_indices = sims.argsort()[::-1][:top_k] return [(self.metadata[i], sims[i]) for i in top_indices] # Create vector store store = VectorStore() # Add some vectors with text metadata store.add([0.1, 0.2, 0.3], {'text': 'Hello world'}) store.add([0.4, 0.5, 0.6], {'text': 'Goodbye world'}) store.add([0.1, 0.0, 0.1], {'text': 'Hello again'}) # Search for vectors similar to query query = [0.1, 0.2, 0.25] results = store.search(query, top_k=2) # Print results for meta, score in results: print(f"Text: {meta['text']}, Similarity: {score:.3f}")
Vectors are lists of numbers that represent information in a way AI can understand.
Cosine similarity measures how close two vectors are, from -1 (opposite) to 1 (same).
Vector stores help AI remember and find info quickly without reading everything again.
Long-term memory with vector stores saves info as number lists for fast recall.
It is useful for chatbots, search, and remembering past data.
Adding and searching vectors uses similarity to find the best matches.
Practice
Solution
Step 1: Understand vector store role
Vector stores save data as number lists (vectors) to represent information compactly.Step 2: Identify purpose in AI memory
This allows fast searching by comparing vector similarity, making recall efficient.Final Answer:
To save information as lists of numbers for quick searching -> Option DQuick Check:
Vector store = number lists for fast recall [OK]
- Thinking vector stores save raw images or videos
- Confusing vector stores with simple text files
- Assuming vector stores slow down retrieval
Solution
Step 1: Identify typical vector store method
Common vector stores use an add_vector method with id and vector parameters.Step 2: Match correct syntax
vector_store.add_vector(id='doc1', vector=[0.1, 0.2, 0.3]) matches this pattern: add_vector(id='doc1', vector=[0.1, 0.2, 0.3]). Others use incorrect method names or argument order.Final Answer:
vector_store.add_vector(id='doc1', vector=[0.1, 0.2, 0.3]) -> Option CQuick Check:
Correct method and argument names = vector_store.add_vector(id='doc1', vector=[0.1, 0.2, 0.3]) [OK]
- Using wrong method names like insert or push_vector
- Swapping argument order
- Missing parameter names
query_vector = [0.5, 0.5] results = vector_store.search(query_vector, top_k=2) print(results)Assuming the vector store contains vectors close to [0.5, 0.5] for ids 'docA' and 'docB'.
Solution
Step 1: Understand search behavior
The search method returns the top_k closest vectors by similarity score.Step 2: Match expected results
Since 'docA' and 'docB' are closest to [0.5, 0.5], they appear with high similarity scores like 0.98 and 0.95.Final Answer:
[('docA', 0.98), ('docB', 0.95)] -> Option AQuick Check:
Top matches with high similarity = [('docA', 0.98), ('docB', 0.95)] [OK]
- Expecting unrelated documents in results
- Assuming empty list if vectors exist
- Thinking search method causes error
vector_store.add_vector([0.1, 0.2, 0.3], id='doc1')What is the likely cause of the error?
Solution
Step 1: Check method signature
add_vector usually expects id first, then vector as keyword arguments.Step 2: Identify argument order error
Passing vector first without naming causes error; correct call is add_vector(id='doc1', vector=[0.1, 0.2, 0.3]).Final Answer:
The add_vector method requires id first, then vector as keyword arguments -> Option AQuick Check:
Correct argument order = The add_vector method requires id first, then vector as keyword arguments [OK]
- Passing vector before id without naming
- Thinking vectors must be strings
- Assuming method does not exist
Solution
Step 1: Understand vector store advantage
Vector stores allow searching by similarity, capturing meaning beyond exact words.Step 2: Compare options for retrieval quality
Convert conversation texts into vectors and search by similarity in the vector store converts texts to vectors and searches by similarity, enabling fast and accurate recall of related past conversations.Final Answer:
Convert conversation texts into vectors and search by similarity in the vector store -> Option BQuick Check:
Similarity search in vector store = best for relevant recall [OK]
- Relying on keyword matching only
- Using random vectors losing relevance
- Reading plain text files linearly
