Knowledge Agents - Create Or Update

新しいエージェントを作成するか、エージェントが既に存在する場合はエージェントを更新します。

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

URI パラメーター

名前 / 必須 型 説明
agentName
path True

string

作成または更新するエージェントの名前。

endpoint
path True

string

検索サービスのエンドポイント URL。

api-version
query True

string

クライアント API バージョン。

要求ヘッダー

名前 必須 型 説明
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 要求の場合、成功時に作成/更新されたリソースを返すようにサービスに指示します。

要求本文

名前 必須 型 説明
knowledgeSources True

KnowledgeSourceReference[]

models True KnowledgeAgentModel[]:

KnowledgeAgentAzureOpenAIModel[]

AI モデルへの接続方法に関する構成オプションが含まれています。

name True

string

ナレッジエージェントの名前。

@odata.etag

string

エージェントの ETag。

description

string

エージェントの説明。

encryptionKey

SearchResourceEncryptionKey

Azure Key Vault で作成する暗号化キーの説明。 このキーは、Microsoft を含む誰もエージェントを復号化できないという完全な保証が必要な場合に、エージェント定義に追加レベルの保存時の暗号化を提供するために使用されます。 エージェント定義を暗号化すると、常に暗号化されたままになります。 検索サービスは、このプロパティを null に設定しようとすると無視されます。 暗号化キーをローテーションする場合は、必要に応じてこのプロパティを変更できます。エージェント定義は影響を受けません。 カスタマー マネージド キーによる暗号化は、無料の検索サービスでは使用できず、2019 年 1 月 1 日以降に作成された有料サービスでのみ使用できます。

outputConfiguration

KnowledgeAgentOutputConfiguration

requestLimits

KnowledgeAgentRequestLimits

ガードレールは、1 つのエージェント取得要求に使用されるリソースの量を制限します。

retrievalInstructions

string

クエリ プランを開発するときにナレッジ エージェントが考慮する指示。

応答

名前 型 説明
200 OK

KnowledgeAgent

201 Created

KnowledgeAgent

Other Status Codes

ErrorResponse

エラー応答。

例

SearchServiceCreateOrUpdateKnowledgeAgent

要求のサンプル

PUT https://previewexampleservice.search.windows.net/agents('agent-preview-test')?api-version=2025-08-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"
    }
  ],
  "knowledgeSources": [
    {
      "name": "ks-preview-test",
      "includeReferences": true,
      "includeReferenceSourceData": true,
      "alwaysQuerySource": true,
      "maxSubQueries": 5,
      "rerankerThreshold": 2.1
    }
  ],
  "outputConfiguration": {
    "modality": "extractiveData",
    "answerInstructions": "Provide a concise answer to the question.",
    "attemptFastPath": false,
    "includeActivity": true
  },
  "requestLimits": {
    "maxRuntimeInSeconds": 60,
    "maxOutputSize": 100000
  },
  "retrievalInstructions": "Instructions for retrieval for the agent.",
  "@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.",
  "retrievalInstructions": "Instructions for retrieval for the agent.",
  "knowledgeSources": [
    {
      "name": "ks-preview-test",
      "alwaysQuerySource": true,
      "includeReferences": true,
      "includeReferenceSourceData": true,
      "maxSubQueries": 5,
      "rerankerThreshold": 2.1
    }
  ],
  "models": [
    {
      "kind": "azureOpenAI",
      "azureOpenAIParameters": {
        "resourceUri": "https://test-sample.openai.azure.com/",
        "deploymentId": "myDeployment",
        "apiKey": "api-key",
        "modelName": "gpt-4o-mini"
      }
    }
  ],
  "outputConfiguration": {
    "modality": "extractiveData",
    "answerInstructions": "Provide a concise answer to the question.",
    "attemptFastPath": false,
    "includeActivity": true
  },
  "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.",
  "retrievalInstructions": "Instructions for retrieval for the agent.",
  "knowledgeSources": [
    {
      "name": "ks-preview-test",
      "alwaysQuerySource": true,
      "includeReferences": true,
      "includeReferenceSourceData": true,
      "maxSubQueries": 5,
      "rerankerThreshold": 2.1
    }
  ],
  "models": [
    {
      "kind": "azureOpenAI",
      "azureOpenAIParameters": {
        "resourceUri": "https://test-sample.openai.azure.com/",
        "deploymentId": "myDeployment",
        "apiKey": "api-key",
        "modelName": "gpt-4o-mini"
      }
    }
  ],
  "outputConfiguration": {
    "modality": "extractiveData",
    "answerInstructions": "Provide a concise answer to the question.",
    "attemptFastPath": false,
    "includeActivity": true
  },
  "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>"
    }
  }
}

