Knowledge Bases - Create Or Update

Создаёт новую базу знаний или обновляет её, если она уже существует.

PUT {endpoint}/knowledgebases('{knowledgeBaseName}')?api-version=2026-04-01

Параметры URI

Имя В Обязательно Тип Описание
endpoint
path True

string (uri)

URL-адрес конечной точки службы поиска.

knowledgeBaseName
path True

string

Название базы знаний.

api-version
query True

string

minLength: 1

Версия API, используемая для данной операции.

Заголовок запроса

Имя Обязательно Тип Описание
Accept

Accept

Заголовок Accept.

If-Match

string

Определяет условие If-Match. Операция будет выполнена только в том случае, если ETag на сервере соответствует этому значению.

If-None-Match

string

Определяет условие If-None-Match. Операция будет выполнена только в том случае, если ETag на сервере не соответствует этому значению.

Prefer True

Prefer

Для запросов HTTP PUT указывает службе вернуть созданный или обновленный ресурс при успешном выполнении.

x-ms-client-request-id

string (uuid)

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

Текст запроса

Имя Обязательно Тип Описание
knowledgeSources True

KnowledgeSourceReference[]

Источники знаний, на которые ссылается эта база знаний.

name True

string

Название базы знаний.

@odata.etag

string

ETag базы знаний.

description

string

Описание базы знаний.

encryptionKey

SearchResourceEncryptionKey

Описание ключа шифрования, созданного в Azure Key Vault.

models KnowledgeBaseModel[]:

KnowledgeBaseAzureOpenAIModel[]

Содержит параметры конфигурации для подключения к моделям ИИ.

Ответы

Имя Тип Описание
200 OK

KnowledgeBase

Запрос выполнен успешно.

201 Created

KnowledgeBase

Запрос успешно выполнен, и в результате был создан новый ресурс.

Other Status Codes

ErrorResponse

Непредвиденное сообщение об ошибке.

Безопасность

api-key

Тип: apiKey
В: header

OAuth2Auth

Тип: oauth2
Flow: implicit
URL-адрес авторизации: https://login.microsoftonline.com/common/oauth2/v2.0/authorize

Области

Имя Описание
https://search.azure.com/.default

Примеры

SearchServiceCreateOrUpdateKnowledgeBase

Образец запроса

PUT https://exampleservice.search.windows.net/knowledgebases('base-example-index')?api-version=2026-04-01





{
  "name": "base-example-index",
  "knowledgeSources": [
    {
      "name": "ks-example-index"
    }
  ],
  "models": [
    {
      "azureOpenAIParameters": {
        "resourceUri": "https://test-sample.openai.azure.com/",
        "deploymentId": "myDeployment",
        "apiKey": "api-key",
        "modelName": "gpt-5-nano"
      },
      "kind": "azureOpenAI"
    }
  ],
  "@odata.etag": "0x1234568AE7E58A1",
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  },
  "description": "Description of the knowledge base."
}

Пример ответа

{
  "@odata.etag": "0x1234568AE7E58A1",
  "name": "base-example-index",
  "description": "Description of the knowledge base.",
  "knowledgeSources": [
    {
      "name": "ks-example-index"
    }
  ],
  "models": [
    {
      "kind": "azureOpenAI",
      "azureOpenAIParameters": {
        "resourceUri": "https://test-sample.openai.azure.com/",
        "deploymentId": "myDeployment",
        "apiKey": "api-key",
        "modelName": "gpt-5-nano"
      }
    }
  ],
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  }
}
{
  "@odata.etag": "0x1234568AE7E58A1",
  "name": "base-example-index",
  "description": "Description of the knowledge base.",
  "knowledgeSources": [
    {
      "name": "ks-example-index"
    }
  ],
  "models": [
    {
      "kind": "azureOpenAI",
      "azureOpenAIParameters": {
        "resourceUri": "https://test-sample.openai.azure.com/",
        "deploymentId": "myDeployment",
        "apiKey": "api-key",
        "modelName": "gpt-5-nano"
      }
    }
  ],
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  }
}

Определения

Имя Описание
Accept

Заголовок Accept.

AzureOpenAIModelName

Имя модели Azure Open AI, которое будет вызываться.

AzureOpenAIVectorizerParameters

Задает параметры для подключения к ресурсу Azure OpenAI.

ErrorAdditionalInfo

Дополнительные сведения об ошибке управления ресурсами.

ErrorDetail

Сведения об ошибке.

ErrorResponse

Распространенный ответ об ошибке для всех API Azure Resource Manager для возврата сведений об ошибке для неудачных операций. (Это также следует формату ответа об ошибках OData.).

KnowledgeBase

Представляет собой определение базы знаний.

KnowledgeBaseAzureOpenAIModel

Указывает ресурс Azure OpenAI, используемый для планирования запросов.

KnowledgeBaseModelKind

Модель ИИ, которая будет использоваться для планирования запросов.

KnowledgeSourceReference

Ссылка на источник знаний.

Prefer

Для запросов HTTP PUT указывает службе вернуть созданный или обновленный ресурс при успешном выполнении.

SearchIndexerDataNoneIdentity

Очищает свойство удостоверения источника данных.

SearchIndexerDataUserAssignedIdentity

Указывает удостоверение для используемого источника данных.

SearchResourceEncryptionKey

Ключ шифрования, управляемый клиентом, в Azure Key Vault. Ключи, которые вы создаете и которыми управляете, можно использовать для шифрования или расшифровки хранимых данных, таких как индексы и сопоставления синонимов.

Accept

Заголовок Accept.

