v0.2.0¶
Release Date: 2026-08-02
Adds the first production core.Embedder implementation, making semantic search
work out of the box. Embeddings are produced by
omnillm-core providers, so
OmniMemory does not maintain its own per-vendor embedding integrations.
Highlights¶
- Production embedder:
embedder.NewFromConfigconstructs acore.Embedderfrom configuration — no more hand-rolled embedders for common cases - omnillm-core backed: any embedding provider omnillm-core registers (OpenAI today) is selectable by name, with no OmniMemory code changes
- Non-breaking: purely additive; existing APIs are unchanged
Features¶
Embeddings¶
embedder.NewFromConfig(core.EmbedderConfig)factory that selects an embedding provider by name (Provider), withModel,Dimension, andEndpoint(base URL) options- Adapter over omnillm-core's
EmbeddingProvider, mappingEmbed/EmbedBatch/DimensionontoCreateEmbedding - An explicit
Dimensionis forwarded to the provider only when set, so models without the dimensions parameter (e.g.text-embedding-ada-002) keep working
Installation¶
Quick Start¶
import (
"github.com/plexusone/omnimemory"
"github.com/plexusone/omnimemory/core"
"github.com/plexusone/omnimemory/embedder"
_ "github.com/plexusone/omnimemory/provider/memory"
)
// Build an embedder from configuration.
emb, err := embedder.NewFromConfig(core.EmbedderConfig{
Provider: "openai",
APIKey: os.Getenv("OPENAI_API_KEY"),
Model: "text-embedding-3-small",
})
if err != nil {
log.Fatal(err)
}
// Pass it to the client for semantic search.
client, _ := omnimemory.NewClient(core.ClientConfig{
Providers: []core.ProviderConfig{
{Name: core.ProviderNameMemory},
},
Embedder: emb,
})
defer client.Close()
For an OpenAI-compatible endpoint (e.g. a local Ollama server), set Endpoint:
emb, _ := embedder.NewFromConfig(core.EmbedderConfig{
Provider: "openai",
Model: "nomic-embed-text",
APIKey: "ollama",
Endpoint: "http://localhost:11434/v1",
})
Breaking Changes¶
None. This release is additive.
Dependencies¶
| Dependency | Version | Purpose |
|---|---|---|
github.com/plexusone/omnillm-core |
v0.18.0 | Embedding providers |