Knowledge Agents - Create Or Update

새 에이전트를 생성하거나 에이전트가 이미 있는 경우 에이전트를 업데이트합니다.

PUT {endpoint}/agents('{agentName}')?api-version=2025-05-01-preview

URI 매개 변수

Name In(다음 안에) 필수 형식 Description
agentName
path True

string

만들거나 업데이트할 에이전트의 이름입니다.

endpoint
path True

string

검색 서비스의 엔드포인트 URL입니다.

api-version
query True

string

클라이언트 API 버전입니다.

요청 헤더

Name 필수 형식 Description
x-ms-client-request-id

string (uuid)

디버깅에 도움이 되도록 요청과 함께 전송된 추적 ID입니다.

If-Match

string

If-Match 조건을 정의합니다. 서버의 ETag가 이 값과 일치하는 경우에만 작업이 수행됩니다.

If-None-Match

string

If-None-Match 조건을 정의합니다. 서버의 ETag가 이 값과 일치하지 않는 경우에만 작업이 수행됩니다.

Prefer True

string

HTTP PUT 요청의 경우 성공 시 생성/업데이트된 리소스를 반환하도록 서비스에 지시합니다.

요청 본문

Name 필수 형식 Description
models True KnowledgeAgentModel[]:

KnowledgeAgentAzureOpenAIModel[]

AI 모델에 연결하는 방법에 대한 구성 옵션이 포함되어 있습니다.

name True

string

지식 에이전트의 이름입니다.

targetIndexes True

KnowledgeAgentTargetIndex[]

@odata.etag

string

에이전트의 ETag입니다.

description

string

에이전트에 대한 설명입니다.

encryptionKey

SearchResourceEncryptionKey

Azure Key Vault에서 만드는 암호화 키에 대한 설명입니다. 이 키는 Microsoft를 포함한 누구도 암호를 해독할 수 없다는 완전한 확신을 원하는 경우 에이전트 정의에 대한 추가 미사용 암호화를 제공하는 데 사용됩니다. 에이전트 정의를 암호화하면 항상 암호화된 상태로 유지됩니다. 검색 서비스는 이 속성을 null로 설정하려는 시도를 무시합니다. 암호화 키를 회전하려는 경우 필요에 따라 이 속성을 변경할 수 있습니다. 에이전트 정의는 영향을 받지 않습니다. 고객 관리형 키를 사용한 암호화는 무료 검색 서비스에 사용할 수 없으며 2019년 1월 1일 이후 생성된 유료 서비스에만 사용할 수 있습니다.

requestLimits

KnowledgeAgentRequestLimits

단일 에이전트 검색 요청에 사용되는 리소스의 양을 제한하는 가드레일입니다.

응답

Name 형식 Description
200 OK

KnowledgeAgent

201 Created

KnowledgeAgent

Other Status Codes

ErrorResponse

오류 응답입니다.

예제

SearchServiceCreateOrUpdateKnowledgeAgent

샘플 요청

PUT https://previewexampleservice.search.windows.net/agents('agent-preview-test')?api-version=2025-05-01-preview





{
  "name": "agent-preview-test",
  "models": [
    {
      "azureOpenAIParameters": {
        "resourceUri": "https://test-sample.openai.azure.com/",
        "deploymentId": "myDeployment",
        "apiKey": "api-key",
        "modelName": "gpt-4o-mini"
      },
      "kind": "azureOpenAI"
    }
  ],
  "targetIndexes": [
    {
      "indexName": "preview-test",
      "defaultRerankerThreshold": 2.5,
      "defaultIncludeReferenceSourceData": true,
      "defaultMaxDocsForReranker": 100
    }
  ],
  "requestLimits": {
    "maxRuntimeInSeconds": 60,
    "maxOutputSize": 100000
  },
  "@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 agent."
}

샘플 응답

