Skip to content

Feature Request: Add Milvus-backed Memory Service #4428

@zc277584121

Description

@zc277584121

Description

Add MilvusMemoryService, an implementation of BaseMemoryService that uses Milvus 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 #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

#4417

Metadata

Metadata

Assignees

No one assigned

    Labels

    services[Component] This issue is related to runtime services, e.g. sessions, memory, artifacts, etc

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions