Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Note
Поиск с использованием ИИ Azure доступна через портал Azure, REST API и Azure SDKs. Он также лежит в основе Foundry IQ — управляемого слоя знаний, который преобразует корпоративный контент в многократно используемые базы знаний с учетом разрешений доступа для агентов на портале Microsoft Foundry.
Развивайте способность использовать меньше измерений в моделях text-embedding-3. Модели текстового внедрения-3 на Azure OpenAI переподготовлены с использованием методики Обучения Представления Матриошки (MRL), которая создает несколько векторных представлений на разных уровнях сжатия. Такой подход позволяет быстрее выполнять поиск и сократить затраты на хранение с минимальными потерями семантической информации.
В Поиск с использованием ИИ Azure поддержка MRL дополняет скалярную и двоичную квантизацию. При использовании любого метода квантизации можно указать truncationDimension свойство в полях векторов, чтобы уменьшить размерность внедрения текста.
Многоуровневое сжатие MRL сокращает использование векторного хранилища и повышает скорость отклика для векторных запросов на основе текстовых эмбеддингов. В службе "Поиск ИИ Azure" поддержка MRL предлагается только вместе с другим методом квантизации. Использование двоичной квантизации с MRL обеспечивает максимальное уменьшение размера векторного индекса. Чтобы обеспечить максимальное сокращение хранилища, используйте двоичную квантизацию с MRL и установите stored на false.
Предупреждение
Если задано значение storedfalse, векторные данные теряются во время частичных обновлений документов, если вы не предоставляете весь вектор в каждом обновлении. Установите значение stored , чтобы true избежать этой проблемы. Дополнительные сведения см. в разделе "Устранение необязательных векторных экземпляров из хранилища".
Предварительные требования
Модель встраивания текста-3, например, text-embedding-3-small или text-embedding-3-large.
Новые векторные поля типа
Edm.HalfилиEdm.Single. Вы не можете добавить сжатие MRL в существующее поле.Скалярная или двоичная квантизация. Усеченные измерения можно задать только при настройке скалярной или двоичной квантизации. Мы рекомендуем двоичную квантизацию для сжатия MRL.
Поддерживаемые клиенты
Для реализации сжатия MRL можно использовать интерфейсы REST API или пакеты Azure SDK. В настоящее время нет поддержки портала Azure или Microsoft Foundry.
- Проверьте журналы изменений для каждого пакета sdk Azure для поддержки функций: Python, .NET, Java, JavaScript.
Использование внедрения расширенного текста MRL
MRL встроен в модель внедрения текста, которую вы уже используете. Чтобы использовать возможности MRL в службе "Поиск ИИ Azure", выполните следующие действия.
Используйте создание или обновление индекса или эквивалентный API, чтобы указать схему индекса.
Добавьте векторные поля в определение индекса.
vectorSearch.compressionsУкажите объект в определении индекса.Включите метод квантизации, скалярный или двоичный (рекомендуется).
truncationDimensionВключите параметр и задайте для него значение 512. Если вы используете модель text-embedding-3-large, значение можно установить на уровне 256.Включите векторный профиль, указывающий алгоритм HNSW и объект сжатия векторов.
Назначьте профиль вектора полю векторного типа
Edm.HalfилиEdm.Singleв коллекции полей.
Нет изменений на стороне запроса для использования модели внедрения текста с поддержкой MRL. Поддержка MRL не влияет на встроенную векторизацию, преобразования текста в запрос во время выполнения запроса, семантическое ранжирование и другие функции улучшения релевантности, такие как переранжирование с помощью исходных векторов и дополнительная выборка.
Хотя индексирование медленнее из-за дополнительных шагов, запросы выполняются быстрее.
Пример: конфигурация векторного поиска, поддерживающая MRL
В следующем примере показана конфигурация векторного поиска, которая соответствует требованиям и рекомендациям MRL.
truncationDimension — это свойство сжатия. Он указывает, сколько нужно уменьшить граф векторов в памяти вместе с методом сжатия, таким как скалярное или двоичное сжатие. Рекомендуем использовать 1 024 или более для truncationDimension двоичной квантизации. Размерность менее 1000 снижает качество результатов поиска при использовании MRL и двоичного сжатия.
{
"vectorSearch": {
"profiles": [
{
"name": "use-bq-with-mrl",
"compression": "use-bq-with-truncation",
"algorithm": "use-hnsw"
}
],
"algorithms": [
{
"name": "use-hnsw",
"kind": "hnsw",
"hnswParameters": {
"m": 4,
"efConstruction": 400,
"efSearch": 500,
"metric": "cosine"
}
}
],
"compressions": [
{
"name": "use-bq-with-truncation",
"kind": "binaryQuantization",
"rescoringOptions": {
"enableRescoring": true,
"defaultOversampling": 10,
"rescoreStorageMethod": "preserveOriginals"
},
"truncationDimension": 1024
}
]
}
}
В следующем формате JSON показано определение векторного поля, которое использует этот профиль:
Тип данных имеет значение
Collection(Edm.Half)илиCollection(Edm.Single).Поле имеет
vectorSearchProfileсвойство, указывающее параметры алгоритма и сжатия.Поле имеет
dimensionsсвойство, указывающее количество измерений для оценки и ранжирования результатов. Его значение должно быть ограничением размеров используемой модели (1536 для text-embedding-3-small).
{
"name": "text_vector",
"type": "Collection(Edm.Single)",
"searchable": true,
"filterable": false,
"retrievable": false,
"stored": false,
"sortable": false,
"facetable": false,
"key": false,
"indexAnalyzer": null,
"searchAnalyzer": null,
"analyzer": null,
"normalizer": null,
"dimensions": 1536,
"vectorSearchProfile": "use-bq-with-mrl",
"vectorEncoding": null,
"synonymMaps": []
}