- Notifications
You must be signed in to change notification settings - Fork168
Web UI for Milvus Vector Database
License
zilliztech/attu
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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.
- Features
- System Requirements
- Quick Start
- Installation Guides
- Development
- Contributing
- FAQ
- More Screenshots
- Useful Examples
- Milvus Links
- Community
- 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)
- Start Milvus server (if not already running):
docker run -d --name milvus_standalone -p 19530:19530 -p 9091:9091 milvusdb/milvus:latest
- Start Attu:
docker run -p 8000:3000 -e MILVUS_URL=localhost:19530 zilliz/attu:v2.5
- Open your browser and navigate to
http://localhost:8000
Before you begin, make sure that you have Milvus installed on eitherZilliz Cloud oryour own server.
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 |
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 enterhttp://{ Attu IP }:8000
to view the Attu GUI.
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:
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
This command lets you run the docker container with host networking, specifying a custom port forthe 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
Before you begin, make sure that you have Milvus installed and running within yourK8'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 tomy-release-milvus:19530
. Change this based on the Milvus service name. A more flexible way to achieve this would be to introduce aConfigMap
. See this example for details.
Running Attu behind a nginx proxy
If you prefer to use a desktop application, you can download thedesktop 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
- Node.js 16.x or later
- Yarn package manager
- Docker (for local development)
- Clone the repository:
git clone https://github.com/zilliztech/attu.gitcd attu
- Install dependencies:
yarn install
- Start development server:
yarn start
- Dev:
yarn run build:dev
- Release:
yarn run build:release
yarntest
We welcome contributions from the community! Please read ourContributing Guidelines before submitting pull requests.
Please read ourCode of Conduct to keep our community approachable and respectable.
- 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 underInstall 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 ourreleases 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.
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 |
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.
💬 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!
Attu is licensed under theApache License 2.0. See the LICENSE file for details.
See ourCHANGELOG.md for a list of changes between versions.
About
Web UI for Milvus Vector Database
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.