Vector Databases

Store embeddings and search for similar content.

Vector databases store content as embeddings and enable similarity search. When an agent searches the knowledge base, the query is converted to an embedding and matched against stored vectors to find relevant content.

How It Works

Chunk

Documents are split into smaller pieces for more precise retrieval.

Embed

Each chunk is converted to a vector embedding and stored in the database.

Search

Queries are embedded and matched against stored vectors to find similar content.

Many vector databases support a hybrid search mode that combines vector similarity with a provider-specific keyword or lexical ranking.

Hybrid search works by:

  1. Finding semantically similar content via vector search
  2. Finding lexical matches with the database's keyword-search implementation
  3. Combining lexical and vector signals using the selected database’s scoring or rank-fusion algorithm

Supported Databases

Choosing a Database

Async Support

Vector databases with async support let an async application await ingestion and search I/O. Use ainsert and asearch inside an existing event loop.

# Async insert
await knowledge.ainsert(url="https://example.com/docs.pdf")

# Async search
results = await knowledge.asearch(query="How do I configure X?")