Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание
Поиск с использованием ИИ Azure доступна через портал Azure, REST API и Azure SDKs. Он также лежит в основе Foundry IQ — управляемого слоя знаний, который преобразует корпоративный контент в многократно используемые базы знаний с учетом разрешений доступа для агентов на портале Microsoft Foundry.
Примечание
Эта функция агентного поиска стала общедоступной в REST API версии 2026-04-01 через программный интерфейс. Портал Azure и портал Microsoft Foundry продолжают предоставлять предварительный доступ ко всем агентным функциям извлечения. Инструкции по миграции можно найти в разделе «Миграция кода извлечения деятельности агента на последнюю версию».
Если вы решили использовать REST API предварительной версии, вы можете получить доступ к возможностям, которые пока недоступны для этой функции. Предварительные версии функций предоставляются без соглашения об уровне обслуживания и не рекомендуется для рабочих нагрузок. Для получения дополнительной информации см. Дополнительные условия использования для предварительных версий Microsoft Azure.
Важно
Эти функции и функциональные возможности являются частью REST API 2026-08-01-preview. Версия 2026-08-01-preview лицензируется вам в рамках вашей подписки Azure и регулируется условиями, применимыми к "Предварительным версиям", изложенными в Условиях на продукты Microsoft, Дополнении о защите данных для продуктов и служб Microsoft ("DPA") и Дополнительных условиях использования предварительных версий Microsoft Azure.
Предварительная версия 2026-08-01 поддерживает подключения к другим службы Майкрософт и сторонним службам. Использование этих служб регулируется соответствующими условиями и может привести к обработке или хранению данных за пределами периметра соответствия требованиям Azure, а также к передаче данных в периметр соответствия требованиям Azure.
Вы несете ответственность за управление тем, будут ли данные передаваться за пределы соответствия вашей организации и географических границ и любых связанных последствий, а также предоставлять соответствующие разрешения, границы и утверждения.
Вы несете ответственность за тщательное изучение и тестирование приложений, которые вы создаете в контексте конкретных вариантов использования и принятия всех соответствующих решений и настроек. Это включает в себя реализацию собственных ответственных мер по устранению рисков искусственного интеллекта, таких как метаподсказки, фильтры содержимого или другие системы безопасности, а также обеспечение соответствия приложений соответствующим стандартам качества, надежности, безопасности и доверия. Дополнительные сведения см. в примечании о прозрачности Поиск с использованием ИИ Azure.
В Поиск с использованием ИИ Azure база знаний является объектом верхнего уровня, который оркеструет агентическое извлечение. Он определяет, какие источники знаний запрашивать и поведение по умолчанию для операций извлечения. Во время запроса метод извлечения нацеливается на базу знаний для запуска конфигурированного конвейера извлечения.
База знаний указывает:
Один или несколько источников знаний, указывающих на доступный для поиска контент.
Необязательный LLM для планирования запросов, синтеза ответов или сводки веб-содержимого. Поддерживаемые задачи зависят от версии API и типа источника знаний.
Пользовательские свойства, управляющие маршрутизацией, выбором источника и шифрованием объектов.
Поддержка использования
| портал Azure | портал Microsoft Foundry | Пакет SDK для .NET | пакет SDK Python | SDK для Java | пакет SDK JavaScript | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Необходимые условия
Поиск с использованием ИИ Azure в любом регионе, который предоставляет агентский доступ к данным. Если вы используете управляемую идентификацию для ролевого доступа к развернутым моделям, ваша служба поиска должна быть на тарифном плане Basic или выше.
Один или несколько источников знаний.
2026-08-01-previewИспользуйте версию API для доступа к предварительным источникам знаний или использованию LLM с источниками знаний, не являющихся веб-источниками знаний. Используйте версию2026-04-01API для общедоступных источников знаний и минимального извлечения.(условный) Azure OpenAI с развертыванием поддерживаемой LLM. LlM требуется, если база знаний содержит источник веб-знаний. Для других источников знаний модель LLM является необязательной в версии API
2026-08-01-previewи не поддерживается в версии API2026-04-01.Разрешение на создание баз знаний. Настройте проверку подлинности без ключа с помощью роли участника службы поиска , назначенной учетной записи пользователя (рекомендуется) или используйте ключ API администратора.
Если база знаний указывает LLM, служба поиска должна иметь управляемую учётную запись с правами Пользователя Cognitive Services на ресурсе Microsoft Foundry.
Обязательный пакет
Azure.Search.Documents:Для функций
2026-08-01-preview: последний предварительный пакетdotnet add package Azure.Search.Documents --prereleaseПоследний стабильный пакет для функций
2026-04-01:dotnet add package Azure.Search.Documents
Для аутентификации без использования ключа пакет
Azure.Identity:dotnet add package Azure.Identity
Обязательный пакет
azure-search-documents:Для функций
2026-08-01-preview: последний предварительный пакетpip install --pre azure-search-documentsПоследний стабильный пакет для функций
2026-04-01:pip install azure-search-documents
Для аутентификации без использования ключа пакет
azure-identity:pip install azure-identity
Требуемая версия REST API службы поиска:
Для функций предварительной версии: 2026-08-01-preview
Для общедоступных функций: 2026-04-01
Для проверки подлинности без ключа добавьте маркер Microsoft Entra ID в
Authorizationзаголовок каждого HTTP-запроса.
Поддерживаемые модели
Используйте один из следующих LLM из Azure OpenAI в модели Foundry. Azure OpenAI определяет региональную доступность выбранного развертывания. Инструкции по развертыванию см. в разделе Deploy Microsoft Foundry Models на портале Foundry.
Семейство GPT-4 устарело. Сведения о рекомендациях по жизненному циклу моделей, датах вывода из эксплуатации и текущем статусе см. в разделе Вывод из эксплуатации и устаревание моделей и статье График вывода моделей из эксплуатации — Microsoft Foundry.
| Модель | Поддерживаемые версии API |
|---|---|
gpt-4o (не рекомендуется) |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-4o-mini (не рекомендуется) |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-4.1 (не рекомендуется) |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-4.1-mini (не рекомендуется) |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-4.1-nano (не рекомендуется) |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-5 |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-5-mini |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-5-nano |
2025-11-01-preview, 2026-05-01-preview, 2026-08-01-preview |
gpt-5.1 |
2026-05-01-preview, 2026-08-01-preview |
gpt-5.2 |
2026-05-01-preview, 2026-08-01-preview |
gpt-5.4 |
2026-05-01-preview, 2026-08-01-preview |
gpt-5.4-mini |
2026-05-01-preview, 2026-08-01-preview |
gpt-5.4-nano |
2026-05-01-preview, 2026-08-01-preview |
gpt-5.5 |
2026-08-01-preview |
gpt-5.6-sol |
2026-08-01-preview |
gpt-5.6-terra |
2026-08-01-preview |
gpt-5.6-luna |
2026-08-01-preview |
Настройка доступа
Поиск с использованием ИИ Azure требуется доступ к LLM из Azure OpenAI в модели Foundry. Мы рекомендуем Microsoft Entra ID для проверки подлинности и доступа на основе ролей для авторизации. Чтобы назначить роли, необходимо быть владельцем или администратором доступа пользователей. Если вы не можете использовать роли, используйте проверку подлинности на основе ключей.
Включите управление доступом на основе ролей на Поиск с использованием ИИ Azure.
Настройте Поиск с использованием ИИ Azure для использования управляемого удостоверения.
У вашего поставщика моделей назначьте пользователя Cognitive Services управляемому удостоверению службы поиска. При локальном тестировании назначьте ту же роль учетной записи пользователя.
Для локального тестирования выполните действия, описанные в Краткое руководство: Подключение без ключей, чтобы войти в определенную подписку и арендатор. Используйте
DefaultAzureCredentialвместоAzureKeyCredentialкаждого запроса, который должен быть похож на следующий пример.// Authenticate using roles using Azure.Search.Documents.Indexes; using Azure.Identity; var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new DefaultAzureCredential());
Включите управление доступом на основе ролей на Поиск с использованием ИИ Azure.
Настройте Поиск с использованием ИИ Azure для использования управляемого удостоверения.
У вашего поставщика моделей назначьте пользователя Cognitive Services управляемому удостоверению службы поиска. При локальном тестировании назначьте ту же роль учетной записи пользователя.
Для локального тестирования выполните действия, описанные в Краткое руководство: Подключение без ключей, чтобы войти в определенную подписку и арендатор. Используйте
DefaultAzureCredentialвместоAzureKeyCredentialкаждого запроса, который должен быть похож на следующий пример.# Authenticate using roles from azure.identity import DefaultAzureCredential index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())
Включите управление доступом на основе ролей на Поиск с использованием ИИ Azure.
Настройте Поиск с использованием ИИ Azure для использования управляемого удостоверения.
У вашего поставщика моделей назначьте пользователя Cognitive Services управляемому удостоверению службы поиска. При локальном тестировании назначьте ту же роль учетной записи пользователя.
Для локального тестирования выполните действия, описанные в кратком руководстве: Подключение без ключей для получения личного токена доступа для конкретной подписки и арендатора. Укажите маркер доступа в каждом запросе, который должен быть похож на следующий пример.
# List indexes using roles GET {{search-endpoint}}/indexes?api-version=2026-04-01 Content-Type: application/json Authorization: Bearer {{search-access-token}}
Важно
В фрагментах кода в этой статье используется аутентификация без ключей. Чтобы использовать ключ API, обновите каждый запрос соответствующим образом. В запросе, указывающего оба подхода, ключ API имеет приоритет.
Проверка существующих баз знаний
База знаний — это объект верхнего уровня, который можно использовать повторно. Знание существующих баз знаний полезно для повторного использования или именования новых объектов.
Выполните следующий код, чтобы перечислить существующие базы знаний по имени. Список включает все базы знаний в службе поиска независимо от того, какая версия API использовалась для их создания.
// List knowledge bases by name
using Azure.Search.Documents.Indexes;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
var knowledgeBases = indexClient.GetKnowledgeBasesAsync();
Console.WriteLine("Knowledge Bases:");
await foreach (var kb in knowledgeBases)
{
Console.WriteLine($" - {kb.Name}");
}
Reference:SearchIndexClient
# List knowledge bases by name
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())
for kb in index_client.list_knowledge_bases():
print(f" - {kb.name}")
Reference:SearchIndexClient
# List knowledge bases
GET {{search-endpoint}}/knowledgebases?api-version={{api-version}}&$select=name
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
Справочник:Базы знаний — список
Вы также можете вернуть отдельную базу знаний по имени, чтобы просмотреть её определение JSON.
using Azure.Search.Documents.Indexes;
using System.Text.Json;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
// Specify the knowledge base name to retrieve
string kbNameToGet = "earth-knowledge-base";
// Get a specific knowledge base definition
var knowledgeBaseResponse = await indexClient.GetKnowledgeBaseAsync(kbNameToGet);
var kb = knowledgeBaseResponse.Value;
// Serialize to JSON for display
string json = JsonSerializer.Serialize(kb, new JsonSerializerOptions { WriteIndented = true });
Console.WriteLine(json);
Reference:SearchIndexClient
# Get a knowledge base definition
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
import json
index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())
kb = index_client.get_knowledge_base("<knowledge-base-name>")
print(json.dumps(kb.as_dict(), indent = 2))
Reference:SearchIndexClient
# Get knowledge base
GET {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
Справочник:Базы знаний — получение
Следующий код JSON является примером ответа для базы знаний.
{
"name": "my-kb",
"description": "A sample knowledge base.",
"retrievalInstructions": null,
"answerInstructions": null,
"outputMode": null,
"knowledgeSources": [
{
"name": "my-blob-ks"
}
],
"models": [],
"encryptionKey": null,
"retrievalReasoningEffort": {
"kind": "low"
}
}
Примечание
Схема ответа отражает версию API, используемую для создания базы знаний. База знаний, созданная с общедоступной 2026-04-01 версией API, возвращает более узкое определение, чем 2026-08-01-preview Дополнительные сведения о свойствах, поддерживаемых каждой версией, см. в статье "Создание базы знаний".
Создание базы знаний
Важно
Версия API 2026-04-01 принимает только общедоступные типы источников знаний и поддерживает минимальное извлечение релевантных фрагментов. Это не поддерживает функции, доступные только в предварительной версии, такие как планирование запросов, синтез ответов и настраиваемая интенсивность рассуждений. Для полной функциональности используйте 2026-08-01-preview.
База знаний подключает один или несколько источников знаний (содержимое для поиска) к необязательному LLM из Azure OpenAI в модели Foundry. Заданные свойства устанавливают значения по умолчанию для выполнения запроса и получения ответов.
После создания базы знаний его свойства можно обновлять в любое время. Если база знаний используется, обновления вступают в силу при следующем получении.
// Create a knowledge base
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.KnowledgeBases.Models;
using Azure.Identity;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new DefaultAzureCredential());
var aoaiParams = new AzureOpenAIVectorizerParameters
{
ResourceUri = new Uri(aoaiEndpoint),
DeploymentName = aoaiGptDeployment,
ModelName = aoaiGptModel,
};
var knowledgeBase = new KnowledgeBase(
name: "my-kb",
knowledgeSources: new KnowledgeSourceReference[]
{
new KnowledgeSourceReference("hotels-ks"),
new KnowledgeSourceReference("earth-at-night-ks")
}
)
{
Description = "This knowledge base handles questions directed at two unrelated sample indexes.",
RetrievalInstructions = "Use the hotels knowledge source for queries about where to stay, otherwise use the earth at night knowledge source.",
AnswerInstructions = "Answer in two concise sentences.",
OutputMode = KnowledgeRetrievalOutputMode.AnswerSynthesis,
Models = { new KnowledgeBaseAzureOpenAIModel(azureOpenAIParameters: aoaiParams) },
RetrievalReasoningEffort = new KnowledgeRetrievalAutoReasoningEffort()
};
await indexClient.CreateOrUpdateKnowledgeBaseAsync(knowledgeBase);
Console.WriteLine($"Knowledge base '{knowledgeBase.Name}' created or updated successfully.");
Reference:SearchIndexClient, KnowledgeBase
# Create a knowledge base
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
AzureOpenAIVectorizerParameters,
KnowledgeBase,
KnowledgeBaseAzureOpenAIModel,
KnowledgeSourceReference,
)
from azure.search.documents.knowledgebases.models import (
KnowledgeRetrievalAutoReasoningEffort,
KnowledgeRetrievalOutputMode,
)
index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())
aoai_params = AzureOpenAIVectorizerParameters(
resource_url = "<aoai-endpoint>",
deployment_name = "<aoai-gpt-deployment>",
model_name = "<aoai-gpt-model>",
)
knowledge_base = KnowledgeBase(
name = "my-kb",
description = "This knowledge base handles questions directed at two unrelated sample indexes.",
retrieval_instructions = "Use the hotels knowledge source for queries about where to stay, otherwise use the earth at night knowledge source.",
answer_instructions = "Answer in two concise sentences.",
output_mode = KnowledgeRetrievalOutputMode.ANSWER_SYNTHESIS,
knowledge_sources = [
KnowledgeSourceReference(name = "hotels-ks"),
KnowledgeSourceReference(name = "earth-at-night-ks"),
],
models = [KnowledgeBaseAzureOpenAIModel(azure_open_ai_parameters = aoai_params)],
encryption_key = None,
retrieval_reasoning_effort = KnowledgeRetrievalAutoReasoningEffort(),
)
index_client.create_or_update_knowledge_base(knowledge_base)
print(f"Knowledge base '{knowledge_base.name}' created or updated successfully.")
Reference:SearchIndexClient, KnowledgeBase
# Create a knowledge base
PUT {{search-endpoint}}/knowledgebases/my-kb?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
{
"name" : "my-kb",
"description": "This knowledge base handles questions directed at two unrelated sample indexes.",
"retrievalInstructions": "Use the hotels knowledge source for queries about where to stay, otherwise use the earth at night knowledge source.",
"answerInstructions": "Answer in two concise sentences.",
"outputMode": "answerSynthesis",
"knowledgeSources": [
{
"name": "hotels-ks"
},
{
"name": "earth-at-night-ks"
}
],
"models" : [
{
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "{{aoai-endpoint}}",
"deploymentId": "gpt-5.4-mini",
"modelName": "gpt-5.4-mini"
}
}
],
"encryptionKey": null,
"retrievalReasoningEffort": {
"kind": "auto"
}
}
Справочник:Базы знаний — создание или обновление
Настройка ограничений извлечения по умолчанию (предварительная версия)
Начиная с 2026-08-01-preview версии API, можно использовать необязательный retrieveDefaults объект для хранения значений по умолчанию на уровне запросов в базе знаний. Каждое сохранённое свойство применяется только в том случае, если в запросе на получение отсутствует соответствующее поле запроса:
| Хранимое свойство | Получение поля запроса |
|---|---|
maxRuntimeInSeconds |
maxRuntimeInSeconds |
maxOutputDocuments |
maxOutputDocuments |
maxOutputSizeInTokens |
maxOutputSize |
Для бюджета выходных токенов используются разные имена свойств при сохранении и переопределении. Задайте maxOutputSizeInTokens в retrieveDefaults и используйте maxOutputSize в запросе на извлечение.
Эффективное значение для каждого свойства определяется независимо в этом порядке:
- Соответствующее значение в запросе на извлечение.
- Значение объекта базы
retrieveDefaultsзнаний. - Служба, используемая по умолчанию, если свойство отсутствует на обоих уровнях.
В следующем примере используется существующий источник знаний индекса поиска с именем your-knowledge-source. Предусмотрены лимит времени выполнения 45 секунд, не более восьми выходных документов и лимит вывода в 12 000 токенов.
using System;
using Azure.Identity;
using Azure.Search.Documents;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.Models;
string searchEndpoint = "<search-endpoint>";
var options = new SearchClientOptions(
SearchClientOptions.ServiceVersion.V2026_08_01_Preview);
var indexClient = new SearchIndexClient(
new Uri(searchEndpoint),
new DefaultAzureCredential(),
options);
var knowledgeBase = new KnowledgeBase(
"your-knowledge-base",
new[] { new KnowledgeSourceReference("your-knowledge-source") })
{
Description = "A knowledge base for product support content.",
RetrieveDefaults = new KnowledgeBaseRetrieveDefaults
{
MaxRuntimeInSeconds = 45,
MaxOutputDocuments = 8,
MaxOutputSizeInTokens = 12000
}
};
await indexClient.CreateOrUpdateKnowledgeBaseAsync(knowledgeBase);
Справочник:SearchIndexClient, SearchClientOptions.ServiceVersion, KnowledgeBase
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
KnowledgeBase,
KnowledgeBaseRetrieveDefaults,
KnowledgeSourceReference,
)
search_endpoint = "<search-endpoint>"
index_client = SearchIndexClient(
endpoint=search_endpoint,
credential=DefaultAzureCredential(),
api_version="2026-08-01-preview",
)
knowledge_base = KnowledgeBase(
name="your-knowledge-base",
description="A knowledge base for product support content.",
knowledge_sources=[
KnowledgeSourceReference(name="your-knowledge-source"),
],
retrieve_defaults=KnowledgeBaseRetrieveDefaults(
max_runtime_in_seconds=45,
max_output_documents=8,
max_output_size_in_tokens=12000,
),
)
index_client.create_or_update_knowledge_base(knowledge_base)
Reference:SearchIndexClient, KnowledgeBase
PUT {{search-endpoint}}/knowledgebases/your-knowledge-base?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
{
"name": "your-knowledge-base",
"description": "A knowledge base for product support content.",
"knowledgeSources": [
{
"name": "your-knowledge-source"
}
],
"retrieveDefaults": {
"maxRuntimeInSeconds": 45,
"maxOutputDocuments": 8,
"maxOutputSizeInTokens": 12000
}
}
Справочник:Базы знаний — создание или обновление
Чтобы переопределить эти сохранённые значения, установив 20 секунд, один документ и 5 000 токенов для одного запроса, см. Проверка значений по умолчанию для извлечения из базы знаний.
Настройка CORS для запросов на получение данных в браузере (предварительная версия)
Важно
Совместное использование ресурсов между источниками (CORS) позволяет приложениям на основе браузера запрашивать данные непосредственно из службы. В зависимости от конфигурации CORS внешние веб-страницы могут получить доступ к службе или вызвать ее данные с помощью контекста браузера пользователя. Этот доступ может создавать угрозы безопасности. Включение CORS выполняется на ваш страх и риск.
Начиная с 2026-05-01-preview версии API база знаний может определить corsOptions для браузерных приложений, которые вызывают действие извлечения непосредственно из JavaScript. Политика CORS определяет, какие источники браузера могут отправлять запросы на получение в базу знаний.
Если опустить corsOptions, у базы знаний будет отсутствовать политика CORS, и браузеры будут блокировать междоменные запросы на получение данных.
В следующем примере создается база знаний, которая позволяет получать запросы из одного источника браузера.
using Azure.Identity;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new DefaultAzureCredential());
var knowledgeBase = new KnowledgeBase(
name: "browser-chat-kb",
knowledgeSources: new[] { new KnowledgeSourceReference("product-docs-ks") }
)
{
Description = "A knowledge base that allows one browser app origin.",
CorsOptions = new CorsOptions(new[] { "https://myapp.example.com" })
{
MaxAgeInSeconds = 300
}
};
await indexClient.CreateOrUpdateKnowledgeBaseAsync(knowledgeBase);
Справочник:CorsOptions, KnowledgeBase
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
CorsOptions,
KnowledgeBase,
KnowledgeSourceReference,
)
index_client = SearchIndexClient(endpoint="<search-endpoint>", credential=DefaultAzureCredential())
knowledge_base = KnowledgeBase(
name="browser-chat-kb",
description="A knowledge base that allows one browser app origin.",
knowledge_sources=[KnowledgeSourceReference(name="product-docs-ks")],
cors_options=CorsOptions(
allowed_origins=["https://myapp.example.com"],
max_age_in_seconds=300,
),
)
index_client.create_or_update_knowledge_base(knowledge_base)
Справочник:CorsOptions, KnowledgeBase
PUT {{search-endpoint}}/knowledgebases/browser-chat-kb?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
{
"name": "browser-chat-kb",
"description": "A knowledge base that allows one browser app origin.",
"knowledgeSources": [
{
"name": "product-docs-ks"
}
],
"corsOptions": {
"allowedOrigins": [
"https://myapp.example.com"
],
"maxAgeInSeconds": 300
}
}
Запрос базы знаний
После того как вы создадите базу знаний, вызовите действие retrieve или конечную точку MCP, чтобы выполнить запрос к ней.
Удаление базы знаний
Если вам больше не нужна база знаний или необходимо перестроить ее в службе поиска, выполните следующий код, чтобы удалить объект.
// Delete a knowledge base
using Azure.Search.Documents.Indexes;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
await indexClient.DeleteKnowledgeBaseAsync(knowledgeBaseName);
System.Console.WriteLine($"Knowledge base '{knowledgeBaseName}' deleted successfully.");
Reference:SearchIndexClient
# Delete a knowledge base
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())
index_client.delete_knowledge_base("<knowledge-base-name>")
print(f"Knowledge base deleted successfully.")
Reference:SearchIndexClient
# Delete a knowledge base
DELETE {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
Authorization: Bearer {{search-access-token}}
Справочник:Базы знаний — удаление