Azure AI Vector Search расширяет возможности поиска, используя векторные встраивания для понимания семантического значения запросов и документов. В сочетании с Copilot Studio это обеспечивает взаимодействие с вашими данными на естественном языке, делая решение мощным инструментом для приложений на базе искусственного интеллекта. В этом руководстве пошагово показан процесс настройки всего набора — от подключения источников данных до включения расширенных функций поиска.

Содержание

Предварительные требования

Прежде чем начать, убедитесь, что у вас есть

  • активная Azure подписка,

  • доступ к среде Dataverse (часть Microsoft Power Platform),

  • необходимые разрешения для создания и управления ресурсами Azure.

Шаг 1: установка Azure Synapse Link для Dataverse

Azure Synapse Link подключает вашу среду Dataverse к Azure, позволяя экспортировать данные в учетную запись хранилища для дальнейшей обработки. Но сначала необходимо развернуть службу Azure Synapse Analytics.

1. Создание рабочей области Azure Synapse Analytics:

В портале Azure перейдите в раздел «Создать ресурс» и создайте рабочую область Synapse Analytics, задав следующие параметры.

Azure Synapse Analytics
create synapse workspace

Скриншот 1

Скриншот 1:

  • Группа ресурсов – здесь можно создать новую группу.
  • Управляемая группа ресурсов – контейнер, который хранит вспомогательные ресурсы, создаваемые Azure Synapse Analytics для вашей рабочей области.
  • Имя рабочей области – имя рабочей области Synapse Analytics.
  • Регион – регион развертывания службы. Желательно, чтобы он совпадал с регионом среды Dataverse. Однако могут подойти и другие относительно близкие регионы (могут взиматься дополнительные расходы за передачу данных).
  • Имя учетной записи – имя хранилища для Data Lake Storage, можно создать здесь.
  • Имя файловой системы – имя файловой системы для Data Lake Storage, можно создать здесь.
create synapse workspace

Скриншот 2

Скриншот 2:

  • Введите ваш SQL Server admin login.
  • Выберите SQL Password.

2. Создайте новый Azure Synapse Link:

  • Перейдите в портал Power Apps. В левом меню выберите «Azure Synapse Link».
New Link Creation
  • Нажмите «New link» и задайте следующие параметры:
  • Галочка «Connect to your Azure Synapse Analytics Workspace» должна быть установлена.
  • Подписка – текущая подписка Azure.
  • Группа ресурсов, имя рабочей области, учетная запись хранилища – параметры из ранее созданной рабочей области Azure Synapse Analytics.
  • Выберите таблицы, которые хотите экспортировать.

Примечание: будут отображаться только те таблицы, для которых включено отслеживание изменений.

Dataverse 'New link' window showing table selection. 'Products' table is selected with partition set to Month.
Также доступны дополнительные параметры:

1. «Append only» – может использоваться для создания новой копии данных в Azure Synapse Analytics при изменении данных Dataverse, вместо перезаписи существующих записей.

2. Partition (разделение) – по умолчанию Azure Synapse Link для Dataverse разбивает данные помесячно на основе столбца «createdOn». Для таблиц без столбца «createdOn» данные разбиваются на новые файлы каждые 5 000 000 записей.

Azure Synapse Link for Dataverse showing 'Products' table with sync status Active and partition set to Month.

Шаг 2: настройка Azure AI Search

Azure AI Search индексирует и векторизует ваши данные, делая их доступными для поиска с расширенными возможностями.

1. Создание экземпляра Azure AI Search:

В портале Azure создайте новый ресурс Azure AI Search. Настройте следующие параметры:

1. Группа ресурсов – та же группа ресурсов, что и для Azure Synapse Analytics.

2. Имя службы – имя экземпляра Azure AI Search.

3. Расположение – регион развертывания службы. Желательно, чтобы он совпадал с регионом среды Dataverse и службы Azure Synapse Analytics. Однако могут подойти и другие относительно близкие регионы (могут применяться дополнительные расходы за передачу данных).

