google / google/adk-python-community
Feature Request: Add Milvus Vector Store Integration for RAG
- Dominant language
- Python
- Stars
- 182
- Forks
- 75
- PR merge metrics
- No merged PRs in 30d
Description
### Description
Add [Milvus](https://milvus.io/) as a vector database option for knowledge base RAG workflows, following the existing Spanner integration pattern.
### Motivation
ADK currently supports Vertex AI RAG, LlamaIndex, and Spanner for vector-based retrieval. Milvus is a widely adopted open-source vector database purpose-built for AI applications. Adding Milvus support would give developers a lightweight, self-hosted (or cloud-managed via [Zilliz](https://zilliz.com/)) alternative for building RAG agents.
### Proposed Solution
- `MilvusVectorStore`: Utility class for collection setup, data ingestion, and similarity search.
- `MilvusToolset`: `BaseToolset` implementation exposing a `similarity_search` tool to LLM agents.
- `MilvusToolSettings` / `MilvusVectorStoreSettings`: Pydantic configuration classes.
- Users provide their own embedding function (e.g., Google GenAI `gemini-embedding-001`).
- `pymilvus>=2.5.0` as an optional dependency (`google-adk[milvus]`).
### Related PR
google/adk-python#4417
Contributor guide
Research direction
Start by reading the existing Spanner integration pattern and the BaseToolset entry point. Use MilvusVectorStore, MilvusToolset, MilvusToolSettings, and MilvusVectorStoreSettings as the scope, with pymilvus>=2.5.0 exposed through google-adk[milvus]. Done means collection setup, ingestion, similarity_search exposure, and user-supplied embeddings are covered.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- ai, databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100