google / google/adk-python-community
Feature Request: Add Milvus-backed Memory Service
- Dominant language
- Python
- Stars
- 182
- Forks
- 75
- PR merge metrics
- No merged PRs in 30d
Description
### Description
Add `MilvusMemoryService`, an implementation of `BaseMemoryService` that uses [Milvus](https://milvus.io/) as the vector store for cross-session conversation memory.
### Motivation
ADK's existing memory services (`InMemoryMemoryService`, `VertexAiMemoryBankService`, `VertexAiRagMemoryService`) either lack semantic search or require GCP infrastructure. Milvus provides a lightweight, open-source alternative that supports local (Milvus Lite), self-hosted, and fully managed (Zilliz Cloud) deployments.
This complements the `MilvusToolset` (PR google/adk-python#4417) which handles RAG knowledge base search, by adding a separate memory persistence layer for conversation history.
### Proposed Solution
- `MilvusMemoryService(BaseMemoryService)`: stores session events as vector-embedded text in Milvus, with `app_name`/`user_id` scoping and deduplication.
- Users provide their own embedding function (e.g., Google GenAI `gemini-embedding-001`).
- Works with `PreloadMemoryTool` and `LoadMemoryTool` out of the box.
### Related PR
google/adk-python#4417
Contributor guide
Assessment
This issue has not been assessed yet.