Welcome to GoodMem
Vector-based memory storage and retrieval with multiple embedder support
GoodMem Documentation
GoodMem is a powerful API for vector-based memory storage and retrieval with multiple embedder support. It enables creation of memory spaces, storing memories with vector representations, and efficient similarity-based retrieval.
Key Features
- Vector-based Storage: Store and retrieve memories using semantic similarity
- Multiple Embedders: Support for various embedding models (OpenAI, TEI, vLLM, etc.)
- Flexible Chunking: Configurable text chunking strategies for optimal retrieval
- Real-time Streaming: Stream search results and AI-generated summaries
- Multi-modal Support: Text, image, audio, and video content support
- Advanced Reranking: Improve search relevance with reranking models
Quick Start
Client SDKs
Get started with our client libraries for JavaScript, Python, Go, Java, and .NET
CLI Reference
Use the command-line interface for direct API interaction
Core Concepts
Spaces
Spaces are the fundamental storage units in GoodMem. All memories belong to a space, and each space can be configured with specific embedders and chunking strategies.
Memories
Memories are your stored content with associated metadata. They are automatically chunked and embedded for efficient retrieval.
Embedders
Embedders convert your content into vector representations. GoodMem supports multiple embedding providers and models.
Retrieval
Semantic search across your memories with AI-powered summarization and context-aware results.
Architecture
GoodMem provides:
- gRPC APIs generated from Protocol Buffers for type-safe, efficient communication
- REST APIs automatically generated from the gRPC definitions
- Client SDKs generated from OpenAPI specifications in multiple languages
- CLI tool for command-line operations and administration
Learn how the runtime publishes ports and files in Server runtime footprint.
Getting Started
- Choose your interface: Start with our Client SDKs for programmatic access or the CLI for command-line usage
- Set up authentication: Create API keys to authenticate your requests
- Create a space: Set up your first memory space with embedder configuration
- Store memories: Add your content as memories in the space
- Retrieve and search: Use semantic search to find relevant information
Ready to dive in? Check out our SDK documentation or CLI reference to get started!