Skip to content
HeartBeatAgents

Embedding Provider

View as Markdown

Turn on true semantic search for memory and skills by connecting an embedding provider, or skip it and rely on free text-only matching.

Vector search vs. text-only

Configure this from Settings → Embedding. By default, memory and skill lookups use text-only (keyword) matching, at no extra cost. Connecting an embedding provider turns on vector search instead, so a lookup matches by meaning rather than exact words. A toggle at the top of the page switches between Vector Search and Text-Only Search.

Supported providers

Seven providers, each with its own embedding model:

  • OpenAI
  • Voyage AI
  • Cohere
  • Mistral
  • Google Gemini
  • Hugging Face
  • Ollama (Local): the only option that needs no API key. Point it at a local Ollama install and use Discover to pull in whatever models you already have there.

Most providers show a model dropdown with each option's dimensions and per-token cost; Ollama and Hugging Face take a free-text model name instead.

Test before you save

Use Test Connection before saving a new or changed provider. It reports back the resulting vector's dimensions and latency, so you know the connection actually works before memory and skill search come to depend on it.

Changing providers later

Skill embeddings are rebuilt automatically in the background if you switch providers or models; existing skills keep working off their old vectors until the rebuild finishes, so search doesn't go dark in the meantime. Memory doesn't rebuild the same way: switching providers changes what new memories are compared against without retroactively rebuilding older ones. Treat a provider change as a decision to make early, not something to switch casually once an agent has built up meaningful memory.

If it's unset or fails

No embedding provider configured, or a provider that's unreachable, doesn't break memory or skill search: HeartBeatAgents falls back to text-only matching for that lookup instead of erroring out. See An Agent Isn't Recalling Memory Correctly if you're seeing that fallback happen unexpectedly.