Из Faiss
В этом руководстве представлен полный пошаговый процесс переноса данных из Faiss в Milvus 2.x. Следуя этому руководству, вы сможете эффективно перенести свои данные, используя расширенные возможности Milvus 2.x и улучшенную производительность.
Необходимые условия
- Версии программного обеспечения:
- Исходный Faiss
- Целевой Milvus: 2.x
- Подробности установки см. в разделах "Установка Faiss" и "Установка Milvus".
- Необходимые инструменты:
- ИнструментMilvus-migration. Подробности установки см. в разделе Установка инструмента миграции.
Настройка миграции
Сохраните пример файла конфигурации миграции как migration.yaml
и измените конфигурацию в соответствии с вашими реальными условиями. Вы можете поместить файл конфигурации в любой локальный каталог.
dumper: # configs for the migration job.
worker:
limit: 2
workMode: faiss # operational mode of the migration job.
reader:
bufferSize: 1024
writer:
bufferSize: 1024
loader:
worker:
limit: 2
source: # configs for the source Faiss index.
mode: local
local:
faissFile: ./testfiles/faiss/faiss_ivf_flat.index
target: # configs for the target Milvus collection.
create:
collection:
name: test1w
shardsNums: 2
dim: 256
metricType: L2
mode: remote
remote:
outputDir: testfiles/output/
cloud: aws
endpoint: 0.0.0.0:9000
region: ap-southeast-1
bucket: a-bucket
ak: minioadmin
sk: minioadmin
useIAM: false
useSSL: false
checkBucket: true
milvus2x:
endpoint: localhost:19530
username: xxxxx
password: xxxxx
В следующей таблице описаны параметры в файле конфигурации примера. Полный список конфигураций см. в разделе Миграция Milvus: Faiss на Milvus 2.x.
dumper
Параметр Описание dumper.worker.limit
Параметр параллельности потоков дампера. dumper.worker.workMode
Режим работы задания миграции. Установите значение faiss при миграции из индексов Faiss. dumper.worker.reader.bufferSize
Размер буфера для чтения из Faiss в каждом пакете. Единица измерения: КБ. dumper.worker.writer.bufferSize
Размер буфера для записи в Milvus в каждом пакете. Единицы измерения: КБ. loader
Параметр Описание loader.worker.limit
Параметр параллельности потоков загрузчика. source
Параметр Описание source.mode
Указывает, откуда считываются исходные файлы. Допустимые значения:
-local
: считывает файлы с локального диска.
-remote
: считывает файлы с удаленного хранилища.source.local.faissFile
Путь к каталогу, в котором находятся исходные файлы. Например, /db/faiss.index
.target
Параметр Описание target.create.collection.name
Имя коллекции Milvus. target.create.collection.shardsNums
Количество шардов, которые будут созданы в коллекции. Дополнительные сведения об осколках см. в разделе Терминология. target.create.collection.dim
Размерность векторного поля. target.create.collection.metricType
Тип метрики, используемый для измерения сходства между векторами. Дополнительные сведения см. в разделе Терминология. target.mode
Место хранения файлов дампа. Допустимые значения:
-local
: хранить файлы дампа на локальных дисках.
-remote
: хранить файлы дампа в объектном хранилище.target.remote.outputDir
Путь к выходному каталогу в облачном хранилище. target.remote.cloud
Поставщик услуг облачного хранилища. Примерные значения: aws
,gcp
,azure
.target.remote.endpoint
Конечная точка хранилища Milvus 2.x. target.remote.region
Регион облачного хранилища. Может иметь любое значение, если вы используете локальное MinIO. target.remote.bucket
Имя ведра для хранения данных. Значение должно совпадать с конфигом в Milvus 2.x. Дополнительные сведения см. в разделе Конфигурации системы. target.remote.ak
Ключ доступа для хранилища Milvus 2.x. target.remote.sk
Секретный ключ для хранилища Milvus 2.x. target.remote.useIAM
Использовать ли IAM-роль для подключения. target.remote.useSSL
Включать ли SSL при подключении к Milvus 2.x. Дополнительные сведения см. в разделе Шифрование при транзите. target.remote.checkBucket
Проверять, существует ли указанный бакет в хранилище объектов. target.milvus2x.endpoint
Адрес целевого сервера Milvus. target.milvus2x.username
Имя пользователя для сервера Milvus 2.x. Этот параметр необходим, если на сервере Milvus включена аутентификация пользователей. Дополнительные сведения см. в разделе Включение аутентификации. target.milvus2x.password
Пароль для сервера Milvus 2.x. Этот параметр необходим, если для сервера Milvus включена аутентификация пользователей. Дополнительные сведения см. в разделе Включить аутентификацию.
Запуск задачи миграции
Запустите задачу миграции с помощью следующей команды. Замените
{YourConfigFilePath}
на локальный каталог, в котором находится файл конфигурацииmigration.yaml
../milvus-migration dump --config=/{YourConfigFilePath}/migration.yaml
Приведенная выше команда преобразует данные индекса Фейса в файлы NumPy, а затем использует операцию bulkInsert для записи данных в целевой бакет.
После создания файлов NumPy импортируйте их в Milvus 2.x с помощью следующей команды. Замените
{YourConfigFilePath}
на локальный каталог, в котором находится файл конфигурацииmigration.yaml
../milvus-migration load --config=/{YourConfigFilePath}/migration.yaml
Проверьте результат
После выполнения задачи миграции вы можете выполнить вызовы API или использовать Attu для просмотра количества перенесенных сущностей. Дополнительные сведения см. в разделе Attu и get_collection_stats().