Manage Your Milvus Vector Database with One-click Simplicity

Manage Your Milvus Vector Database with One-click Simplicity

Zilliz launched Attu, a GUI tool designed specifically for Milvus 2.0.

·

5 min read

Zilliz has been a pioneer who dedicated itself to enabling users in the face of rapidly growing demand for unstructured data processing. Zilliz has now open-sourced a graphical user interface - Attu - specifically for Milvus 2.0, an AI-oriented vector database system designed for massive production scenarios. In this article, we would like to show you step by step how to perform a vector similarity search with Attu and Milvus 2.0.

map.png

Attu (/ ˈætu /) is an island on the west edge of Aleutian Islands. This uninhabited realm symbolizes an adventurous spirit.

In comparison with Milvus CLI which brings the uttermost simplicity of usage, Attu features more:

  • Installers for Windows OS, macOS, and Linux OS;
  • Intuitive GUI for easier usage of Milvus;
  • Coverage of major functionalities of Milvus;
  • Plugins for expansion of customized functionalities;
  • Complete system topology information for easier understanding and administration of Milvus instance.

Installation

You can find the newest release of Attu at GitHub. Attu offers executable installers for different operating systems. It is an open-source project and welcomes contribution from everyone.

installation.png

Attu installers and source code.

You can also install Attu via Docker.

docker run -p 8000:3000 -e HOST_URL=http://{ attu IP }:8000 -e MILVUS_URL={milvus server IP}:19530 zilliz/attu:latest

attu IP is the IP address of the environment where Attu runs, and milvus server IP is IP address of the environment where Milvus runs.

Having installed Attu successfully, you can input the Milvus IP and Port in the interface to start Attu.

connect.png

Connect Milvus with Attu.

Feature overview

overview.png

Attu Overview page.

Attu interface consists of Overview page, Collection page, Vector Search page, and System View page, corresponding to the four icons on the left-side navigation pane respectively. The Overview page shows the loaded collections. While the Collection page lists all the collections and indicates if they are loaded or released.

collection.png

Attu Collection page.

The Vector Search and System View pages are plugins of Attu. The concepts and usage of the plugins will be introduced in the final part of the blog.

You can perform vector similarity search in Vector Search page.

vector search.png

Attu Vector Search page.

In System View page, you can check the topological structure of Milvus.

system view.png

Attu System View page.

You can also check the detailed information of each node by clicking the node.

node view.png

Attu Node view page.

Demonstration

Let's explore Attu with a test dataset.

Check our GitHub repo for the dataset used in the following test.

First, create a collection named test with the following four fields:

  • Field Name: id, primary key field
  • Field Name: vector, vector field, float vector, Dimension: 128
  • Field Name: brand, scalar field, Int64
  • Field Name: color, scalar field, Int64

create collection.png

Create a collection with Attu.

Load the collection for search after it was successfully created.

load collection.png

Load the collection with Attu.

You can now check the newly created collection in the Overview page.

check collection.png

Check the collection with Attu.

Import the test dataset into Milvus.

import data 1.png import data 2.png import data 3.png

Import data with Attu.

Click the collection name in Overview or Collection page to enter query interface to check the imported data. Add filter, specify the expression id != 0, click Apply Filter, and click Query.

query data.png

Query data with Attu.

You will find all fifty entries of entities are imported successfully.

query result.png

Query result.

Let's try vector similarity search.

Copy one vector from the search_vectors.csv and paste it in Vector Value field. Choose the collection and field. Click Search.

search data.png

Search data with Attu.

You can then check the search result. Without compiling any scripts, you can search with Milvus easily.

search result.png

Search result.

Finally, let's check the System View page.

With Metrics API encapsulated in Milvus Node.js SDK, you can check the system status, node relations, and node status.

As an exclusive feature of Attu, System Overview page includes a complete system topological graph. By clicking on each node, you can check its status (refresh every 10 seconds).

topological graph.png

Milvus node topological graph in Attu.

Click on each node to enter the Node List View. You can check all child nodes of a coord node. By sorting, you can identify the nodes with high CPU or memory usage quickly, and locate the problem with the system.

node list.png

Milvus node list.

What's more

As mentioned earlier, the Vector Search and System View pages are plugins of Attu. We encourage users to develop their own plugins in Attu to suit their application scenarios. In the source code, there is folder built specifically for plugin codes.

plugins.png

Vector Search and System View pages are plugins of Attu.

You can refer to any of the plugin to learn how to build a plugin. By setting the following config file, you can add the plugin to Attu.

add plugins.png

Add plugins to Attu.

You can see Attu GitHub Repo and Milvus Technical Document for detailed instruction.

Attu is an open-source project. All contributions are welcome. You can also file an issue if you had any problem with Attu.

We sincerely hope that Attu can bring you a better user experience with Milvus. And if you like Attu, or have some feedbacks about the usage, you can complete this Attu User Survey to help us optimize Attu for a better user experience.