Card for Azure AI Search service showing description and create option.
Azure portal 'Create a search service' page showing project details and instance details form.
  • Существует несколько вариантов тарифов, а также параметры масштабирования. Но для следующего примера мы выбрали бесплатный тарифный план без масштабирования.
Selection of a price tier
Azure 'Create a search service' scale tab showing 2 search units, estimated cost $499.97, 1 replica, and 2 partitions.

2. Импорт данных:

  • Перейдите в раздел «Import data» в вашем экземпляре Azure AI Search.
  • Выберите «Azure Blob Storage» как источник данных.
  • Укажите учетную запись хранилища и контейнер BLOB, в который Synapse Link экспортирует ваши данные Dataverse (например, учетная запись хранилища «Data Lake»).

3. Задайте параметры разбора:

  • Установите «Parsing mode» в значение «Delimited text», так как данные находятся в формате CSV.
  • Используйте запятую (,) в качестве «Delimiter character».
  • Так как CSV-файлы Synapse Link не содержат заголовков, введите названия столбцов вручную, чтобы они соответствовали вашим полям Dataverse, а также системным столбцам.

Совет по устранению неполадок: после импорта автоматически создаются Index, Indexer и Skillset (стр. 16). Если индексация не удалась, проверьте проблемы с импортом CSV и при необходимости примените обходные решения (стр. 17).

Шаг 3: настройка службы Azure OpenAI

Сервис Azure OpenAI используется для предоставления моделей встраивания (embedding models) для векторизации данных в Azure AI Search. Модели встраивания позволяют выполнять семантический поиск, преобразуя текст в векторные представления.

1. Настройка сервиса Azure OpenAI:

Создайте экземпляр сервиса Azure OpenAI в портале Azure и задайте следующие параметры:

  • Группа ресурсов – та же группа ресурсов, что и для Azure Synapse Analytics и Azure AI Search.
  • Регион – регион развертывания службы. Желательно, чтобы он совпадал с регионом среды Dataverse и службы Azure Synapse Analytics. Однако могут подойти и другие относительно близкие регионы (могут применяться дополнительные расходы за передачу данных).
Azure Open AI
Azure portal form to create an Azure OpenAI resource with project and instance details.
  • Разверните нужную модель встраивания через портал Azure AI Foundry. В данном случае используется модель «text-embedding-3-small».
Azure AI Foundry model catalog with embedding models list.

Шаг 4: импорт и векторизация данных в Azure AI Search

Сначала нужно проверить, в каком хранилище/контейнере BLOB находятся наши данные. Хотя мы создали «crm120910-filesystem» в рабочей области Azure Synapse Analytics, служба Azure Synapse Link создала собственный контейнер для данных Dataverse. Файл «2025-07.csv» содержит наши актуальные данные Dataverse, которые необходимо разобрать и передать в службу Azure AI Search.

Azure Storage account containers view showing three containers: crm120910-filesystem, dataverse-crm120910, and power-platform-dataflows.
Azure storage container dataverse-crm120910 showing folders Snapshot and a file named 2025-07.csv.

1. Импорт и векторизация данных:

В Azure AI Search откройте «Import and vectorize data». Выберите «Azure Data Lake Storage», а затем «RAG».

Import and victorize data
Import and Vectorize

Теперь настройте следующие параметры:

1. Учетная запись хранилища (Storage account) – имя хранилища Data Lake.

2. Контейнер BLOB (Blob container) – контейнер BLOB с нашими данными Dataverse.

3. Режим разбора (Parsing mode) – «Delimited text», так как данные хранятся в формате CSV.

4. Символ-разделитель (Delimiter character) – запятая для разделения данных CSV.

5. Заголовки (Delimiter headers) – названия заголовков CSV. Так как Synapse Link не сохраняет заголовки напрямую, их нужно указать вручную. Они включают все поля Dataverse из выбранной таблицы, а также некоторые системные столбцы.

