Vector Databases for Memory
Master how AI agents use vector databases to store, search, and retrieve embeddings for semantic memory
Your Progress
0 / 5 completedUnderstanding Embeddings
An embedding is a dense numerical representation of text, images, or other data in a high-dimensional space. Words or sentences with similar meanings have similar embeddings.
For example: "cat" and "kitten" produce embeddings that are close together in vector space, while "cat" and "computer" are far apart.
Interactive: Text → Embedding Converter
Select different texts to see how they become numerical vectors. Similar concepts cluster together!
📊 Key Properties of Embeddings
📏High-Dimensional
Typically 384-1536 dimensions (OpenAI: 1536, Cohere: 768)
🎯Dense Vectors
Every dimension contains meaningful information (not sparse)
🧲Semantic Proximity
Similar meanings → close vectors in space
🔒Model-Specific
Embeddings from different models are incompatible
🤖 Popular Embedding Models
OpenAI text-embedding-3-small/large
APIHigh quality, 1536 dimensions, excellent for general-purpose semantic search
sentence-transformers/all-MiniLM-L6-v2
Open Source384 dimensions, fast inference, runs locally without API costs
Cohere embed-english-v3.0
API1024 dimensions, optimized for retrieval and clustering tasks
💻 Creating Embeddings (Code Example)
from openai import OpenAI
client = OpenAI()
text = "The cat sat on the mat"
response = client.embeddings.create(
model="text-embedding-3-small",
input=text
)
embedding = response.data[0].embedding
# embedding is a list of 1536 floats
print(f"Dimensions: {len(embedding)}")
print(f"First 5 values: {embedding[:5]}")from sentence_transformers import SentenceTransformer
model = SentenceTransformer('all-MiniLM-L6-v2')
text = "The cat sat on the mat"
embedding = model.encode(text)
# embedding is a numpy array of 384 floats
print(f"Dimensions: {embedding.shape}")
print(f"First 5 values: {embedding[:5]}")