定義

名前 説明
AzureActiveDirectoryApplicationCredentials

検索サービス用に作成された登録済みアプリケーションの資格情報で、Azure Key Vault に格納されている暗号化キーへの認証済みアクセスに使用されます。

AzureOpenAIEmbeddingSkill

Azure OpenAI リソースを使用して、特定のテキスト入力のベクトル埋め込みを生成できます。

AzureOpenAIModelName

呼び出される Azure Open AI モデル名。

AzureOpenAIParameters

Azure OpenAI リソースに接続するためのパラメーターを指定します。

ErrorAdditionalInfo

リソース管理エラーの追加情報。

ErrorDetail

エラーの詳細。

ErrorResponse

エラー応答

InputFieldMappingEntry

スキルの入力フィールド・マッピング。

KnowledgeAgent
KnowledgeAgentAzureOpenAIModel

クエリ計画の実行に使用する Azure OpenAI リソースを指定します。

KnowledgeAgentModelKind

クエリ計画に使用される AI モデル。

KnowledgeAgentOutputConfiguration
KnowledgeAgentOutputConfigurationModality

エージェントの出力構成

KnowledgeAgentRequestLimits

ガードレールは、1 つのエージェント取得要求に使用されるリソースの量を制限します。

KnowledgeSourceReference
OutputFieldMappingEntry

スキルの出力フィールドマッピング。

SearchIndexerDataNoneIdentity

データソースの identity プロパティをクリアします。

SearchIndexerDataUserAssignedIdentity

使用するデータソースの ID を指定します。

SearchResourceEncryptionKey

Azure Key Vault の顧客管理暗号化キー。 作成および管理するキーを使用して、インデックスやシノニム マップなどの保存データの暗号化または暗号化解除を行うことができます。

AzureActiveDirectoryApplicationCredentials

検索サービス用に作成された登録済みアプリケーションの資格情報で、Azure Key Vault に格納されている暗号化キーへの認証済みアクセスに使用されます。

名前 型 説明
applicationId

string

保存データを暗号化するときに使用する Azure Key Vault への必要なアクセス許可が付与された AAD アプリケーション ID。 アプリケーション ID を AAD アプリケーションのオブジェクト ID と混同しないでください。

applicationSecret

string

指定した AAD アプリケーションの認証キー。

AzureOpenAIEmbeddingSkill

Azure OpenAI リソースを使用して、特定のテキスト入力のベクトル埋め込みを生成できます。

名前 型 説明
@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 モデル名。

値 説明
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 リソースに接続するためのパラメーターを指定します。

名前 型 説明
apiKey

string

指定された Azure OpenAI リソースの API キー。

authIdentity SearchIndexerDataIdentity:

送信接続に使用されるユーザー割り当てマネージド ID。

deploymentId

string

指定されたリソース上の Azure OpenAI モデル デプロイの ID。

modelName

AzureOpenAIModelName

指定された deploymentId パスにデプロイされる埋め込みモデルの名前。

resourceUri

string (uri)

Azure OpenAI リソースのリソース URI。

ErrorAdditionalInfo

リソース管理エラーの追加情報。

名前 型 説明
info

object

追加情報。

type

string

追加情報の種類。

ErrorDetail

エラーの詳細。

名前 型 説明
additionalInfo

ErrorAdditionalInfo[]

エラーの追加情報。

code

string

エラー コード。

details

ErrorDetail[]

エラーの詳細です。

message

string

エラー メッセージ。

target

string

エラーターゲット。

ErrorResponse

エラー応答

名前 型 説明
error

ErrorDetail

エラー オブジェクト。

InputFieldMappingEntry

スキルの入力フィールド・マッピング。

名前 型 説明
inputs

InputFieldMappingEntry[]

複合型の作成時に使用される再帰的入力。

name

string

入力の名前。

source

string

入力のソース。

sourceContext

string

再帰入力の選択に使用されるソースコンテキスト。

KnowledgeAgent

名前 型 説明
@odata.etag

string

エージェントの ETag。

description

string

エージェントの説明。

encryptionKey

SearchResourceEncryptionKey

Azure Key Vault で作成する暗号化キーの説明。 このキーは、Microsoft を含む誰もエージェントを復号化できないという完全な保証が必要な場合に、エージェント定義に追加レベルの保存時の暗号化を提供するために使用されます。 エージェント定義を暗号化すると、常に暗号化されたままになります。 検索サービスは、このプロパティを null に設定しようとすると無視されます。 暗号化キーをローテーションする場合は、必要に応じてこのプロパティを変更できます。エージェント定義は影響を受けません。 カスタマー マネージド キーによる暗号化は、無料の検索サービスでは使用できず、2019 年 1 月 1 日以降に作成された有料サービスでのみ使用できます。