Azure RAG setup screen configuring Azure Data Lake Storage Gen2 with subscription, storage account, blob container, folder, parsing mode, and delimiter settings.
CSV file preview in Azure storage named 2025-07.csv, showing rows of product data with IDs, timestamps, user references, and system fields
  • Затем настройте следующие параметры:

 

  1. Столбец для векторизации (Column to vectorize) – в данном примере векторизуется поле «name» продукта, которое используется в Azure AI Search.
  2. Тип (Kind) – служба AI, используемая для предоставления моделей встраивания.
  3. Служба Azure OpenAI (Azure OpenAI service) – так как мы используем и создаём службу Azure OpenAI.
  4. Развертывание модели (Model-deployment) – модель встраивания из указанной AI-службы. Здесь используется модель, которую мы ранее создали в Azure OpenAI через портал Azure AI Foundry.

 

Azure RAG setup screen for vectorizing text, selecting ProductName column, Azure OpenAI service, and embedding model text-embedding-3-small.
  • Затем можно выбрать, какие поля индексировать, и задать параметр расписания. Индексация используется для предоставления этих полей в результатах поиска. Как видно, изменить поле «name» у ранее добавленных продуктов нельзя, так как оно используется как векторизованное поле.
Azure Interface instruction: Schedule Indexing
Azure Instructions: Field Definitions

2. Устранение проблем с индексатором.

После импорта данных автоматически создаются «Index», «Indexer» и «Skillset».

Azure portal screenshot showing Indexer status
  • Возможно, индексатор не заработает с первой попытки. Существуют некоторые проблемы с импортом CSV-файлов, которые можно устранить с помощью обходных решений.
Azure portal run history table showing indexer statuses: Success (3006 docs), Reset (0 docs), and Failed (0 docs, 1 error).
Azure indexer error message
  • Чтобы исправить ошибки «chunk_id» / «Could not parse document», нужно убедиться, что в определении индексатора есть функция отображения (mapping function), как указано в документации.
Azure documentation screenshot: error “Could not parse document” showing causes (missing/invalid document key) and resolutions
  • Поэтому необходимо отредактировать JSON внутри индексатора и добавить функцию отображения (mapping function).
Indexser JSON Editor
Copy to Clipboard
  • После этого исправления нужно сбросить и заново запустить индексатор. Индексация может занять некоторое время в зависимости от фактического объёма данных.
Azure indexer execution history showing recent runs: one Success (50s, 3006 docs), one Reset (0 docs), and one Failed (1 error). Chart displays run durations by status.

Шаг 5: тестирование векторного поиска в Azure AI Search

Убедитесь, что ваш векторный поиск работает должным образом.

1. Использование Search Explorer:

  • В Azure AI Search откройте «Search Explorer».
  • Введите тестовый запрос для поиска ваших проиндексированных данных.

2. Анализ результатов:

  • Результаты будут отображать элементы на основе семантической схожести (например, синонимов).
  • Скройте векторные значения с помощью **«Query options»**, чтобы получить более чистый вывод.

В ответе отображаются данные:

1. «chunk» — это векторизованное поле. В данном случае — поле «name» продукта.

2. «description» — поле из таблицы, которое мы индексировали.

3. Кроме того, поиск предоставляет относительные оценки (relative scores) для результатов. Проверьте их, чтобы оценить релевантность результатов.

Azure Search Explorer showing query "grey drapes for living room" returning indexed JSON results with fields like chunk_id, parent_id, chunk, description, rownumber, and EntityCount.

Шаг 6: интеграция с Copilot Studio

1. Добавление Azure AI Search в Copilot Studio:

Сначала нужно добавить подключение Azure AI Search в портале Power Apps.

URL конечной точки (endpoint URL) можно найти на странице «Overview» службы Azure AI Search.

