Agent memory management for Go LLM applications. Pluggable embeddings + vector stores.
mgr := memoryrails.NewManager(embedder, store)
// Store a memory
mgr.Remember(ctx, "User prefers dark mode", memoryrails.TypeFact, nil)
// Recall relevant memories
results, _ := mgr.Recall(ctx, "What are the user's preferences?", memoryrails.RecallOptions{Limit: 5})go get github.com/promptrails/memoryrails- 5 memory types — conversation, fact, procedure, episodic, semantic
- 8 embedding providers — OpenAI, Ollama, Cohere, Gemini, Voyage AI, Fireworks, OpenRouter, Amazon Bedrock
- Pluggable vector stores — in-memory (included), pgvector, SQLite, Qdrant, Amazon OpenSearch
- Importance scoring — time-based decay + access frequency boost
- Semantic search — cosine similarity with configurable threshold
- Access tracking — automatic retrieval count and timestamp
- Framework independent — works with any Go LLM library
| Provider | Package | Models |
|---|---|---|
| OpenAI | embedders/openai |
text-embedding-3-small (1536d), text-embedding-3-large (3072d) |
| Ollama | embedders/ollama |
nomic-embed-text, mxbai-embed-large, all-minilm |
| Cohere | embedders/cohere |
embed-v4.0 (1024d) |
| Gemini | embedders/gemini |
text-embedding-004 (768d) |
| Voyage AI | embedders/voyage |
voyage-3 (1024d) |
| Fireworks | embedders/fireworks |
nomic-embed-text-v1.5 (768d), gte-large, bge-large-en-v1.5 |
| OpenRouter | embedders/openrouter |
Routes to any OpenRouter-supported embedding model |
| Amazon Bedrock | embedders/bedrock |
Titan Text v2 (1024d, configurable), Titan v1 (1536d), Cohere Embed v3 (1024d) — AWS SigV4 |
| Store | Package | Use Case |
|---|---|---|
| In-Memory | stores/inmemory |
Development, testing, small scale (< 10K) |
| PostgreSQL + pgvector | stores/pgvector |
Production, HNSW indexing, GORM |
| SQLite | stores/sqlite |
Edge, CLI tools, single-machine |
| Qdrant | stores/qdrant |
High-performance vector DB, REST API |
| Amazon OpenSearch | stores/opensearch |
AWS-managed k-NN search; Serverless (aoss) or domains (es), AWS SigV4 |
| Getting Started | Installation and quick start |
| Embedders | Embedding provider configuration |
| Stores | Vector store backends |
| Scoring | Importance decay and retrieval ranking |
Full docs: promptrails.github.io/memoryrails
- LangRails — Unified LLM provider interface
- GuardRails — Content safety scanning
- MemoryRails — Agent memory management
- MediaRails — AI media generation
MIT — PromptRails