Installation
Requirements
- Go 1.21 or later
- PostgreSQL 15+ with pgvector extension (for PostgreSQL provider)
Install Package
go get github.com/plexusone/omnimemory
Provider-Specific Dependencies
In-Memory Provider
No additional dependencies required. Ideal for testing and development.
import _ "github.com/plexusone/omnimemory/provider/memory"
PostgreSQL Provider
Requires PostgreSQL with the pgvector extension installed.
# Install pgvector in PostgreSQL
CREATE EXTENSION IF NOT EXISTS vector;
import _ "github.com/plexusone/omnimemory/provider/postgres"
KVS Provider
Requires omnistorage-core for the underlying key-value store.
go get github.com/plexusone/omnistorage-core
import _ "github.com/plexusone/omnimemory/provider/kvs"
Twilio Memory Provider
Available as a separate module in omni-twilio.
go get github.com/plexusone/omni-twilio
import _ "github.com/plexusone/omni-twilio/omnimemory"
Embedding Generation
OmniMemory requires an embedder for semantic search. The default uses omnillm-core:
go get github.com/plexusone/omnillm-core
Configure your embedding provider:
export OPENAI_API_KEY="your-api-key"
Verify Installation
package main
import (
"fmt"
"github.com/plexusone/omnimemory/core"
)
func main() {
providers := core.ListProviders()
fmt.Printf("Available providers: %v\n", providers)
}