Azure AI Vector Search розширює можливості пошуку, використовуючи векторні вбудовування для розуміння семантичного значення запитів і документів. У поєднанні з Copilot Studio це забезпечує взаємодію з вашими даними за допомогою природної мови, роблячи його потужним інструментом для AI-керованих застосунків. Цей посібник проведе вас крізь увесь процес налаштування — від підключення джерел даних до активації розширених функцій пошуку.
Передумови
Перш ніж розпочати, переконайтеся, що у вас є:
Крок 1: Налаштування Azure Synapse Link для Dataverse
Azure Synapse Link з’єднує ваше середовище Dataverse з Azure, дозволяючи експортувати дані до облікового запису сховища для подальшої обробки. Але спершу потрібно розгорнути службу Azure Synapse Analytics.
Створення робочої області Azure Synapse Analytics:
У порталі Azure перейдіть до «Створити ресурс» і створіть робочу область Synapse Analytics, налаштувавши такі параметри.


Скріншот 1
Скріншот 1 – роз’яснення:
- Група ресурсів – тут можна створити нову групу.
- Керована група ресурсів – контейнер, який зберігає допоміжні ресурси, створені Azure Synapse Analytics для вашої робочої області.
- Назва робочої області – назва робочої області Synapse Analytics.
- Регіон – регіон розгортання служби бажано має збігатися з регіоном середовища Dataverse. Втім, також можуть підійти й інші відносно близькі регіони (можливі додаткові витрати на передавання даних).
- Назва облікового запису – назва сховища для Data Lake Storage, можна створити тут.
- Назва файлової системи – назва файлової системи для Data Lake Storage, можна створити тут.

Скріншот 2
Скріншот 2:
- Type your SQL Server admin login.
- Choose a SQL Password.
2. Створіть новий Azure Synapse Link:
- Перейдіть до порталу Power Apps. У лівому меню виберіть Azure Synapse Link.

- Натисніть «New link» і задайте такі параметри:
- Позначка «Connect to your Azure Synapse Analytics Workspace» має бути встановлена.
- Підписка – поточна підписка Azure.
- Група ресурсів, назва робочої області, обліковий запис сховища – параметри з раніше створеної робочої області Azure Synapse Analytics.
Виберіть таблиці, які потрібно експортувати. Примітка: відображатимуться лише ті таблиці, для яких увімкнено відстеження змін.

- Також доступні розширені параметри:
- «Append only» – може використовуватися для створення нової копії даних в Azure Synapse Analytics під час змін у даних Dataverse, замість перезапису наявних записів.
- Partition (Розбиття на розділи) – за замовчуванням Azure Synapse Link для Dataverse розбиває дані щомісяця на основі стовпця «createdOn». Для таблиць без стовпця «createdOn» дані розподіляються у нові файли після кожних 5 000 000 записів.

Крок 2: Налаштування Azure AI Search
Azure AI Search індексує та векторизує ваші дані, роблячи їх доступними для пошуку з розширеними можливостями.
Створення екземпляра Azure AI Search:
У порталі Azure створіть новий ресурс Azure AI Search. Налаштуйте такі параметри:
1. Група ресурсів – та сама група ресурсів, що й для Azure Synapse Analytics.
2. Назва служби для екземпляра Azure AI Search.
3. Розташування – регіон розгортання служби. Бажано, щоб він збігався з регіоном середовища Dataverse та служби Azure Synapse Analytics. Втім, можуть підійти й інші відносно близькі регіони (можливі додаткові витрати на передавання даних).


- Є кілька варіантів ціноутворення, а також параметри масштабування. Але для наведеного прикладу ми обрали безкоштовний тарифний план без масштабування.


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 та системним стовпцям.
Порада з усунення несправностей:
Після імпорту індекс, індексатор та набір навичок створюються автоматично (сторінка 16). Якщо індексатор не виконує роботу, перевірте проблеми з імпортом CSV і за потреби застосуйте обхідні рішення (сторінка 17).
Крок 3: Налаштування служби Azure OpenAI
Служба Azure OpenAI використовується для надання моделей векторизації (embedding models) для перетворення даних в Azure AI Search. Моделі векторизації забезпечують семантичний пошук, перетворюючи текст у векторні подання.
Налаштування служби Azure OpenAI:
- Створіть екземпляр служби Azure OpenAI у порталі Azure та задайте такі параметри:
1. Група ресурсів – та сама група ресурсів, що й для Azure Synapse Analytics та Azure AI Search.
2. Регіон – регіон розгортання служби. Бажано, щоб він збігався з регіоном середовища Dataverse та служби Azure Synapse Analytics. Втім, можуть підійти й інші відносно близькі регіони (можливі додаткові витрати на передавання даних).


- Розгорніть потрібну модель векторизації через портал Azure AI Foundry. У цьому випадку використовується модель «text-embedding-3-small».

Крок 4: Імпорт та векторизація даних в Azure AI Search
Насамперед потрібно перевірити, у якому сховищі/контейнері BLOB зберігаються наші дані. Хоча ми створили «crm120910-filesystem» у межах робочої області Azure Synapse Analytics, служба Azure Synapse Link створила власний контейнер для даних Dataverse. Файл «2025-07.csv» містить наші поточні дані Dataverse, які необхідно розібрати та передати до служби Azure AI Search.


