tinyhumansai/openhuman · error
memory_vector_search: embedding provider failed: {e}
Error message
memory_vector_search: embedding provider failed: {e} What it means
Constructing or initializing the embedding provider for the query failed. `memory_vector_search` must embed the query text before comparing it to chunk vectors; this fires when provider resolution or setup errors (missing API key, unknown provider name, unreachable configured endpoint), with `{e}` naming the provider-side cause.
Source
Thrown at src/openhuman/memory/tools/search/vector_search.rs:139
let config = config_rpc::load_config_with_timeout()
.await
.map_err(|e| anyhow::anyhow!("memory_vector_search: load config failed: {e}"))?;
// Chunks are read through the bound driver, not by opening the store
// in this process. Before the module port this called
// `list_chunks(&config, …)` directly, which resolved the workspace path
// and opened the same SQLite database the loaded module already had
// open — two engine instances over one file, with the module not
// authoritative. See `docs/specs/2026-08-13-memory-module-port.md` §2.1.
let guard = active_memory_guard()
.await
.map_err(|e| anyhow::anyhow!("memory_vector_search: {e}"))?;
let chunk_reader = guard.as_chunks().ok_or_else(|| {
anyhow::anyhow!("memory_vector_search: memory driver does not support the chunk family")
})?;
let embedder = provider_from_config(&config)
.map_err(|e| anyhow::anyhow!("memory_vector_search: embedding provider failed: {e}"))?;
let query_vec = embedder
.embed_one(&parsed.query)
.await
.map_err(|e| anyhow::anyhow!("memory_vector_search: embedding query failed: {e}"))?;
let source_kind = match parsed.source_kind.as_deref() {
Some(s) => Some(
SourceKind::parse(s).map_err(|e| anyhow::anyhow!("memory_vector_search: {e}"))?,
),
None => None,
};
let since_ms = parsed.time_window_days.map(|days| {
let now_ms = chrono::Utc::now().timestamp_millis();
now_ms - (i64::from(days) * 86_400_000)
});
View on GitHub (pinned to 7491200858)
Solutions
- Check `{e}` for the provider-specific cause
- Verify embedding provider config (API key, base URL, model) in settings
- Confirm network reachability for hosted embedding endpoints
- Retry once for transient provider errors
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at src/openhuman/memory/tools/search/vector_search.rs:139 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17).
Data as JSON: /api/errors/eb50e92294d86224.
Report an issue: GitHub.