Административный ключ (Admin key) находится в разделе Azure AI Search Settings → Keys → Primary Admin Key.

Azure AI Search connection setup window showing fields for Authentication type, Endpoint URL, and Admin Key before creating a connection.
  • Затем мы можем добавить Azure AI Search в Copilot Studio либо как источник знаний (Knowledge source), либо как инструмент (Tool, ранее Actions). Тестирование показывает, что при использовании Azure AI Search как источника знаний данные в ответном сообщении пользователю частично сокращаются. А при использовании его как инструмента с коннектором «Vectorized search vector» появляется возможность вручную задавать параметры, например количество top-N результатов поиска.
“Add tool” window showing Azure AI Search options like Vectorized Search, Semantic Hybrid Search, Search vectors, Get search indexes, and document management actions.

После добавления «Vectorized search vector» как инструмента можно настроить подключение и основные входные параметры:

  • Search Text – текст, который используется как запрос для векторного поиска (так же, как мы тестировали поиск вручную).
  • Index Name – имя индекса, которое используется для поиска. Его можно найти в службе Azure AI Search → Indexes.
  • Top Searches – количество top-N результатов, которые нужно получить в результате векторного поиска.
  • Selected Fields – поля, которые нужно получить в результате векторного поиска (в данном случае это поля из нашей разобранной таблицы Dataverse в формате CSV).
  • «chunk» – как уже отмечалось, это векторизованное поле; в данном случае — имя продукта.
  • «description» – поле описания из таблицы.

Теперь этот инструмент можно использовать либо напрямую (если включена генеративная оркестрация), либо внутри тем. Кроме того, в ответе у каждого результата есть показатель «score».

opilot Studio activity map showing a successful Vectorized search vector call with JSON response, and chat output listing grey drape product recommendations.
  • Важно отметить, что если мы используем этот инструмент (plugin action) внутри темы, у него не будет выходных данных для дальнейшего использования в этой же теме; он просто отправляет сгенерированное сообщение на основе результатов ответа векторного поиска.
Plugin action
Chat output showing search results with product suggestions: Grey blackout curtains with pom-pom design. Greyish white blackout curtain panel with thermal insulation.

Вывод

Теперь у вас настроено надёжное решение для поиска, объединяющее Azure AI Vector Search и Copilot Studio. Этот набор обеспечивает расширенный, контекстно-ориентированный поиск, выходящий за рамки простого сопоставления ключевых слов. Изучите дополнительные возможности настройки — например, изменение параметров поиска или добавление новых источников данных, чтобы адаптировать решение под ваши потребности.

Часто задаваемые вопросы

Сервис, который обеспечивает семантический поиск, используя векторные встраивания для понимания контекста и смысла в запросах.

Она обеспечивает взаимодействие с данными на естественном языке, делая результаты поиска более интуитивными и удобными для пользователя.

Одна из частых проблем  — некорректные ключи документов. Это можно исправить, применив функцию отображения «base64Encode» в определении индексатора.

Да, Azure AI Search поддерживает объединение нескольких структурированных и неструктурированных источников данных.

Published On: / Categories: Azure, Блог, Техническая статья /

Развивайте бизнес с нами!

OntargIT является официальным партнером Microsoft по внедрению технологий Dynamics 365. С нашим опытом в различных отраслях, мы обеспечим индивидуальный подход и эффективные решения, которые будут идеально соответствовать потребностям вашей компании. Оставьте заявку сейчас, и наша команда экспертов поможет вам воспользоваться всеми преимуществами Dynamics 365.

Развивайте бизнес с нами!

OntargIT является официальным партнером Microsoft по внедрению технологий Dynamics 365. С нашим опытом в различных отраслях, мы обеспечим индивидуальный подход и эффективные решения, которые будут идеально соответствовать потребностям вашей компании. Оставьте заявку сейчас, и наша команда экспертов поможет вам воспользоваться всеми преимуществами Dynamics 365.