{
  "@odata.etag": "0x1234568AE7E58A1",
  "name": "agent-preview-test",
  "description": "Description of the agent.",
  "targetIndexes": [
    {
      "indexName": "preview-test",
      "defaultRerankerThreshold": 2.5,
      "defaultIncludeReferenceSourceData": true,
      "defaultMaxDocsForReranker": 100
    }
  ],
  "models": [
    {
      "kind": "azureOpenAI",
      "azureOpenAIParameters": {
        "resourceUri": "https://test-sample.openai.azure.com/",
        "deploymentId": "myDeployment",
        "apiKey": "api-key",
        "modelName": "gpt-4o-mini"
      }
    }
  ],
  "requestLimits": {
    "maxRuntimeInSeconds": 60,
    "maxOutputSize": 100000
  },
  "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": "agent-preview-test",
  "description": "Description of the agent.",
  "targetIndexes": [
    {
      "indexName": "preview-test",
      "defaultRerankerThreshold": 2.5,
      "defaultIncludeReferenceSourceData": true,
      "defaultMaxDocsForReranker": 100
    }
  ],
  "models": [
    {
      "kind": "azureOpenAI",
      "azureOpenAIParameters": {
        "resourceUri": "https://test-sample.openai.azure.com/",
        "deploymentId": "myDeployment",
        "apiKey": "api-key",
        "modelName": "gpt-4o-mini"
      }
    }
  ],
  "requestLimits": {
    "maxRuntimeInSeconds": 60,
    "maxOutputSize": 100000
  },
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  }
}

정의

Name Description
AzureActiveDirectoryApplicationCredentials

Azure Key Vault에 저장된 암호화 키에 대한 인증된 액세스에 사용되는 검색 서비스에 대해 생성된 등록된 애플리케이션의 자격 증명입니다.

AzureOpenAIEmbeddingSkill

Azure OpenAI 리소스를 사용하여 지정된 텍스트 입력에 대한 벡터 포함을 생성할 수 있습니다.

AzureOpenAIModelName

호출될 Azure Open AI 모델 이름입니다.

AzureOpenAIParameters

Azure OpenAI 리소스에 연결하기 위한 매개 변수를 지정합니다.

ErrorAdditionalInfo

리소스 관리 오류 추가 정보입니다.

ErrorDetail

오류 세부 정보입니다.

ErrorResponse

오류 응답

InputFieldMappingEntry

기술에 대한 입력 필드 매핑입니다.

KnowledgeAgent
KnowledgeAgentAzureOpenAIModel

쿼리 계획을 수행하는 데 사용되는 Azure OpenAI 리소스를 지정합니다.

KnowledgeAgentModelKind

쿼리 계획에 사용할 AI 모델입니다.

KnowledgeAgentRequestLimits

단일 에이전트 검색 요청에 사용되는 리소스의 양을 제한하는 가드레일입니다.

KnowledgeAgentTargetIndex
OutputFieldMappingEntry

기술에 대한 출력 필드 매핑입니다.

SearchIndexerDataNoneIdentity

데이터 원본의 ID 속성을 지웁니다.

SearchIndexerDataUserAssignedIdentity

사용할 데이터 원본의 ID를 지정합니다.

SearchResourceEncryptionKey

Azure Key Vault의 고객 관리형 암호화 키입니다. 만들고 관리하는 키를 사용하여 인덱스 및 동의어 맵과 같은 미사용 데이터를 암호화하거나 암호 해독할 수 있습니다.

AzureActiveDirectoryApplicationCredentials

Azure Key Vault에 저장된 암호화 키에 대한 인증된 액세스에 사용되는 검색 서비스에 대해 생성된 등록된 애플리케이션의 자격 증명입니다.

Name 형식 Description
applicationId

string

미사용 데이터를 암호화할 때 사용할 Azure Key Vault에 필요한 액세스 권한이 부여된 AAD 애플리케이션 ID입니다. 애플리케이션 ID는 AAD 애플리케이션의 개체 ID와 혼동해서는 안 됩니다.

applicationSecret

string

지정된 AAD 애플리케이션의 인증 키입니다.

AzureOpenAIEmbeddingSkill

Azure OpenAI 리소스를 사용하여 지정된 텍스트 입력에 대한 벡터 포함을 생성할 수 있습니다.

Name 형식 Description
@odata.type string:

#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill

기술 유형을 지정하는 URI 조각입니다.

apiKey

string

지정된 Azure OpenAI 리소스의 API 키입니다.

authIdentity SearchIndexerDataIdentity:

아웃바운드 연결에 사용되는 사용자 할당 관리 ID입니다.

context

string

문서 루트 또는 문서 콘텐츠(예: /document 또는 /document/content)와 같은 작업이 수행되는 수준을 나타냅니다. 기본값은 /document입니다.

deploymentId

string

지정된 리소스에 대한 Azure OpenAI 모델 배포의 ID입니다.

