Skip to main content

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

  1. 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
  2. Install:

    • Open the downloaded .dmg file
    • Drag attu.app to your Applications folder
  3. 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
  4. Launch:

    • Open Applications folder
    • Double-click attu.app to launch

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

  1. Ensure Milvus is running (default port: 19530)
  2. Launch Attu
  3. Enter connection details:
    • Milvus Address: http://localhost:19530
    • Leave other settings as default
  4. Click Connect

Remote Milvus Instance

  1. Launch Attu
  2. Enter connection details:
    • Milvus Address: http://your-milvus-host:19530
    • Username: (if authentication is enabled)
    • Password: (if authentication is enabled)
  3. Click Connect

Milvus Standalone vs Cluster

  • Standalone: Single Milvus instance
    • Address: http://localhost:19530
  • Cluster: Distributed Milvus setup
    • Address: http://milvus-proxy:19530 (or your proxy endpoint)

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

  1. Click "Create Collection"
  2. Enter collection name
  3. Define vector field:
    • Dimension: e.g., 768 (for BERT embeddings)
    • Metric type: COSINE, L2, or IP
  4. Add primary key field (usually id)
  5. Add optional metadata fields
  6. Create the collection

2. Creating an Index

  1. Select a collection
  2. Navigate to "Indexes" tab
  3. Click "Create Index"
  4. Select index type:
    • HNSW: Fast, high recall (recommended for most cases)
    • IVF_FLAT: Balanced performance
    • ANNOY: Memory efficient
  5. Configure parameters (e.g., M, efConstruction for HNSW)
  6. Build the index
  1. Select a collection
  2. Navigate to "Search" tab
  3. Enter query vector (or upload from file)
  4. Set search parameters:
    • Top K: Number of results
    • Metric type: Match collection metric
  5. Add optional filters (metadata)
  6. Execute search
  7. View results with similarity scores

4. Data Import/Export

Import:

  1. Select collection
  2. Navigate to "Data" tab
  3. Click "Import"
  4. Upload JSON/CSV file
  5. Map fields to collection schema
  6. Import data

Export:

  1. Select collection
  2. Navigate to "Data" tab
  3. Click "Export"
  4. Choose format (JSON/CSV)
  5. 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

  1. Version Matching: Keep Attu version aligned with Milvus version
  2. Index Before Search: Always build indexes before performing searches
  3. Monitor Performance: Use Attu's monitoring features to track query performance
  4. Backup Data: Export important collections regularly
  5. Test Queries: Use Attu to test and optimize queries before deploying to production
  • 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.