Auto-Vectorization

Every message vectorized the moment it is saved

DialogueDB embeds every message, dialogue, and memory as it is stored. There is no vector database to run and no embedding pipeline to build, sync, or maintain.

Message stored

user

I keep getting logged out after about ten minutes of inactivity.

Vectorized automatically

Dense vector · meaning

Sparse vector · keywords

logged outinactivityten minutes
Indexed and retrievable in seconds

Where this usually breaks

Why keeping your own vector index in sync is harder than it looks

Whether you build it yourself or wire in a managed tool, three things tend to go wrong.

Separate vector indexes drift from your data

When you build it yourself, you write the sync code. When you use a managed service, they handle sync but you can't see how. Either way, your conversation data and the search index fall out of step, and you find out during an incident. DialogueDB manages the sync between your conversation data and the vector index, so they cannot fall behind.

Chunking and embedding choices land on your team

How content is chunked and which embedding model to use are decisions either way. Managed tools make them out of sight; build it yourself and the tuning becomes its own project. DialogueDB uses conversation-tuned defaults and shows what was indexed per record.

Bundled memory tools index a narrow surface

These tools usually only index extracted memories, not full messages or whole conversations. With a DIY setup, you decide what's indexable and most teams under-index by default. DialogueDB indexes messages, dialogues, and memories automatically, so anything in your conversation data is searchable.

How DialogueDB does it

Every message is indexed the moment it is saved

Every record you store is embedded and indexed the moment it is saved, dense and sparse vectors both. By the time your next request arrives, it is ready to retrieve.

Indexed by your next request

Vectorization happens the moment a record is written, not on a scheduled job or a nightly batch. There is no delay baked in, so it is retrievable seconds later.

Conversation-tuned defaults handle the indexing

How content is split and embedded is configured for conversation data, so the index lands well without tuning. Nothing on your team to maintain.

The vector index stays in sync without your code

Storing a message creates its vector. Deleting a message removes it. DialogueDB manages the entire sync between your conversation data and the vector index, so there is no pipeline for your team to build or monitor.

What happens when you write a message

1

Message written

dialogue.saveMessage() stores the message

2

Stream triggered

Database stream picks up the new record

3

Chunked and embedded

Content chunked, dense + sparse vectors generated

4

Index updated

Vector index updated, message is searchable

All managed by DialogueDB. No external pipeline for you to maintain.

See the code

Write, then search. Nothing in between.

No db.index(). No db.embed(). No db.sync(). The write and the search are the only two calls.

auto-vectorization.ts
const dialogue = await db.createDialogue()
 
// Store a message the way you already would
await dialogue.saveMessage({
role: "user",
content: "I keep getting logged out after ten minutes"
})
 
// No db.index(), no db.embed(), no db.sync().
// DialogueDB vectorizes it for you, in the background.
 
// By your next call, it is already retrievable
const { results } = await db.searchMessages(
"session timeout issues"
)

The write and the retrieval are the only two calls. Vectorization happens in between, on its own.

Auto-vectorization on every plan

Every message, dialogue, and memory is indexed the moment you store it, with no vector database to run and no embedding pipeline to configure.

What gets vectorized

Three object types, all vectorized automatically

Every message, dialogue, and memory is embedded and indexed on write. Nothing to configure per type, and nothing to index by hand.

Messages

Every turn is chunked and embedded as it is saved, so the exact moment a user reported an issue or asked a question is indexed.

Dialogues

Whole conversations are indexed, so a thread can be retrieved as a unit, not only its individual messages.

Memories

Persistent facts and user knowledge stored across sessions are embedded the same way, the moment they are written.

What's included

What automatic really means

All of this comes with the database, with no extra setup or configuration required.

Dense and sparse vectors for every record

Each record gets a dense vector for meaning and, on Starter and above, a sparse vector for exact terms, generated for you.

Chunking and embedding tuned for conversations

How content is split and embedded is configured for conversation data, so you never pick a model or tune a chunk size.

The index updates on write, update, and delete

Storing a record indexes it, editing re-indexes it, and deleting removes it, so the index never drifts from your data.

Indexed within seconds of being stored

Vectorization runs the moment a record is written, with no nightly reindex or batch job to wait on.

Per-record index status you can see

The index status, chunk count, and any failure reason are visible per record, so debugging an indexing issue is straightforward.

Messages, dialogues, and memories, all the same way

Every object type is embedded and indexed automatically, with no per-type setup.

How the approaches compare

How DialogueDB compares

Building your own or wiring in a managed service both work. The case isn't that those are bad. It's that they're separate projects, and this isn't.

ApproachSetupSync reliabilityChunkingWhat's indexed
Custom vector database setupSeparate account, index config, pipeline to buildManual, drift is your problemYou decideWhatever you index
Self-hosted vector databaseInfrastructure to run and maintainBetter if managed carefullyYou decideWhatever you index
Managed memory serviceLowUsually automaticNot configurableExtracted memories only
DialogueDBNoneAutomatic, no driftConversation-tuned defaultsMessages, dialogues, memories

Frequently asked questions

Your conversations are vectorized
from the first message

No vector database to run. No embedding pipeline to maintain. Every record is indexed the moment it is stored.