🚀 Попробуйте Zilliz Cloud, полностью управляемый Milvus, бесплатно — ощутите 10-кратное увеличение производительности! Попробовать сейчас>

milvus-logo
LFAI
Главная

Из Faiss

В этом руководстве представлен полный пошаговый процесс переноса данных из Faiss в Milvus 2.x. Следуя этому руководству, вы сможете эффективно перенести свои данные, используя расширенные возможности Milvus 2.x и улучшенную производительность.

Необходимые условия

Настройка миграции

Сохраните пример файла конфигурации миграции как 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 включена аутентификация пользователей. Дополнительные сведения см. в разделе Включить аутентификацию.

Запуск задачи миграции

  1. Запустите задачу миграции с помощью следующей команды. Замените {YourConfigFilePath} на локальный каталог, в котором находится файл конфигурации migration.yaml.

    ./milvus-migration  dump  --config=/{YourConfigFilePath}/migration.yaml
    

    Приведенная выше команда преобразует данные индекса Фейса в файлы NumPy, а затем использует операцию bulkInsert для записи данных в целевой бакет.

  2. После создания файлов NumPy импортируйте их в Milvus 2.x с помощью следующей команды. Замените {YourConfigFilePath} на локальный каталог, в котором находится файл конфигурации migration.yaml.

    ./milvus-migration  load  --config=/{YourConfigFilePath}/migration.yaml
    

Проверьте результат

После выполнения задачи миграции вы можете выполнить вызовы API или использовать Attu для просмотра количества перенесенных сущностей. Дополнительные сведения см. в разделе Attu и get_collection_stats().

Попробуйте Managed Milvus бесплатно

Zilliz Cloud работает без проблем, поддерживается Milvus и в 10 раз быстрее.

Начать
Обратная связь

Была ли эта страница полезной?