Skip to content

zilliztech/attu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Attu

GitHub release (latest by date) License downloads GitHub last commit GitHub stars 中文 Contributors PRs Welcome

Attu is designed to manage and interact with Milvus, offering features such as:

  • Database, Collection, and Partition Management: Efficiently organize and manage your Milvus setup.
  • Insertion, Indexing, and Querying of Vector Embeddings: Easily handle Milvus vector data operations.
  • Performing Vector Search: Rapidly validate your results using the vector search feature.
  • User and Role Management: Easily manage Milvus permissions and security.
  • Viewing System Topology: Visualize Milvus system architecture for better management and optimization.

Table of Contents

Home View

attu home view

Data Explorer

attu data explorer

Collection Management

attu data explorer

Create Collection

attu create collection dialog

Collection Tree

attu collections

Collection Overview

attu collection view

Data View

attu data view

Vector Search

attu vector search

System View

attu system view

Role Chart (Light)

attu role chart

Role Chart (Dark)

attu role chart

System Requirements

  • Docker 20.10.0 or later
  • Kubernetes 1.19 or later (if using K8s deployment)
  • Modern web browser (Chrome, Firefox, Safari, Edge)
  • For desktop application:
    • Windows 10/11
    • macOS 10.15 or later
    • Linux (Ubuntu 20.04 or later)

Quick Start

  1. Start Milvus server (if not already running):
docker run -d --name milvus_standalone -p 19530:19530 -p 9091:9091 milvusdb/milvus:latest
  1. Start Attu:
docker run -p 8000:3000 -e MILVUS_URL=localhost:19530 zilliz/attu:v2.5
  1. Open your browser and navigate to http://localhost:8000

Installation Guides

Before you begin, make sure that you have Milvus installed on either Zilliz Cloud or your own server.

Compatibility

Milvus Version Recommended Attu Version
2.5.x v2.5.10
2.4.x v2.4.12
2.3.x v2.3.5
2.2.x v2.2.8
2.1.x v2.2.2

Running Attu from Docker

Here are the steps to start a container for running Attu:

docker run -p 8000:3000 -e MILVUS_URL={milvus server IP}:19530 zilliz/attu:v2.5

Make sure that the Attu container can access the Milvus IP address. After starting the container, open your web browser and enter http://{ Attu IP }:8000 to view the Attu GUI.

Optional Environment Variables for Running Attu Docker

Parameter Example Required Description
MILVUS_URL 192.168.0.1:19530 false Optional, Milvus server URL
DATABASE your database false Optional, default database name
ATTU_LOG_LEVEL info false Optional, sets the log level for Attu
ROOT_CERT_PATH /path/to/root/cert false Optional, path to the root certificate
PRIVATE_KEY_PATH /path/to/private/key false Optional, path to the private key
CERT_CHAIN_PATH /path/to/cert/chain false Optional, path to the certificate chain
SERVER_NAME your_server_name false Optional, name of your server
SERVER_PORT Server listen port false Optional, 3000 by default if unset

Please note that the MILVUS_URL should be an address that the Attu Docker container can access. Therefore, "127.0.0.1" or "localhost" will not work.

To run the Docker container with these environment variables, use the following command:

Attu SSL Example

docker run -p 8000:3000 \
-v /your-tls-file-path:/app/tls \
-e ATTU_LOG_LEVEL=info  \
-e ROOT_CERT_PATH=/app/tls/ca.pem \
-e PRIVATE_KEY_PATH=/app/tls/client.key \
-e CERT_CHAIN_PATH=/app/tls/client.pem \
-e SERVER_NAME=your_server_name \
zilliz/attu:v2.5

Custom Server Port Example

This command lets you run the docker container with host networking, specifying a custom port for the server to listen on

docker run --network host \
-v /your-tls-file-path:/app/tls \
-e ATTU_LOG_LEVEL=info  \
-e SERVER_NAME=your_server_name \
-e SERVER_PORT=8080 \
zilliz/attu:v2.5

Running Attu within Kubernetes

Before you begin, make sure that you have Milvus installed and running within your K8's Cluster. Note that Attu only supports Milvus 2.x.

Here are the steps to start a container for running Attu:

kubectl apply -f https://raw.githubusercontent.com/zilliztech/attu/main/attu-k8s-deploy.yaml

Make sure that the Attu pod can access the Milvus service. In the example provided this connects directly to my-release-milvus:19530. Change this based on the Milvus service name. A more flexible way to achieve this would be to introduce a ConfigMap. See this example for details.

Running Attu behind a nginx proxy

Running Attu behind a nginx proxy

Install Desktop application

If you prefer to use a desktop application, you can download the desktop version of Attu.

Note:

  • Mac M chip install app failed: attu.app is damaged and cannot be opened.
  sudo xattr -rd com.apple.quarantine /Applications/attu.app

Development

Prerequisites

  • Node.js 16.x or later
  • Yarn package manager
  • Docker (for local development)

Setup Development Environment

  1. Clone the repository:
git clone https://github.com/zilliztech/attu.git
cd attu
  1. Install dependencies:
yarn install
  1. Start development server:
yarn start

Build Docker Image Locally

  • Dev: yarn run build:dev
  • Release: yarn run build:release

Running Tests

yarn test

Contributing

We welcome contributions from the community! Please read our Contributing Guidelines before submitting pull requests.

Code of Conduct

Please read our Code of Conduct to keep our community approachable and respectable.

FAQ

  • I can't log into the system

    Make sure that the IP address of the Milvus server can be accessed from the Attu container. #161

  • If you encounter issues installing the desktop app on Mac OS, refer to the note under Install Desktop application.
  • How to update Attu?

    For Docker users, simply pull the latest image and restart the container. For desktop users, download the latest release from our releases page.

  • How to backup my Attu configuration?

    Attu configurations are stored in your browser's local storage. You can export them from the settings page.

More Screenshots

create collection collection tree
attu create collection dialog attu
collection overview data view
attu attu
vector search system view
attu vector search attu system view
role chart
attu role chart attu role chart

Useful Examples

Milvus Typescript Examples:This repo provides some simple React apps based on Next.js.

Name Demo Model
semantic-search-example https://zilliz-semantic-search-example.vercel.app all-MiniLM-L6-v2
semantic-image-search clip-vit-base-patch16
semantic-image-search-client https://zilliz-semantic-image-search-client.vercel.app clip-vit-base-patch16

Milvus links

Here are some helpful resources to get you started with Milvus:

  • Milvus documentation: Here, you can find detailed information on how to use Milvus, including installation instructions, tutorials, and API documentation.
  • Milvus python SDK: The Python SDK allows you to interact with Milvus using Python. It provides a simple and intuitive interface for creating and querying vectors.
  • Milvus Java SDK: The Java SDK is similar to the Python SDK but designed for Java developers. It also provides a simple and intuitive interface for creating and querying vectors.
  • Milvus Go SDK: The Go SDK provides a Go API for Milvus. If you're a Go developer, this is the SDK for you.
  • Milvus Node SDK: The Node SDK provides a Node.js API for Milvus. If you're a Node.js developer, this is the SDK for you.
  • Feder: Feder is a JavaScript tool designed to aid in the comprehension of embedding vectors.

Community

💬 Join our vibrant community on the Milvus Discord where you can share your knowledge, ask questions and engage in meaningful conversations. It's not just about coding, it's about connecting with other like-minded individuals. Click the link below to join now!

license

License

Attu is licensed under the Apache License 2.0. See the LICENSE file for details.

Changelog

See our CHANGELOG.md for a list of changes between versions.