Attu - Milvus GUI Management Tool
Attu is the official open-source graphical user interface (GUI) for Milvus, a vector database designed for managing and processing embedding vectors. Similar to DBeaver for traditional databases, Attu provides a visual interface for managing Milvus clusters, collections, indexes, and performing vector searches.
Overview
Attu simplifies Milvus database management by offering:
- Visual Cluster Management: Monitor cluster status, health, and performance metrics
- Collection Management: Create, modify, and delete collections with ease
- Index Management: Configure and manage vector indexes (IVF, HNSW, ANNOY, etc.)
- Data Operations: Insert, query, search, and export vector data
- Metadata Management: View and manage collection schemas and metadata
- Query Interface: Execute vector similarity searches and queries
Installation
Method 1: Desktop Application (Recommended for Mac)
-
Download Attu:
- Visit Attu GitHub Releases
- Select the version compatible with your Milvus installation
- For Apple Silicon (M1/M2/M3): download
attu-mac-arm64-vx.x.x.dmg - For Intel Macs: download
attu-mac-x64-vx.x.x.dmg
-
Install:
- Open the downloaded
.dmgfile - Drag
attu.appto yourApplicationsfolder
- Open the downloaded
-
Fix macOS Security Warning (if needed):
sudo xattr -rd com.apple.quarantine /Applications/attu.app- Enter your Mac password when prompted
- This resolves the "attu.app is damaged" error caused by macOS security settings
-
Launch:
- Open
Applicationsfolder - Double-click
attu.appto launch
- Open
Method 2: Docker (Web-based Interface)
Run Attu as a Docker container for web-based access:
docker run -d -p 8000:3000 \
-e MILVUS_URL=localhost:19530 \
--name attu \
zilliz/attu:latest
Access Attu at: http://localhost:8000
For custom Milvus configuration:
docker run -d -p 8000:3000 \
-e MILVUS_URL=your-milvus-host:19530 \
-e MILVUS_USERNAME=your-username \
-e MILVUS_PASSWORD=your-password \
--name attu \
zilliz/attu:latest
Method 3: Using Docker Compose
Create a docker-compose.yml file:
version: '3.8'
services:
attu:
image: zilliz/attu:latest
container_name: attu
ports:
- "8000:3000"
environment:
- MILVUS_URL=localhost:19530
restart: unless-stopped
Run with:
docker-compose up -d
Connecting to Milvus
Local Milvus Instance
- Ensure Milvus is running (default port:
19530) - Launch Attu
- Enter connection details:
- Milvus Address:
http://localhost:19530 - Leave other settings as default
- Milvus Address:
- Click
Connect
Remote Milvus Instance
- Launch Attu
- Enter connection details:
- Milvus Address:
http://your-milvus-host:19530 - Username: (if authentication is enabled)
- Password: (if authentication is enabled)
- Milvus Address:
- Click
Connect
Milvus Standalone vs Cluster
- Standalone: Single Milvus instance
- Address:
http://localhost:19530
- Address:
- Cluster: Distributed Milvus setup
- Address:
http://milvus-proxy:19530(or your proxy endpoint)
- Address:
Key Features
1. Collection Management
-
Create Collections:
- Define collection name
- Set vector dimensions
- Configure primary key field
- Add optional fields (metadata)
-
View Collections:
- List all collections
- View collection details (schema, indexes, statistics)
- Monitor collection status
-
Modify Collections:
- Update collection properties
- Add/remove fields
- Modify indexes
2. Index Management
-
Create Indexes:
- Choose index type (IVF_FLAT, HNSW, ANNOY, etc.)
- Configure index parameters
- Set metric type (L2, IP, COSINE)
-
View Indexes:
- List all indexes per collection
- View index parameters and status
-
Manage Indexes:
- Build indexes
- Drop indexes
- Monitor index building progress
3. Data Operations
-
Insert Data:
- Upload JSON/CSV files
- Manual data entry
- Batch insert operations
-
Query Data:
- Execute vector similarity searches
- Filter by metadata
- View query results
-
Export Data:
- Export collections to JSON/CSV
- Download query results
4. Cluster Monitoring
-
Health Status:
- View cluster health
- Monitor node status
- Check system metrics
-
Performance Metrics:
- Query performance
- Index building progress
- Resource usage
Common Use Cases
1. Setting Up a New Collection
- Click "Create Collection"
- Enter collection name
- Define vector field:
- Dimension: e.g.,
768(for BERT embeddings) - Metric type:
COSINE,L2, orIP
- Dimension: e.g.,
- Add primary key field (usually
id) - Add optional metadata fields
- Create the collection
2. Creating an Index
- Select a collection
- Navigate to "Indexes" tab
- Click "Create Index"
- Select index type:
- HNSW: Fast, high recall (recommended for most cases)
- IVF_FLAT: Balanced performance
- ANNOY: Memory efficient
- Configure parameters (e.g.,
M,efConstructionfor HNSW) - Build the index
3. Performing Vector Search
- Select a collection
- Navigate to "Search" tab
- Enter query vector (or upload from file)
- Set search parameters:
- Top K: Number of results
- Metric type: Match collection metric
- Add optional filters (metadata)
- Execute search
- View results with similarity scores
4. Data Import/Export
Import:
- Select collection
- Navigate to "Data" tab
- Click "Import"
- Upload JSON/CSV file
- Map fields to collection schema
- Import data
Export:
- Select collection
- Navigate to "Data" tab
- Click "Export"
- Choose format (JSON/CSV)
- Download file
Troubleshooting
Connection Issues
Problem: Cannot connect to Milvus
Solutions:
- Verify Milvus is running:
docker ps | grep milvus - Check Milvus port (default:
19530) - Verify network connectivity
- Check firewall settings
- For Docker: Ensure containers are on the same network
macOS Security Warning
Problem: "attu.app is damaged and cannot be opened"
Solution:
sudo xattr -rd com.apple.quarantine /Applications/attu.app
Version Compatibility
- Ensure Attu version matches your Milvus version
- Check Attu Releases for compatibility
- For Milvus 2.5.x, use Attu 2.5.x
Best Practices
- Version Matching: Keep Attu version aligned with Milvus version
- Index Before Search: Always build indexes before performing searches
- Monitor Performance: Use Attu's monitoring features to track query performance
- Backup Data: Export important collections regularly
- Test Queries: Use Attu to test and optimize queries before deploying to production
Related Tools
- Milvus: The vector database itself
- Milvus CLI: Command-line interface for Milvus
- MCP Milvus: Model Context Protocol server for Milvus
- Tessell for Milvus: Managed Milvus service
Resources
Conclusion
Attu provides an intuitive graphical interface for managing Milvus vector databases, making it easier to work with collections, indexes, and perform vector searches. Whether you're developing, testing, or managing production Milvus instances, Attu simplifies database operations and monitoring.