Knowledgebase - Update
기술 자료를 수정하는 비동기 작업입니다.
PATCH {Endpoint}/qnamaker/v5.0-preview.2/knowledgebases/{kbId}
URI 매개 변수
Name | In(다음 안에) | 필수 | 형식 | Description |
---|---|---|---|---|
Endpoint
|
path | True |
string |
지원되는 Cognitive Services 엔드포인트(예: qnamaker-resource-name <.api.cognitiveservices.azure.com https://>). |
kb
|
path | True |
string |
기술 자료 ID입니다. |
요청 헤더
Name | 필수 | 형식 | Description |
---|---|---|---|
Ocp-Apim-Subscription-Key | True |
string |
요청 본문
Name | 형식 | Description |
---|---|---|
add |
추가 작업을 위한 CreateKbInputDTO의 인스턴스 |
|
defaultAnswerUsedForExtraction |
string minLength: 1maxLength: 300 |
문서에서 추출된 답변은 없지만 계층 구조가 있는 Q-A에서 답변으로 사용할 텍스트 문자열입니다. EnableHierarchicalExtraction 필드가 True로 설정된 경우 필요합니다. |
delete |
삭제 작업을 위한 DeleteKbContentsDTO의 인스턴스 |
|
enableHierarchicalExtraction |
boolean |
파일 및 URL에서 Q-A의 계층적 추출을 사용하도록 설정합니다. 이 필드가 없는 경우 KB를 만드는 동안 설정된 값이 사용됩니다. |
update |
업데이트 작업을 위한 UpdateKbContentsDTO의 인스턴스 |
응답
Name | 형식 | Description |
---|---|---|
202 Accepted |
비동기 작업의 세부 정보입니다. 헤더 Location: string |
|
Other Status Codes |
오류 응답입니다. |
보안
Ocp-Apim-Subscription-Key
형식:
apiKey
In(다음 안에):
header
예제
Successful query
샘플 요청
PATCH {Endpoint}/qnamaker/v5.0-preview.2/knowledgebases/9d091697-fb8c-4ed5-9ac0-35bf8273bfff
{
"add": {
"qnaList": [
{
"id": 0,
"answer": "You can change the default message if you use the QnAMakerDialog. See this for details: https://docs.botframework.com/en-us/azure-bot-service/templates/qnamaker/#navtitle",
"source": "Custom Editorial",
"questions": [
"How can I change the default message from QnA Maker?"
],
"metadata": []
}
],
"urls": [
"https://docs.microsoft.com/en-us/azure/cognitive-services/Emotion/FAQ"
],
"files": [
{
"fileName": "SurfaceManual.pdf",
"fileUri": "https://download.microsoft.com/download/2/9/B/29B20383-302C-4517-A006-B0186F04BE28/surface-pro-4-user-guide-EN.pdf"
}
]
},
"delete": {
"ids": [
13,
35
]
},
"update": {
"name": "QnA Maker FAQ Prompts Bot",
"qnaList": [
{
"id": 2,
"answer": "You can use our REST apis to create a KB. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/knowledgebase/create",
"source": "Custom Editorial",
"questions": {
"add": [],
"delete": []
},
"metadata": {
"add": [],
"delete": []
},
"context": {
"isContextOnly": false,
"promptsToAdd": [
{
"displayText": "Add Prompts",
"displayOrder": 0,
"qna": {
"id": 0,
"answer": "Click here to know more https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/how-to/multiturn-conversation",
"source": "Editorial",
"questions": [
"How can I add prompts?"
],
"metadata": [],
"context": {
"isContextOnly": false,
"prompts": []
}
},
"qnaId": 0
},
{
"displayText": "Delete Prompts",
"displayOrder": 0,
"qna": {
"id": 0,
"answer": "Click here to know more https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/how-to/multiturn-conversation",
"source": "Editorial",
"questions": [
"How can I delete delete prompts?"
],
"metadata": [],
"context": {
"isContextOnly": false,
"prompts": []
}
},
"qnaId": 0
},
{
"displayText": "Update Knowledgebase",
"displayOrder": 0,
"qna": null,
"qnaId": 3
}
],
"promptsToDelete": [
3
]
}
},
{
"id": 3,
"answer": "You can use our REST apis to update your KB. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/knowledgebase/update",
"source": "Custom Editorial",
"questions": {
"add": [],
"delete": []
},
"metadata": {
"delete": [
{
"name": "category",
"value": "api"
}
],
"add": [
{
"name": "category",
"value": "programmatic"
}
]
},
"context": {
"isContextOnly": false,
"promptsToAdd": [
{
"displayText": "Regenerate Endpoint keys",
"displayOrder": 1,
"qna": null,
"qnaId": 4
}
],
"promptsToDelete": [
4
]
}
}
]
}
}
샘플 응답
{
"operationState": "NotStarted",
"createdTimestamp": "2018-03-19T07:38:46Z",
"lastActionTimestamp": "2018-03-19T07:39:29Z",
"userId": "86bb8390-56c0-42c2-9f81-3de161981191",
"operationId": "03a4f4ce-30a6-4ec6-b436-02bcdf6153e1"
}
정의
Name | Description |
---|---|
Add |
추가 작업을 위한 CreateKbInputDTO의 인스턴스 |
Context |
업데이트할 Qna와 연결된 컨텍스트입니다. |
Delete |
삭제 작업을 위한 DeleteKbContentsDTO의 인스턴스 |
Error |
오류 개체입니다. Microsoft One API 지침에 따라 https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses. |
Error |
서버에서 정의한 오류 코드 집합 중 하나입니다. |
Error |
오류 응답입니다. Microsoft One API 지침에 따라 https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses. |
FileDTO |
업로드된 파일의 세부 정보를 보관하는 DTO입니다. |
Inner |
오류에 대한 보다 구체적인 정보를 포함하는 개체입니다. Microsoft One API 지침에 따라 https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses. |
Metadata |
업데이트할 답변과 연결된 메타데이터 목록 |
MetadataDTO |
이름 - 메타데이터의 값 쌍입니다. |
Operation |
장기 실행 작업을 추적하는 레코드입니다. |
Operation |
작업 상태입니다. |
PromptDTO |
답변을 묻는 메시지를 표시합니다. |
Qna |
QnADTO - QnaId 또는 QnADTO가 PromptDTO 개체에 있어야 합니다. |
QnADTO |
Q-A 개체입니다. |
Questions |
답변과 관련된 질문 목록입니다. |
Update |
업데이트 작업을 위한 UpdateKbContentsDTO의 인스턴스 |
Update |
업데이트할 QnA 목록을 포함합니다. |
Update |
Qna 목록 업데이트에 대한 PATCH 본문 스키마 |
Add
추가 작업을 위한 CreateKbInputDTO의 인스턴스
Name | 형식 | Description |
---|---|---|
files |
FileDTO[] |
기술 자료에 추가할 파일 목록입니다. |
qnaList |
QnADTO[] |
인덱스로 추가할 QNA 목록입니다. ID는 서비스에서 생성되며 생략해야 합니다. |
urls |
string[] |
기술 자료에 추가할 URL 목록입니다. |
Context
업데이트할 Qna와 연결된 컨텍스트입니다.
Name | 형식 | Description |
---|---|---|
isContextOnly |
boolean |
프롬프트가 이전 질문과만 관련이 있는지 여부를 표시합니다. true - 컨텍스트 false가 없는 쿼리에 대한 검색 결과로 이 QnA를 포함하지 마세요. 컨텍스트를 무시하고 검색 결과에 이 QnA를 포함합니다. |
promptsToAdd |
qna에 추가할 프롬프트 목록입니다. |
|
promptsToDelete |
integer[] (int32) |
삭제할 qna와 연결된 프롬프트 목록 |
Delete
삭제 작업을 위한 DeleteKbContentsDTO의 인스턴스
Name | 형식 | Description |
---|---|---|
ids |
integer[] (int32) |
삭제할 Qna ID 목록 |
sources |
string[] |
기술 자료에서 삭제할 원본 목록입니다. |
Error
오류 개체입니다. Microsoft One API 지침에 따라 https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.
Name | 형식 | Description |
---|---|---|
code |
서버에서 정의한 오류 코드 집합 중 하나입니다. |
|
details |
Error[] |
이 보고된 오류로 이어진 특정 오류에 대한 세부 정보 배열입니다. |
innerError |
오류에 대한 현재 개체보다 더 구체적인 정보를 포함하는 개체입니다. |
|
message |
string |
사람이 읽을 수 있는 오류 표현입니다. |
target |
string |
오류의 대상입니다. |
ErrorCodeType
서버에서 정의한 오류 코드 집합 중 하나입니다.
값 | Description |
---|---|
BadArgument | |
EndpointKeysError | |
ExtractionFailure | |
Forbidden | |
KbNotFound | |
NotFound | |
OperationNotFound | |
QnaRuntimeError | |
QuotaExceeded | |
SKULimitExceeded | |
ServiceError | |
Unauthorized | |
Unspecified | |
ValidationFailure |
ErrorResponse
오류 응답입니다. Microsoft One API 지침에 따라 https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.
Name | 형식 | Description |
---|---|---|
error |
오류 개체입니다. |
FileDTO
업로드된 파일의 세부 정보를 보관하는 DTO입니다.
Name | 형식 | Description |
---|---|---|
fileName |
string minLength: 1maxLength: 200 |
파일 이름입니다. 지원되는 파일 형식은 ".tsv", ".pdf", ".txt", ".docx", ".xlsx"입니다. |
fileUri |
string |
파일의 공용 URI입니다. |
isUnstructured |
boolean |
지정된 파일이 구조화되지 않은지 지정하는 선택적 플래그입니다. |
InnerErrorModel
오류에 대한 보다 구체적인 정보를 포함하는 개체입니다. Microsoft One API 지침에 따라 https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.
Name | 형식 | Description |
---|---|---|
code |
string |
포함된 오류에서 제공한 것보다 더 구체적인 오류 코드입니다. |
innerError |
오류에 대한 현재 개체보다 더 구체적인 정보를 포함하는 개체입니다. |
Metadata
업데이트할 답변과 연결된 메타데이터 목록
Name | 형식 | Description |
---|---|---|
add |
추가할 답변과 연결된 메타데이터 목록 |
|
delete |
삭제할 답변과 연결된 메타데이터 목록 |
MetadataDTO
이름 - 메타데이터의 값 쌍입니다.
Name | 형식 | Description |
---|---|---|
name |
string minLength: 1maxLength: 100 |
메타데이터 이름입니다. |
value |
string minLength: 1maxLength: 500 |
메타데이터 값입니다. |
Operation
장기 실행 작업을 추적하는 레코드입니다.
Name | 형식 | Description |
---|---|---|
createdTimestamp |
string |
작업을 만든 타임스탬프입니다. |
errorResponse |
오류 발생 시 오류 세부 정보입니다. |
|
lastActionTimestamp |
string |
현재 상태가 입력된 타임스탬프입니다. |
operationId |
string |
작업 ID입니다. |
operationState |
작업 상태입니다. |
|
resourceLocation |
string |
완료된 리소스의 대상 리소스 위치에 대한 상대 URI입니다. |
userId |
string |
사용자 ID |
OperationStateType
작업 상태입니다.
값 | Description |
---|---|
Failed | |
NotStarted | |
Running | |
Succeeded |
PromptDTO
답변을 묻는 메시지를 표시합니다.
Name | 형식 | Description |
---|---|---|
displayOrder |
integer (int32) |
프롬프트의 인덱스 - 프롬프트 순서대로 사용됨 |
displayText |
string maxLength: 200 |
후속 질문 프롬프트를 나타내기 위해 표시되는 텍스트 |
qna |
QnADTO - QnaId 또는 QnADTO가 PromptDTO 개체에 있어야 합니다. |
|
qnaId |
integer (int32) |
프롬프트에 해당하는 Qna ID - QnaId가 있으면 QnADTO 개체가 무시됩니다. |
Qna
QnADTO - QnaId 또는 QnADTO가 PromptDTO 개체에 있어야 합니다.
Name | 형식 | Description |
---|---|---|
answer |
string minLength: 1maxLength: 25000 |
답변 텍스트 |
context |
QnA의 컨텍스트 |
|
id |
integer (int32) |
Q-A의 고유 ID입니다. |
lastUpdatedTimestamp |
string maxLength: 300 |
QnA가 마지막으로 업데이트된 타임스탬프입니다. |
metadata |
답변과 연결된 메타데이터 목록입니다. |
|
questions |
string[] |
답변과 관련된 질문 목록입니다. |
source |
string maxLength: 300 |
Q-A가 인덱싱된 원본입니다. 예. https://docs.microsoft.com/en-us/azure/cognitive-services/QnAMaker/FAQs |
QnADTO
Q-A 개체입니다.
Name | 형식 | Description |
---|---|---|
answer |
string minLength: 1maxLength: 25000 |
답변 텍스트 |
context |
QnA의 컨텍스트 |
|
id |
integer (int32) |
Q-A의 고유 ID입니다. |
lastUpdatedTimestamp |
string maxLength: 300 |
QnA가 마지막으로 업데이트된 타임스탬프입니다. |
metadata |
답변과 연결된 메타데이터 목록입니다. |
|
questions |
string[] |
답변과 관련된 질문 목록입니다. |
source |
string maxLength: 300 |
Q-A가 인덱싱된 원본입니다. 예. https://docs.microsoft.com/en-us/azure/cognitive-services/QnAMaker/FAQs |
Questions
답변과 관련된 질문 목록입니다.
Name | 형식 | Description |
---|---|---|
add |
string[] |
추가할 질문 목록 |
delete |
string[] |
삭제할 질문 목록입니다. |
Update
업데이트 작업을 위한 UpdateKbContentsDTO의 인스턴스
Name | 형식 | Description |
---|---|---|
defaultAnswer |
string minLength: 1maxLength: 300 |
KB에서 일치하는 항목이 없는 경우 사용자에게 전송되는 기본 답변입니다. |
name |
string |
기술 자료의 이름입니다. |
qnaList |
기술 자료에 추가할 Q-A(UpdateQnaDTO) 목록입니다. |
|
urls |
string[] |
새로 고칠 기존 URL 목록입니다. 콘텐츠가 다시 추출되고 다시 인덱싱됩니다. |
UpdateKbOperationDTO
업데이트할 QnA 목록을 포함합니다.
Name | 형식 | Description |
---|---|---|
add |
추가 작업을 위한 CreateKbInputDTO의 인스턴스 |
|
defaultAnswerUsedForExtraction |
string minLength: 1maxLength: 300 |
문서에서 추출된 답변은 없지만 계층 구조가 있는 Q-A에서 답변으로 사용할 텍스트 문자열입니다. EnableHierarchicalExtraction 필드가 True로 설정된 경우 필요합니다. |
delete |
삭제 작업을 위한 DeleteKbContentsDTO의 인스턴스 |
|
enableHierarchicalExtraction |
boolean |
파일 및 URL에서 Q-A의 계층적 추출을 사용하도록 설정합니다. 이 필드가 없는 경우 KB를 만드는 동안 설정된 값이 사용됩니다. |
update |
업데이트 작업을 위한 UpdateKbContentsDTO의 인스턴스 |
UpdateQnaDTO
Qna 목록 업데이트에 대한 PATCH 본문 스키마
Name | 형식 | Description |
---|---|---|
answer |
string |
답변 텍스트 |
context |
업데이트할 Qna와 연결된 컨텍스트입니다. |
|
id |
integer (int32) minimum: 0maximum: 2147483647 |
Q-A의 고유 ID |
metadata |
업데이트할 답변과 연결된 메타데이터 목록 |
|
questions |
답변과 관련된 질문 목록입니다. |
|
source |
string maxLength: 300 |
Q-A가 인덱싱된 원본입니다. 예. https://docs.microsoft.com/en-us/azure/cognitive-services/QnAMaker/FAQs |