Skip to content

Commit 4ba1d73

Browse files
committed
Checkpoint
1 parent e174c0f commit 4ba1d73

14 files changed

+3723
-313
lines changed

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,16 @@ A Redis-powered memory server built for AI agents and applications. It manages b
1515
- **Long-Term Memory**
1616

1717
- Persistent storage for memories across sessions
18+
- **Pluggable Vector Store Backends** - Support for multiple vector databases through LangChain VectorStore interface:
19+
- **Redis** (default) - RedisStack with RediSearch
20+
- **Chroma** - Open-source vector database
21+
- **Pinecone** - Managed vector database service
22+
- **Weaviate** - Open-source vector search engine
23+
- **Qdrant** - Vector similarity search engine
24+
- **Milvus** - Cloud-native vector database
25+
- **PostgreSQL/PGVector** - PostgreSQL with vector extensions
26+
- **LanceDB** - Embedded vector database
27+
- **OpenSearch** - Open-source search and analytics suite
1828
- Semantic search to retrieve memories with advanced filtering system
1929
- Filter by session, namespace, topics, entities, timestamps, and more
2030
- Supports both exact match and semantic similarity search
@@ -82,6 +92,8 @@ Configure servers and workers using environment variables. Includes background t
8292

8393
For complete configuration details, see [Configuration Guide](docs/configuration.md).
8494

95+
For vector store backend options and setup, see [Vector Store Backends](docs/vector-store-backends.md).
96+
8597
## Development
8698

8799
For development setup, testing, and contributing guidelines, see [Development Guide](docs/development.md).

agent_memory_server/api.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ async def get_session_memory(
8888
model_name: ModelNameLiteral | None = None,
8989
context_window_max: int | None = None,
9090
current_user: UserInfo = Depends(get_current_user),
91-
):
91+
) -> WorkingMemory:
9292
"""
9393
Get working memory for a session.
9494

agent_memory_server/config.py

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,56 @@ class Settings(BaseSettings):
2828
port: int = 8000
2929
mcp_port: int = 9000
3030

31+
# Long-term memory backend configuration
32+
long_term_memory_backend: str = (
33+
"redis" # redis, chroma, pinecone, weaviate, qdrant, etc.
34+
)
35+
36+
# Redis backend settings (existing)
37+
# redis_url already defined above
38+
39+
# Chroma backend settings
40+
chroma_host: str = "localhost"
41+
chroma_port: int = 8000
42+
chroma_collection_name: str = "agent_memory"
43+
chroma_persist_directory: str | None = None
44+
45+
# Pinecone backend settings
46+
pinecone_api_key: str | None = None
47+
pinecone_environment: str | None = None
48+
pinecone_index_name: str = "agent-memory"
49+
50+
# Weaviate backend settings
51+
weaviate_url: str = "http://localhost:8080"
52+
weaviate_api_key: str | None = None
53+
weaviate_class_name: str = "AgentMemory"
54+
55+
# Qdrant backend settings
56+
qdrant_url: str = "http://localhost:6333"
57+
qdrant_api_key: str | None = None
58+
qdrant_collection_name: str = "agent_memory"
59+
60+
# Milvus backend settings
61+
milvus_host: str = "localhost"
62+
milvus_port: int = 19530
63+
milvus_collection_name: str = "agent_memory"
64+
milvus_user: str | None = None
65+
milvus_password: str | None = None
66+
67+
# PostgreSQL/PGVector backend settings
68+
postgres_url: str | None = None
69+
postgres_table_name: str = "agent_memory"
70+
71+
# LanceDB backend settings
72+
lancedb_uri: str = "./lancedb"
73+
lancedb_table_name: str = "agent_memory"
74+
75+
# OpenSearch backend settings
76+
opensearch_url: str = "http://localhost:9200"
77+
opensearch_username: str | None = None
78+
opensearch_password: str | None = None
79+
opensearch_index_name: str = "agent-memory"
80+
3181
# The server indexes messages in long-term memory by default. If this
3282
# setting is enabled, we also extract discrete memories from message text
3383
# and save them as separate long-term memory records.
@@ -45,7 +95,7 @@ class Settings(BaseSettings):
4595
ner_model: str = "dbmdz/bert-large-cased-finetuned-conll03-english"
4696
enable_ner: bool = True
4797

48-
# RedisVL Settings
98+
# RedisVL Settings (kept for backwards compatibility)
4999
redisvl_distance_metric: str = "COSINE"
50100
redisvl_vector_dimensions: str = "1536"
51101
redisvl_index_name: str = "memory"

0 commit comments

Comments
 (0)