knowledgeSources

KnowledgeSourceReference[]

models KnowledgeAgentModel[]:

KnowledgeAgentAzureOpenAIModel[]

AI モデルへの接続方法に関する構成オプションが含まれています。

name

string

ナレッジエージェントの名前。

outputConfiguration

KnowledgeAgentOutputConfiguration

requestLimits

KnowledgeAgentRequestLimits

ガードレールは、1 つのエージェント取得要求に使用されるリソースの量を制限します。

retrievalInstructions

string

クエリ プランを開発するときにナレッジ エージェントが考慮する指示。

KnowledgeAgentAzureOpenAIModel

クエリ計画の実行に使用する Azure OpenAI リソースを指定します。

名前 型 説明
azureOpenAIParameters AzureOpenAIParameters:

AzureOpenAIEmbeddingSkill

Azure OpenAI モデル エンドポイントに固有のパラメーターが含まれています。

kind string:

azureOpenAI

AI モデルの種類。

KnowledgeAgentModelKind

クエリ計画に使用される AI モデル。

値 説明
azureOpenAI

クエリ計画に Azure Open AI モデルを使用します。

KnowledgeAgentOutputConfiguration

名前 型 説明
answerInstructions

string

回答を生成するときにナレッジエージェントが考慮する指示

attemptFastPath

boolean

エージェントが、モデル呼び出しをバイパスして、最新のチャット メッセージをナレッジ ソースへの直接クエリとして発行しようとするかどうかを示します。

includeActivity

boolean

取得結果にアクティビティ情報を含める必要があることを示します。

modality

KnowledgeAgentOutputConfigurationModality

エージェントの出力構成

KnowledgeAgentOutputConfigurationModality

エージェントの出力構成

値 説明
answerSynthesis

応答ペイロードの回答を合成します。

extractiveData

生成変更なしでナレッジ ソースから直接データを返します。

KnowledgeAgentRequestLimits

ガードレールは、1 つのエージェント取得要求に使用されるリソースの量を制限します。

名前 型 説明
maxOutputSize

integer (int32)

出力内のコンテンツの最大サイズを制限します。

maxRuntimeInSeconds

integer (int32)

最大実行時間 (秒単位)。

KnowledgeSourceReference

名前 型 説明
alwaysQuerySource

boolean

このナレッジ ソースはソースの選択をバイパスし、取得時に常にクエリを実行する必要があることを示します。

includeReferenceSourceData

boolean

参照に、取得中に取得した構造化データをペイロードに含める必要があるかどうかを示します。

includeReferences

boolean

このソースから取得したデータに参照を含める必要があるかどうかを示します。

maxSubQueries

integer (int32)

このソースからデータを取得するときに一度に発行できるクエリの最大数。

name

string

ナレッジソースの名前。

rerankerThreshold

number (float)

レスポンスに含めるために、取得されたすべてのドキュメントが満たす必要があるリランカーのしきい値。

OutputFieldMappingEntry

スキルの出力フィールドマッピング。

名前 型 説明
name

string

スキルによって定義された出力の名前。

targetName

string

出力のターゲット名。 これはオプションであり、デフォルトは名前です。

SearchIndexerDataNoneIdentity

データソースの identity プロパティをクリアします。

名前 型 説明
@odata.type string:

#Microsoft.Azure.Search.DataNoneIdentity

ID のタイプを指定する URI フラグメント。

SearchIndexerDataUserAssignedIdentity

使用するデータソースの ID を指定します。

名前 型 説明
@odata.type string:

#Microsoft.Azure.Search.DataUserAssignedIdentity

ID のタイプを指定する URI フラグメント。

userAssignedIdentity

string

ユーザーが割り当てたマネージド ID の完全修飾 Azure リソース ID は、通常、検索サービスに割り当てられている必要がある "/subscriptions/1234-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId" の形式です。

SearchResourceEncryptionKey

Azure Key Vault の顧客管理暗号化キー。 作成および管理するキーを使用して、インデックスやシノニム マップなどの保存データの暗号化または暗号化解除を行うことができます。

名前 型 説明
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

Azure Key Vault の URI (DNS 名とも呼ばれます) で、保存データの暗号化に使用するキーが含まれています。 URI の例は https://my-keyvault-name.vault.azure.net です。