description

string

기술의 입력, 출력 및 사용을 설명하는 기술에 대한 설명입니다.

dimensions

integer (int32)

결과 출력 포함에 있어야 하는 차원의 수입니다. text-embedding-3 이상 모델에서만 지원됩니다.

inputs

InputFieldMappingEntry[]

기술 입력은 원본 데이터 집합의 열 또는 업스트림 기술의 출력일 수 있습니다.

modelName

AzureOpenAIModelName

제공된 deploymentId 경로에 배포되는 포함 모델의 이름입니다.

name

string

기술 세트 내에서 고유하게 식별하는 기술의 이름입니다. 이름이 정의되지 않은 기술에는 '#' 문자 앞에 접두사로 지정된 기술 배열에서 1부터 시작하는 인덱스의 기본 이름이 지정됩니다.

outputs

OutputFieldMappingEntry[]

기술의 출력은 검색 인덱스의 필드이거나 다른 기술의 입력으로 사용할 수 있는 값입니다.

resourceUri

string (uri)

Azure OpenAI 리소스의 리소스 URI입니다.

AzureOpenAIModelName

호출될 Azure Open AI 모델 이름입니다.

값 Description
text-embedding-ada-002
text-embedding-3-large
text-embedding-3-small
gpt-4o
gpt-4o-mini
gpt-4.1
gpt-4.1-mini
gpt-4.1-nano

AzureOpenAIParameters

Azure OpenAI 리소스에 연결하기 위한 매개 변수를 지정합니다.

Name 형식 Description
apiKey

string

지정된 Azure OpenAI 리소스의 API 키입니다.

authIdentity SearchIndexerDataIdentity:

아웃바운드 연결에 사용되는 사용자 할당 관리 ID입니다.

deploymentId

string

지정된 리소스에 대한 Azure OpenAI 모델 배포의 ID입니다.

modelName

AzureOpenAIModelName

제공된 deploymentId 경로에 배포되는 포함 모델의 이름입니다.

resourceUri

string (uri)

Azure OpenAI 리소스의 리소스 URI입니다.

ErrorAdditionalInfo

리소스 관리 오류 추가 정보입니다.

Name 형식 Description
info

object

추가 정보입니다.

type

string

추가 정보 유형입니다.

ErrorDetail

오류 세부 정보입니다.

Name 형식 Description
additionalInfo

ErrorAdditionalInfo[]

오류 추가 정보입니다.

code

string

오류 코드입니다.

details

ErrorDetail[]

오류 세부 정보입니다.

message

string

오류 메시지입니다.

target

string

오류 대상입니다.

ErrorResponse

오류 응답

Name 형식 Description
error

ErrorDetail

오류 개체입니다.

InputFieldMappingEntry

기술에 대한 입력 필드 매핑입니다.

Name 형식 Description
inputs

InputFieldMappingEntry[]

복합 형식을 만들 때 사용되는 재귀 입력입니다.

name

string

입력의 이름입니다.

source

string

입력의 소스입니다.

sourceContext

string

재귀 입력을 선택하는 데 사용되는 원본 컨텍스트입니다.

KnowledgeAgent

Name 형식 Description
@odata.etag

string

에이전트의 ETag입니다.

description

string

에이전트에 대한 설명입니다.

encryptionKey

SearchResourceEncryptionKey

Azure Key Vault에서 만드는 암호화 키에 대한 설명입니다. 이 키는 Microsoft를 포함한 누구도 암호를 해독할 수 없다는 완전한 확신을 원하는 경우 에이전트 정의에 대한 추가 미사용 암호화를 제공하는 데 사용됩니다. 에이전트 정의를 암호화하면 항상 암호화된 상태로 유지됩니다. 검색 서비스는 이 속성을 null로 설정하려는 시도를 무시합니다. 암호화 키를 회전하려는 경우 필요에 따라 이 속성을 변경할 수 있습니다. 에이전트 정의는 영향을 받지 않습니다. 고객 관리형 키를 사용한 암호화는 무료 검색 서비스에 사용할 수 없으며 2019년 1월 1일 이후 생성된 유료 서비스에만 사용할 수 있습니다.

models KnowledgeAgentModel[]:

KnowledgeAgentAzureOpenAIModel[]

AI 모델에 연결하는 방법에 대한 구성 옵션이 포함되어 있습니다.

name