1. Імпорт та векторизація даних:
- В Azure AI Search відкрийте «Import and vectorize data».
- Виберіть «Azure Data Lake Storage», а потім «RAG».


Тепер налаштуйте такі параметри:
- Обліковий запис сховища – назва сховища Data Lake.
- Контейнер BLOB – контейнер BLOB із нашими даними Dataverse.
- Режим розбору (Parsing mode) – «Delimited text», оскільки дані зберігаються у форматі CSV.
- Символ-роздільник (Delimiter character) – кома для розділення даних CSV.
- Заголовки-роздільники (Delimiter headers) – назви заголовків CSV. Оскільки Azure Synapse Link не зберігає заголовки безпосередньо, ми повинні надати їх вручну. Вони включають усі поля Dataverse з обраної таблиці, а також деякі системні стовпці.


Далі налаштуйте такі параметри:
- Стовпець для векторизації (Column to vectorize) – у цьому прикладі векторизується поле «name» продукту, яке використовується Azure AI Search.
- Тип (Kind) – служба AI, що використовується для надання моделей векторизації.
- Служба Azure OpenAI (Azure OpenAI service) – оскільки ми використовуємо й створюємо службу Azure OpenAI.
- Розгортання моделі (Model-deployment) – модель векторизації зі служби AI. Тут використовується модель векторизації, яку ми створили раніше у межах Azure OpenAI через портал Azure AI Foundry.

- Далі можна вибрати, які поля індексувати, та задати параметр розкладу. Індексація використовується для надання цих полів у результатах пошуку. Як бачимо, ми не можемо змінити поле «name» у вже доданих продуктах, оскільки воно використовується як векторизоване поле.


2. Усунення проблем з індексатором:
- Після імпорту даних автоматично створюються «Index», «Indexer» та «Skillset».

- Можливо, індексатор не запрацює з першої спроби. Існують певні проблеми з імпортом CSV-файлів, які можна виправити за допомогою обхідних рішень.


- Щоб виправити помилки «chunk_id» / «Could not parse document», необхідно переконатися, що у визначенні індексатора є функція відображення (mapping function), як зазначено в документації.

- Отже, потрібно відредагувати JSON всередині індексатора та додати функцію відображення (mapping function).

- Після цього виправлення потрібно скинути та повторно запустити індексатор. Процес індексації може зайняти певний час, залежно від фактичного обсягу даних.

Крок 5: Тестування векторного пошуку в Azure AI Search
Переконайтеся, що ваш векторний пошук працює належним чином.
1. Використання Search Explorer:
- У Azure AI Search відкрийте «Search Explorer».
- Введіть тестовий запит для пошуку проіндексованих даних.
2. Аналіз результатів:
- Результати відображатимуть елементи на основі семантичної подібності (наприклад, синонімів).
- Сховайте векторні значення за допомогою **«Query options»**, щоб отримати чистіший вивід.
- У відповіді відображаються дані:
1. «chunk» — це фактично векторизоване поле. У цьому випадку — поле «name» продукту.
2. «description — поле з цієї таблиці, яке ми індексували.
3. Крім того, пошук надає відносні оцінки (relative scores) для результатів. Перевірте їх, щоб оцінити релевантність результатів.

Крок 6: Інтеграція з Copilot Studio
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 у Copilot Studio як джерело знань (Knowledge source) або як інструмент (Tool, раніше Actions). Тестування показало, що при використанні Azure AI Search як джерела знань дані у відповіді до користувача скорочуються. Натомість використання його як інструмента разом із конектором «Vectorized search vector» дає змогу вручну налаштовувати параметри, наприклад, кількість топ-N результатів пошуку.

Після додавання «Vectorized search vector» як інструмента можна налаштувати з’єднання та основні вхідні параметри:
- Search Text – текст, який використовується як запит для векторного пошуку (аналогічно до того, як ми тестували пошук вручну).
- Index Name – назва індексу, що використовується для пошуку. Її можна знайти у службі Azure AI Search → Indexes.
- Top Searches – кількість топ-N результатів, які потрібно отримати у результаті векторного пошуку.
- Selected Fields – поля, які потрібно отримати у результаті векторного пошуку (у цьому випадку це поля з нашої розібраної таблиці Dataverse у форматі CSV).
- «chunk» – як уже зазначалося, це векторизоване поле; у цьому випадку — назва продукту.
- «description» – поле з описом із таблиці.
Тепер ми можемо використовувати цей інструмент або безпосередньо (якщо ввімкнено генеративну оркестрацію), або всередині тем. Крім того, відповідь має «оцінку» для кожного результату.

- Варто зауважити, що якщо ми використовуємо цей інструмент (plugin action) всередині теми, він не матиме вихідних даних для подальшого використання у цієї ж теми; він лише надсилає згенероване повідомлення на основі результатів відповіді векторного пошуку.


Висновок
Тепер ви налаштували потужне рішення для пошуку, яке поєднує Azure AI Vector Search і Copilot Studio. Такий набір забезпечує розширений, контекстно-орієнтований пошук, що виходить за межі простого співставлення ключових слів. Досліджуйте подальші можливості налаштування – наприклад, зміну параметрів пошуку чи додавання нових джерел даних, щоб адаптувати рішення під власні потреби.