This is an automated email from the ASF dual-hosted git repository.
wenjin272 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/flink-agents.git
The following commit(s) were added to refs/heads/main by this push:
new 8918cb7e [doc][integrations] Document Mem0VectorStore and add its
resource name constants (#789)
8918cb7e is described below
commit 8918cb7eac973c3168722cc925469a756415da0f
Author: Wenjin Xie <[email protected]>
AuthorDate: Mon Jun 8 13:53:36 2026 +0800
[doc][integrations] Document Mem0VectorStore and add its resource name
constants (#789)
Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
---
.../flink/agents/api/resource/ResourceName.java | 4 ++
docs/content/docs/development/vector_stores.md | 74 +++++++++++++++++++++-
docs/content/docs/faq/faq.md | 1 +
python/flink_agents/api/resource.py | 4 ++
4 files changed, 82 insertions(+), 1 deletion(-)
diff --git
a/api/src/main/java/org/apache/flink/agents/api/resource/ResourceName.java
b/api/src/main/java/org/apache/flink/agents/api/resource/ResourceName.java
index 17cbe177..1798b996 100644
--- a/api/src/main/java/org/apache/flink/agents/api/resource/ResourceName.java
+++ b/api/src/main/java/org/apache/flink/agents/api/resource/ResourceName.java
@@ -215,6 +215,10 @@ public final class ResourceName {
public static final String CHROMA_VECTOR_STORE =
"flink_agents.integrations.vector_stores.chroma.chroma_vector_store.ChromaVectorStore";
+ // Mem0 (gateway to Mem0's native vector stores: pgvector, milvus,
qdrant, redis, ...)
+ public static final String MEM0_VECTOR_STORE =
+
"flink_agents.integrations.vector_stores.mem0.mem0_vector_store.Mem0VectorStore";
+
private Python() {}
}
diff --git a/docs/content/docs/development/vector_stores.md
b/docs/content/docs/development/vector_stores.md
index 5184e82d..a00b0e35 100644
--- a/docs/content/docs/development/vector_stores.md
+++ b/docs/content/docs/development/vector_stores.md
@@ -172,7 +172,7 @@ For vector stores that implement
`CollectionManageableVectorStore`, you can crea
* `delete_collection` / `deleteCollection`: Delete a collection by name.
{{< hint info >}}
-Collection-level operations are only supported for vector stores that
implement `CollectionManageableVectorStore`. Among the built-in providers,
Chroma (Python), Elasticsearch (Java), OpenSearch (Java), and Milvus (Java)
implement this interface.
+Collection-level operations are only supported for vector stores that
implement `CollectionManageableVectorStore`. Among the built-in providers,
Chroma (Python), Mem0 (Python), Elasticsearch (Java), OpenSearch (Java), and
Milvus (Java) implement this interface.
{{< /hint >}}
{{< tabs "Collection level operations" >}}
@@ -840,6 +840,78 @@ public static ResourceDescriptor vectorStore() {
{{< /tabs >}}
+### Mem0
+
+[Mem0](https://docs.mem0.ai/) ships its own ecosystem of vector-store backends
(pgvector, Milvus, Qdrant, Redis, Weaviate, ...). `Mem0VectorStore` is a
gateway that exposes any of them through Flink Agents' resource system, so you
can reach Mem0-supported backends without a dedicated integration for each.
+
+{{< hint info >}}
+Mem0 is currently supported in the Python API only. To use it from Java
agents, see [Using Cross-Language Providers](#using-cross-language-providers).
+{{< /hint >}}
+
+{{< hint info >}}
+`Mem0VectorStore` implements `CollectionManageableVectorStore`, enabling
[Long-Term Memory]({{< ref "docs/development/memory/long_term_memory" >}})
support. Filters use the unified equality-only [Filter DSL](#filter-dsl) and
are forwarded to the underlying Mem0 backend unchanged.
+{{< /hint >}}
+
+#### Prerequisites
+
+1. Install Mem0: `pip install mem0ai`
+2. Any extra dependency required by the chosen backend (e.g. `pip install
qdrant-client` for Qdrant, `pip install pymilvus` for Milvus). See the [Mem0
vector store docs](https://docs.mem0.ai/components/vectordbs/overview) for
per-provider requirements.
+
+#### Mem0VectorStore Parameters
+
+| Parameter | Type | Default | Description |
+|-----------|------|---------|-------------|
+| `embedding_model` | str | Required | Reference to embedding model resource
name |
+| `provider` | str | Required | Mem0 vector store provider name (e.g.
`"chroma"`, `"qdrant"`, `"pgvector"`, `"milvus"`) |
+| `provider_config` | dict | `{}` | Provider-specific config dict passed to
Mem0's `VectorStoreFactory` (e.g. host, port, credentials). `collection_name`
is injected automatically and need not be set |
+| `collection` | str | `"flink_agents_mem0_vs"` | Default collection used when
a caller does not specify one |
+
+#### Usage Example
+
+{{< tabs "Mem0 Usage Example" >}}
+
+{{< tab "Python" >}}
+
+```python
+class MyAgent(Agent):
+
+ # Embedding model setup (required for vector store)
+ @embedding_model_connection
+ @staticmethod
+ def openai_connection() -> ResourceDescriptor:
+ return ResourceDescriptor(
+ clazz=ResourceName.EmbeddingModel.OPENAI_CONNECTION,
+ api_key="your-api-key-here"
+ )
+
+ @embedding_model_setup
+ @staticmethod
+ def openai_embedding() -> ResourceDescriptor:
+ return ResourceDescriptor(
+ clazz=ResourceName.EmbeddingModel.OPENAI_SETUP,
+ connection="openai_connection",
+ model="your-embedding-model-here"
+ )
+
+ # Mem0 vector store backed by Qdrant
+ @vector_store
+ @staticmethod
+ def mem0_store() -> ResourceDescriptor:
+ return ResourceDescriptor(
+ clazz=ResourceName.VectorStore.MEM0_VECTOR_STORE,
+ embedding_model="openai_embedding",
+ provider="qdrant",
+ provider_config={"host": "localhost", "port": 6333,
"embedding_model_dims": 1536},
+ collection="my_documents"
+ )
+
+ ...
+```
+
+{{< /tab >}}
+
+{{< /tabs >}}
+
### Milvus
[Milvus](https://milvus.io/) is an open-source vector database designed for
high-dimensional vector search at scale.
diff --git a/docs/content/docs/faq/faq.md b/docs/content/docs/faq/faq.md
index 0f3b4786..0f0bf850 100644
--- a/docs/content/docs/faq/faq.md
+++ b/docs/content/docs/faq/faq.md
@@ -117,6 +117,7 @@ Flink Agents provides built-in integrations for many
ecosystem providers. Some i
|---|---|---|
| [Chroma]({{< ref "docs/development/vector_stores#chroma" >}}) | ✅ | ❌ |
| [Elasticsearch]({{< ref "docs/development/vector_stores#elasticsearch" >}})
| ❌ | ✅ |
+| [Mem0]({{< ref "docs/development/vector_stores#mem0" >}}) | ✅ | ❌ |
| [Milvus]({{< ref "docs/development/vector_stores#milvus" >}}) | ❌ | ✅ |
**MCP Server**
diff --git a/python/flink_agents/api/resource.py
b/python/flink_agents/api/resource.py
index c8a1e88b..17a4c96d 100644
--- a/python/flink_agents/api/resource.py
+++ b/python/flink_agents/api/resource.py
@@ -331,6 +331,10 @@ class ResourceName:
# Chroma
CHROMA_VECTOR_STORE =
"flink_agents.integrations.vector_stores.chroma.chroma_vector_store.ChromaVectorStore"
+ # Mem0 (gateway to Mem0's native vector stores: pgvector, milvus,
qdrant,
+ # redis, ...)
+ MEM0_VECTOR_STORE =
"flink_agents.integrations.vector_stores.mem0.mem0_vector_store.Mem0VectorStore"
+
# Java Wrapper
JAVA_WRAPPER_VECTOR_STORE = (
"flink_agents.api.vector_stores.java_vector_store.JavaVectorStore"