google / google/adk-python-community

Feature Request: Add Milvus-backed Memory Service

未关闭
#69 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Python
星标
182
派生
75
PR 合并指标
30 天内没有已合并 PR

描述

### 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

贡献指南

打开贡献指南

调研方向

首先阅读 BaseMemoryService 以及现有的 InMemoryMemoryService、VertexAiMemoryBankService 和 VertexAiRagMemoryService 实现。以提议的 MilvusMemoryService 行为作为范围:支持向量的会话事件,具有 app_name/user_id 作用域和去重功能,并与 PreloadMemoryTool 和 LoadMemoryTool 兼容。该 issue 未指定具体文件或测试,因此需要先找到项目现有的 memory service 约定。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
databases
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
冷清
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。