Значение Описание
application/json;odata.metadata=minimal

AzureOpenAIModelName

Имя модели Azure Open AI, которое будет вызываться.

Значение Описание
text-embedding-ada-002

TextEmbeddingAda002 модель.

text-embedding-3-large

TextEmbedding3Большая модель.

text-embedding-3-small

TextEmbedding3Малая модель.

gpt-5-mini

Модель Gpt5Mini.

gpt-5-nano

Модель Gpt5Nano.

gpt-5.4-mini

Модель GPT54Mini.

gpt-5.4-nano

Модель Gpt54Nano.

AzureOpenAIVectorizerParameters

Задает параметры для подключения к ресурсу Azure OpenAI.

Имя Тип Описание
apiKey

string

Ключ API указанного ресурса Azure OpenAI.

authIdentity SearchIndexerDataIdentity:

Назначаемое пользователем управляемое удостоверение, используемое для исходящих подключений.

deploymentId

string

Идентификатор развертывания модели Azure OpenAI в указанном ресурсе.

modelName

AzureOpenAIModelName

Имя модели внедрения, развернутой по указанному пути deploymentId.

resourceUri

string (uri)

URI ресурса ресурса Azure OpenAI.

ErrorAdditionalInfo

Дополнительные сведения об ошибке управления ресурсами.

Имя Тип Описание
info

Дополнительные сведения.

type

string

Дополнительный тип сведений.

ErrorDetail

Сведения об ошибке.

Имя Тип Описание
additionalInfo

ErrorAdditionalInfo[]

Дополнительные сведения об ошибке.

code

string

Код ошибки.

details

ErrorDetail[]

Сведения об ошибке.

message

string

Сообщение об ошибке.

target

string

Целевой объект ошибки.

ErrorResponse

Распространенный ответ об ошибке для всех API Azure Resource Manager для возврата сведений об ошибке для неудачных операций. (Это также следует формату ответа об ошибках OData.).

Имя Тип Описание
error

ErrorDetail

Объект ошибки.

KnowledgeBase

Представляет собой определение базы знаний.

Имя Тип Описание
@odata.etag

string

ETag базы знаний.

description

string

Описание базы знаний.

encryptionKey

SearchResourceEncryptionKey

Описание ключа шифрования, созданного в Azure Key Vault.

knowledgeSources

KnowledgeSourceReference[]

Источники знаний, на которые ссылается эта база знаний.

models KnowledgeBaseModel[]:

KnowledgeBaseAzureOpenAIModel[]

Содержит параметры конфигурации для подключения к моделям ИИ.

name

string

Название базы знаний.

KnowledgeBaseAzureOpenAIModel

Указывает ресурс Azure OpenAI, используемый для планирования запросов.

Имя Тип Описание
azureOpenAIParameters

AzureOpenAIVectorizerParameters

Azure OpenAI parameters.

kind string:

azureOpenAI

Модель ИИ, которая будет использоваться для планирования запросов.

KnowledgeBaseModelKind

Модель ИИ, которая будет использоваться для планирования запросов.

Значение Описание
azureOpenAI

Используйте модели Azure Open AI для планирования запросов.

KnowledgeSourceReference

Ссылка на источник знаний.

Имя Тип Описание
name

string

Название источника знаний.

Prefer

Для запросов HTTP PUT указывает службе вернуть созданный или обновленный ресурс при успешном выполнении.

Значение Описание
return=representation

SearchIndexerDataNoneIdentity

Очищает свойство удостоверения источника данных.

Имя Тип Описание
@odata.type string:

#Microsoft.Azure.Search.DataNoneIdentity

Фрагмент URI, указывающий тип удостоверения.

SearchIndexerDataUserAssignedIdentity

Указывает удостоверение для используемого источника данных.

Имя Тип Описание
@odata.type string:

#Microsoft.Azure.Search.DataUserAssignedIdentity

Фрагмент URI, указывающий тип удостоверения.

userAssignedIdentity

string

Полный идентификатор ресурса Azure назначаемого пользователем управляемого удостоверения обычно в форме "/subscriptions/12345678-1234-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId", который должен быть назначен службе поиска.

SearchResourceEncryptionKey

Ключ шифрования, управляемый клиентом, в Azure Key Vault. Ключи, которые вы создаете и которыми управляете, можно использовать для шифрования или расшифровки хранимых данных, таких как индексы и сопоставления синонимов.

Имя Тип Описание
accessCredentials.applicationId

string

Идентификатор приложения AAD, которому было предоставлено необходимые разрешения на доступ к Azure Key Vault, который будет использоваться при шифровании неактивных данных. Идентификатор приложения не следует путать с идентификатором объекта для приложения AAD.

accessCredentials.applicationSecret

string

Ключ проверки подлинности указанного приложения AAD.

identity SearchIndexerDataIdentity:

Явное управляемое удостоверение, используемое для этого ключа шифрования. Если не указано, а свойство учетных данных доступа равно NULL, используется управляемое удостоверение, назначаемое системой. При обновлении ресурса, если явное удостоверение не указано, оно остается неизменным. Если задано значение none, то значение этого свойства очищается.

keyVaultKeyName

string

Имя ключа Azure Key Vault, используемого для шифрования неактивных данных.

keyVaultKeyVersion

string

Версия ключа Azure Key Vault, используемая для шифрования неактивных данных.

keyVaultUri

string

Универсальный код ресурса (URI) Хранилища ключей Azure, который также называется DNS-именем, который содержит ключ, используемый для шифрования неактивных данных. Пример URI может быть https://my-keyvault-name.vault.azure.net.