Быстрый старт с Attu Desktop
1. Введение
Attu - это универсальный инструмент администрирования Milvus с открытым исходным кодом. Он имеет интуитивно понятный графический интерфейс пользователя (GUI), позволяющий легко взаимодействовать с вашими базами данных. Всего несколькими щелчками мыши вы можете визуализировать состояние кластера, управлять метаданными, выполнять запросы к данным и многое другое.
2. Установите настольное приложение
Загрузите настольную версию Attu, посетив страницу Attu GitHub Releases. Выберите подходящую версию для вашей операционной системы и выполните шаги по установке.
Примечание для macOS (чип серии M):
Если вы столкнулись с ошибкой:
attu.app is damaged and cannot be opened.
Выполните следующую команду в терминале, чтобы обойти эту проблему:
sudo xattr -rd com.apple.quarantine /Applications/attu.app
3. Подключение к Milvus
Attu поддерживает подключение как к Milvus Standalone, так и к Zilliz Cloud, обеспечивая гибкость работы с локальными или облачными базами данных.
Чтобы использовать Milvus Standalone локально:
- Запустите Milvus Standalone, следуя руководству по установке Milvus.
- Откройте Attu и введите информацию о подключении:
- Milvus Address: URI вашего сервера Milvus Standalone, например http://localhost:19530.
- Другие дополнительные настройки: Вы можете задать их в зависимости от конфигурации Milvus или просто оставить по умолчанию.
- Нажмите кнопку Подключить, чтобы получить доступ к базе данных.
Вы также можете подключить полностью управляемый Milvus на Zilliz Cloud. Просто установите
Milvus Address
иtoken
на публичную конечную точку и API-ключ вашего экземпляра Zilliz Cloud.
- Нажмите, чтобы получить доступ к базе данных.
4. Подготовка данных, создание коллекции и вставка данных
4.1 Подготовка данных
В качестве набора данных для этого примера мы используем страницы FAQ из документации Milvus 2.4.x.
Загрузите и извлеките данные:
wget https://github.com/milvus-io/milvus-docs/releases/download/v2.4.6-preview/milvus_docs_2.4.x_en.zip
unzip -q milvus_docs_2.4.x_en.zip -d milvus_docs
Обработка Markdown-файлов:
from glob import glob
text_lines = []
for file_path in glob("milvus_docs/en/faq/*.md", recursive=True):
with open(file_path, "r") as file:
file_text = file.read()
text_lines += file_text.split("# ")
4.2 Генерирование вкраплений
Определите модель встраивания для генерации текстовых вкраплений с помощью milvus_model
. В качестве примера мы используем модель DefaultEmbeddingFunction
, которая представляет собой предварительно обученную и легкую модель встраивания.
from pymilvus import model as milvus_model
embedding_model = milvus_model.DefaultEmbeddingFunction()
# Generate test embedding
test_embedding = embedding_model.encode_queries(["This is a test"])[0]
embedding_dim = len(test_embedding)
print(embedding_dim)
print(test_embedding[:10])
Выход:
768
[-0.04836066 0.07163023 -0.01130064 -0.03789345 -0.03320649 -0.01318448
-0.03041712 -0.02269499 -0.02317863 -0.00426028]
4.3 Создание коллекции
Подключитесь к Milvus и создайте коллекцию:
from pymilvus import MilvusClient
# Connect to Milvus Standalone
client = MilvusClient(uri="http://localhost:19530")
collection_name = "attu_tutorial"
# Drop collection if it exists
if client.has_collection(collection_name):
client.drop_collection(collection_name)
# Create a new collection
client.create_collection(
collection_name=collection_name,
dimension=embedding_dim,
metric_type="IP", # Inner product distance
consistency_level="Strong"
)
4.4 Вставка данных
Пройдитесь по текстовым строкам, создайте вкрапления и вставьте данные в Milvus:
from tqdm import tqdm
data = []
doc_embeddings = embedding_model.encode_documents(text_lines)
for i, line in enumerate(tqdm(text_lines, desc="Creating embeddings")):
data.append({"id": i, "vector": doc_embeddings[i], "text": line})
client.insert(collection_name=collection_name, data=data)
4.5 Визуализация данных и схемы
Теперь мы можем визуализировать схему данных и вставленные сущности с помощью интерфейса Attu. Схема отображает определенные поля, включая поле id
типа Int64
и поле vector
типа FloatVector(768)
с метрикой Inner Product (IP)
. В коллекцию загружено 72 сущности.
Кроме того, мы можем просмотреть вставленные данные, включая идентификатор, векторные вложения и динамические поля, хранящие метаданные, такие как текстовое содержимое. Интерфейс поддерживает фильтрацию и запросы на основе заданных условий или динамических полей.
5. Визуализация результатов поиска и взаимосвязей
Attu предоставляет мощный интерфейс для визуализации и изучения взаимосвязей данных. Чтобы изучить вставленные точки данных и отношения подобия, выполните следующие действия:
5.1 Выполните поиск
Перейдите на вкладку Векторный поиск в Attu.
- Нажмите кнопку Генерировать случайные данные, чтобы создать тестовые запросы.
- Нажмите кнопку Поиск, чтобы получить результаты на основе сгенерированных данных.
Результаты отображаются в таблице, в которой показаны идентификаторы, баллы сходства и динамические поля для каждой совпадающей сущности.
5.2 Изучение взаимосвязей данных
Нажмите кнопку Explore на панели результатов, чтобы визуализировать взаимосвязи между вектором запроса и результатами поиска в виде графа знаний.
- Центральный узел представляет вектор поиска.
- Подключенные узлы представляют результаты поиска, при нажатии на которые отображается подробная информация о соответствующем узле.
5.3 Развернуть граф
Дважды щелкните на любом узле результатов, чтобы развернуть его связи. Это действие позволяет выявить дополнительные связи между выбранным узлом и другими точками данных в коллекции, создавая более крупный, взаимосвязанный граф знаний.
Такое расширенное представление позволяет глубже изучить взаимосвязь точек данных на основе векторного сходства.
6. Заключение
Attu упрощает управление и визуализацию векторных данных, хранящихся в Milvus. От вставки данных до выполнения запросов и интерактивного исследования он предоставляет интуитивно понятный интерфейс для решения сложных задач векторного поиска. Благодаря таким функциям, как поддержка динамических схем, графические визуализации поиска и гибкие фильтры запросов, Attu позволяет пользователям эффективно анализировать большие массивы данных.
Используя инструменты визуального поиска Attu, пользователи могут лучше понять свои данные, выявить скрытые взаимосвязи и принять решения, основанные на данных. Начните исследовать свои собственные наборы данных уже сегодня с помощью Attu и Milvus!