milvus-logo

March 10, 2022by Zhen Chen

Manage Your Milvus Vector Database with One-click Simplicity

  • engineering

Binlog Cover Image

Draft by Zhen Chen and transcreation by Lichen Wang.

Click here to check the original post.

In the face of rapidly growing demand for unstructured data processing, Milvus 2.0 stands out. It is an AI-oriented vector database system designed for massive production scenarios. Apart from all these Milvus SDKs and Milvus CLI, a command-line interface for Milvus, is there a tool that allows users to operate Milvus more intuitively? The anwer is YES. Zilliz has announced a graphical user interface - Attu - specifically for Milvus. In this article, we would like to show you step by step how to perform a vector similarity search with Attu.

Attu island

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

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 Milvus with Attu

Feature overview

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 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 page

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

System View page

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

Node view

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 a collection

Load the collection for search after it was successfully created.

Load the collection

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

Check the collection

Import the test dataset into Milvus.

Import data

Import data

Import data

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

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

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

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

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).

Milvus node topological graph

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.

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

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 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.

Keep Reading