string

지식 에이전트의 이름입니다.

requestLimits

KnowledgeAgentRequestLimits

단일 에이전트 검색 요청에 사용되는 리소스의 양을 제한하는 가드레일입니다.

targetIndexes

KnowledgeAgentTargetIndex[]

KnowledgeAgentAzureOpenAIModel

쿼리 계획을 수행하는 데 사용되는 Azure OpenAI 리소스를 지정합니다.

Name 형식 Description
azureOpenAIParameters AzureOpenAIParameters:

AzureOpenAIEmbeddingSkill

Azure OpenAI 모델 엔드포인트와 관련된 매개 변수를 포함합니다.

kind string:

azureOpenAI

AI 모델의 유형입니다.

KnowledgeAgentModelKind

쿼리 계획에 사용할 AI 모델입니다.

값 Description
azureOpenAI

쿼리 계획에 Azure Open AI 모델을 사용합니다.

KnowledgeAgentRequestLimits

단일 에이전트 검색 요청에 사용되는 리소스의 양을 제한하는 가드레일입니다.

Name 형식 Description
maxOutputSize

integer (int32)

출력에서 콘텐츠의 최대 크기를 제한합니다.

maxRuntimeInSeconds

integer (int32)

최대 런타임(초)입니다.

KnowledgeAgentTargetIndex

Name 형식 Description
defaultIncludeReferenceSourceData

boolean

참조 소스 데이터를 포함해야 하는지 여부를 나타냅니다.

defaultMaxDocsForReranker

integer (int32)

순위를 매기는 데 고려되는 문서 수를 제한합니다.

defaultRerankerThreshold

number (float)

minimum: 0
maximum: 4

결과의 순위를 다시 지정하기 위한 임계값(범위: 0-4).

indexName

string

대상 인덱스의 이름입니다.

OutputFieldMappingEntry

기술에 대한 출력 필드 매핑입니다.

Name 형식 Description
name

string

기술에서 정의한 출력의 이름입니다.

targetName

string

출력의 대상 이름입니다. 선택 사항이며 기본적으로 이름을 지정합니다.

SearchIndexerDataNoneIdentity

데이터 원본의 ID 속성을 지웁니다.

Name 형식 Description
@odata.type string:

#Microsoft.Azure.Search.DataNoneIdentity

ID 유형을 지정하는 URI 조각입니다.

SearchIndexerDataUserAssignedIdentity

사용할 데이터 원본의 ID를 지정합니다.

Name 형식 Description
@odata.type string:

#Microsoft.Azure.Search.DataUserAssignedIdentity

ID 유형을 지정하는 URI 조각입니다.

userAssignedIdentity

string

일반적으로 검색 서비스에 할당되어야 하는 "/subscriptions/12345678-1234-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId" 형식으로 사용자 할당 관리 ID의 정규화된 Azure 리소스 ID입니다.

SearchResourceEncryptionKey

Azure Key Vault의 고객 관리형 암호화 키입니다. 만들고 관리하는 키를 사용하여 인덱스 및 동의어 맵과 같은 미사용 데이터를 암호화하거나 암호 해독할 수 있습니다.

Name 형식 Description
accessCredentials

AzureActiveDirectoryApplicationCredentials

Azure Key Vault에 액세스하는 데 사용되는 선택적 Azure Active Directory 자격 증명입니다. 대신 관리 ID를 사용하는 경우에는 필요하지 않습니다.

identity SearchIndexerDataIdentity:

이 암호화 키에 사용할 명시적 관리 ID입니다. 지정하지 않고 액세스 자격 증명 속성이 null이면 시스템 할당 관리 ID가 사용됩니다. 리소스 업데이트 시 명시적 ID가 지정되지 않은 경우 변경되지 않은 상태로 유지됩니다. "none"을 지정하면 이 속성의 값이 지워집니다.

keyVaultKeyName

string

미사용 데이터를 암호화하는 데 사용할 Azure Key Vault 키의 이름입니다.

keyVaultKeyVersion

string

미사용 데이터를 암호화하는 데 사용할 Azure Key Vault 키의 버전입니다.

keyVaultUri

string

미사용 데이터를 암호화하는 데 사용할 키를 포함하는 DNS 이름이라고도 하는 Azure Key Vault의 URI입니다. 예제 URI는 https://my-keyvault-name.vault.azure.net수 있습니다.