自定义问答创作 API 用于自动执行常见任务,例如添加新的问题答案对,以及创建、发布和维护项目。
注意
创作功能通过 REST API 和创作 SDK(预览版)提供。 本文提供了有关通过 cURL 使用 REST API 的示例。 有关所有可用参数和功能的完整文档,请参阅 REST API 参考内容。
先决条件
- 最新版本的 cURL。 本文使用了 cURL 文档中所述的多个命令行开关。
 - 本文中的命令在 Bash shell 中执行。 这些命令并不总是在 Windows 命令提示符或 PowerShell 中工作,而无需修改。
 
创建一个项目
要以编程方式创建项目,请:
| 变量名称 | 值 | 
|---|---|
ENDPOINT | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 示例终结点为:https://chinaeast2.api.cognitive.azure.cn/。 如果前面的示例是以下代码示例中的终结点,则只需添加区域特定的部分 chinaeast2。 终结点路径的其余部分已存在。 | 
API-KEY | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 Key1 或 Key2。 应始终具有两个有效密钥,以实现安全密钥轮换而无需停机。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 此密钥值是示例请求的一部分。 | 
NEW-PROJECT-NAME | 
新的自定义问题解答项目的名称。 | 
还可以调整更多值,例如项目语言。 另一个选项是设置默认答案,当没有响应满足或超过置信度阈值时提供。 此外,还可以指定此语言资源是否支持多种语言。
示例查询
curl -X PATCH -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" -d '{
      "description": "proj1 is a test project.",
      "language": "en",
      "settings": {
        "defaultAnswer": "No good match found for your question in the project."
      },
      "multilingualResource": true
    }
  }'  'https://{ENDPOINT}.api.cognitive.azure.cn/language/query-knowledgebases/projects/{NEW-PROJECT-NAME}?api-version=2021-10-01'
示例响应
{
 "200": {
      "headers": {},
      "body": {
        "projectName": "proj1",
        "description": "proj1 is a test project.",
        "language": "en",
        "settings": {
          "defaultAnswer": "No good match found for your question in the project."
        },
        "multilingualResource": true,
        "createdDateTime": "2021-05-01T15:13:22Z",
        "lastModifiedDateTime": "2021-05-01T15:13:22Z",
        "lastDeployedDateTime": "2021-05-01T15:13:22Z"
      }
 }
}
删除项目
要以编程方式删除项目,请:
| 变量名称 | 值 | 
|---|---|
ENDPOINT | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 示例终结点为:https://chinaeast2.api.cognitive.azure.cn/。 如果前面的示例是以下代码示例中的终结点,则只需添加区域特定的部分 chinaeast2。 终结点路径的其余部分已存在。 | 
API-KEY | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 Key1 或 Key2。 应始终具有两个有效密钥,以实现安全密钥轮换而无需停机。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 此密钥值是示例请求的一部分。 | 
PROJECT-NAME | 
要删除的项目名称。 | 
示例查询
curl -X DELETE -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" -i 'https://{ENDPOINT}.api.cognitive.azure.cn/language/query-knowledgebases/projects/{PROJECT-NAME}?api-version=2021-10-01'
成功调用删除项目会导致 Operation-Location 返回标头,该标头可用于检查已删除项目作业的状态。 在我们的大多数示例中,我们不会查看响应标头。 为了检索响应头,我们的 cURL 命令会使用 -i。 如果没有在终结点地址前面的此参数,则对此命令的响应将显示为空,就好像没有发生响应一样。
示例响应
HTTP/2 202
content-length: 0
operation-location: https://chinaeast2.api.cognitive.azure.cn:443/language/query-knowledgebases/projects/sample-proj1/deletion-jobs/{JOB-ID-GUID}
x-envoy-upstream-service-time: 324
apim-request-id:
strict-transport-security: max-age=31536000; includeSubDomains; preload
x-content-type-options: nosniff
date: Tue, 23 Nov 2021 20:56:18 GMT
如果项目已被删除或找不到,将收到如下消息:
{
  "error": {
    "code": "ProjectNotFound",
    "message": "The specified project was not found.",
    "details": [
      {
        "code": "ProjectNotFound",
        "message": "{GUID}"
      }
    ]
  }
}
获取项目删除状态
查看删除项目请求的状态:
| 变量名称 | 值 | 
|---|---|
ENDPOINT | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 一个示例终结点是: https://chinaeast2.api.cognitive.azure.cn/ 只需添加区域特定的部分 chinaeast2。 终结点路径的其余部分已存在。 | 
API-KEY | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 Key1 或 Key2。 应始终具有两个有效密钥,以实现安全密钥轮换而无需停机。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 此密钥值是示例请求的一部分。 | 
PROJECT-NAME | 
要查看其部署状态的项目的名称。 | 
JOB-ID | 
以编程方式删除项目时,会生成一个 JOB-ID 作为删除请求的 operation-location 响应头的一部分。 
              JOB-ID 是 operation-location 末尾的 GUID。 例如: operation-location: https://chinaeast2.api.cognitive.azure.cn:443/language/query-knowledgebases/projects/sample-proj1/deletion-jobs/{THIS GUID IS YOUR JOB ID} | 
示例查询
curl -X GET -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" 'https://{ENDPOINT}.api.cognitive.azure.cn/language/query-knowledgebases/projects/deletion-jobs/{JOB-ID}?api-version=2021-10-01'
示例响应
{
  "createdDateTime": "2021-11-23T20:56:18+00:00",
  "expirationDateTime": "2021-11-24T02:56:18+00:00",
  "jobId": "GUID",
  "lastUpdatedDateTime": "2021-11-23T20:56:18+00:00",
  "status": "succeeded"
}
获取项目设置
若要检索有关给定项目的信息,请更新查询中的以下值:
| 变量名称 | 值 | 
|---|---|
ENDPOINT | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 一个示例终结点是: https://chinaeast2.api.cognitive.azure.cn/ 只需添加区域特定的部分 chinaeast2。 终结点路径的其余部分已存在。 | 
API-KEY | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 Key1 或 Key2。 应始终具有两个有效密钥,以实现安全密钥轮换而无需停机。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 此密钥值是示例请求的一部分。 | 
PROJECT-NAME | 
要检索其相关信息的项目的名称。 | 
示例查询
curl -X GET -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" 'https://{ENDPOINT}.api.cognitive.azure.cn/language/query-knowledgebases/projects/{PROJECT-NAME}?api-version=2021-10-01'
示例响应
 {
    "200": {
      "headers": {},
      "body": {
        "projectName": "proj1",
        "description": "proj1 is a test project.",
        "language": "en",
        "settings": {
          "defaultAnswer": "No good match found for your question in the project."
        },
        "createdDateTime": "2021-05-01T15:13:22Z",
        "lastModifiedDateTime": "2021-05-01T15:13:22Z",
        "lastDeployedDateTime": "2021-05-01T15:13:22Z"
      }
    }
  }
获取问答对
若要检索给定项目的问答对和相关信息,请更新查询中的以下值:
| 变量名称 | 值 | 
|---|---|
ENDPOINT | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 一个示例终结点是: https://chinaeast2.api.cognitive.azure.cn/ 只需添加区域特定的部分 chinaeast2。 终结点路径的其余部分已存在。 | 
API-KEY | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 Key1 或 Key2。 应始终具有两个有效密钥,以实现安全密钥轮换而无需停机。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 此密钥值是示例请求的一部分。 | 
PROJECT-NAME | 
要检索其所有问答对的项目的名称。 | 
示例查询
curl -X GET -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" 'https://{ENDPOINT}.api.cognitive.azure.cn/language/query-knowledgebases/projects/{PROJECT-NAME}/qnas?api-version=2021-10-01'
示例响应
{
    "200": {
      "headers": {},
      "body": {
        "value": [
          {
            "id": 1,
            "answer": "ans1",
            "source": "source1",
            "questions": [
              "question 1.1",
              "question 1.2"
            ],
            "metadata": {
              "k1": "v1",
              "k2": "v2"
            },
            "dialog": {
              "isContextOnly": false,
              "prompts": [
                {
                  "displayOrder": 1,
                  "qnaId": 11,
                  "displayText": "prompt 1.1"
                },
                {
                  "displayOrder": 2,
                  "qnaId": 21,
                  "displayText": "prompt 1.2"
                }
              ]
            },
            "lastUpdatedDateTime": "2021-05-01T17:21:14Z"
          },
          {
            "id": 2,
            "answer": "ans2",
            "source": "source2",
            "questions": [
              "question 2.1",
              "question 2.2"
            ],
            "lastUpdatedDateTime": "2021-05-01T17:21:14Z"
          }
        ]
      }
    }
  }
获取源
若要检索给定项目的源和相关信息,请更新查询中的以下值:
| 变量名称 | 值 | 
|---|---|
ENDPOINT | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 一个示例终结点是: https://chinaeast2.api.cognitive.azure.cn/ 只需添加区域特定的部分 chinaeast2。 终结点路径的其余部分已存在。 | 
API-KEY | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 Key1 或 Key2。 应始终具有两个有效密钥,以实现安全密钥轮换而无需停机。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 此密钥值是示例请求的一部分。 | 
PROJECT-NAME | 
要检索其所有相关源信息的项目的名称。 | 
示例查询
curl -X GET -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" 'https://{ENDPOINT}.api.cognitive.azure.cn/language/query-knowledgebases/projects/{PROJECT_NAME}/sources?api-version=2021-10-01'
示例响应
{
    "200": {
      "headers": {},
      "body": {
        "value": [
          {
            "displayName": "source1",
            "sourceUri": "https://learn.microsoft.com/azure/ai-services/qnamaker/overview/overview",
            "sourceKind": "url",
            "lastUpdatedDateTime": "2021-05-01T15:13:22Z"
          },
          {
            "displayName": "source2",
            "sourceUri": "https://download.microsoft.com/download/2/9/B/29B20383-302C-4517-A006-B0186F04BE28/surface-pro-4-user-guide-EN.pdf",
            "sourceKind": "file",
            "contentStructureKind": "unstructured",
            "lastUpdatedDateTime": "2021-05-01T15:13:22Z"
          }
        ]
      }
    }
  }
获取同义词
若要检索给定项目的同义词和相关信息,请更新查询中的以下值:
| 变量名称 | 值 | 
|---|---|
ENDPOINT | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 一个示例终结点是: https://chinaeast2.api.cognitive.azure.cn/ 只需添加区域特定的部分 chinaeast2。 终结点路径的其余部分已存在。 | 
API-KEY | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 Key1 或 Key2。 应始终具有两个有效密钥,以实现安全密钥轮换而无需停机。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 此密钥值是示例请求的一部分。 | 
PROJECT-NAME | 
要检索其同义词信息的项目的名称。 | 
示例查询
curl -X GET -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" 'https://{ENDPOINT}.api.cognitive.azure.cn/language/query-knowledgebases/projects/{PROJECT-NAME}/synonyms?api-version=2021-10-01'
示例响应
 {
    "200": {
      "headers": {},
      "body": {
        "value": [
          {
            "alterations": [
              "qnamaker",
              "qna maker"
            ]
          },
          {
            "alterations": [
              "botframework",
              "bot framework"
            ]
          }
        ]
      }
    }
  }
部署项目
若要将项目部署到生产环境,请在查询中更新以下值:
| 变量名称 | 值 | 
|---|---|
ENDPOINT | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 一个示例终结点是: https://chinaeast2.api.cognitive.azure.cn/ 只需添加区域特定的部分 chinaeast2。 终结点路径的其余部分已存在。 | 
API-KEY | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 Key1 或 Key2。 应始终具有两个有效密钥,以实现安全密钥轮换而无需停机。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 此密钥值是示例请求的一部分。 | 
PROJECT-NAME | 
要部署到生产的项目的名称。 | 
示例查询
curl -X PUT -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" -d '' -i 'https://{ENDPOINT}.api.cognitive.azure.cn/language/query-knowledgebases/projects/{PROJECT-NAME}/deployments/production?api-version=2021-10-01'  
成功调用部署项目会导致返回一个 Operation-Location 标头,该标头可用于查看部署作业的状态。 在我们的大多数示例中,我们不会查看响应标头。 为了检索响应头,我们的 cURL 命令会使用 -i。 如果没有在终结点地址前面的此参数,则对此命令的响应将显示为空,就好像没有发生响应一样。
示例响应
0HTTP/2 202
content-length: 0
operation-location: https://chinaeast2.api.cognitive.azure.cn:443/language/query-knowledgebases/projects/sample-proj1/deployments/production/jobs/{JOB-ID-GUID}
x-envoy-upstream-service-time: 31
apim-request-id:
strict-transport-security: max-age=31536000; includeSubDomains; preload
x-content-type-options: nosniff
date: Tue, 23 Nov 2021 20:35:00 GMT
获取项目部署状态
| 变量名称 | 值 | 
|---|---|
ENDPOINT | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 一个示例终结点是: https://chinaeast2.api.cognitive.azure.cn/只需添加区域特定的部分 chinaeast2。 终结点路径的其余部分已存在。 | 
API-KEY | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 Key1 或 Key2。 应始终具有两个有效密钥,以实现安全密钥轮换而无需停机。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 此密钥值是示例请求的一部分。 | 
PROJECT-NAME | 
要查看其部署状态的项目的名称。 | 
JOB-ID | 
以编程方式部署项目时,会生成一个 JOB-ID 作为部署请求的 operation-location 响应头的一部分。 
              JOB-ID 是 operation-location 末尾的 GUID。 例如: operation-location: https://chinaeast2.api.cognitive.azure.cn:443/language/query-knowledgebases/projects/sample-proj1/deployments/production/jobs/{THIS GUID IS YOUR JOB ID} | 
示例查询
curl -X GET -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" -d '' 'https://{ENDPOINT}.api.cognitive.azure.cn/language/query-knowledgebases/projects/{PROJECT-NAME}/deployments/production/jobs/{JOB-ID}?api-version=2021-10-01' 
示例响应
    {
    "200": {
      "headers": {},
      "body": {
        "errors": [],
        "createdDateTime": "2021-05-01T17:21:14Z",
        "expirationDateTime": "2021-05-01T17:21:14Z",
        "jobId": "{JOB-ID-GUID}",
        "lastUpdatedDateTime": "2021-05-01T17:21:14Z",
        "status": "succeeded"
      }
    }
  }
导出项目元数据和资产
| 变量名称 | 值 | 
|---|---|
ENDPOINT | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 一个示例终结点是: https://chinaeast2.api.cognitive.azure.cn/只需添加区域特定的部分 chinaeast2。 终结点路径的其余部分已存在。 | 
API-KEY | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 Key1 或 Key2。 应始终具有两个有效密钥,以实现安全密钥轮换而无需停机。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 此密钥值是示例请求的一部分。 | 
PROJECT-NAME | 
要导出的项目名称。 | 
示例查询
curl -X POST -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" -d '{exportAssetTypes": ["qnas","synonyms"]}' -i 'https://{ENDPOINT}.api.cognitive.azure.cn/language/query-knowledgebases/projects/{PROJECT-NAME}/:export?api-version=2021-10-01&format=tsv'
示例响应
HTTP/2 202
content-length: 0
operation-location: https://chinaeast2.api.cognitive.azure.cn:443/language/query-knowledgebases/projects/Sample-project/export/jobs/{JOB-ID_GUID}
x-envoy-upstream-service-time: 214
apim-request-id:
strict-transport-security: max-age=31536000; includeSubDomains; preload
x-content-type-options: nosniff
date: Tue, 23 Nov 2021 21:24:03 GMT
查看导出状态
| 变量名称 | 值 | 
|---|---|
ENDPOINT | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 一个示例终结点是: https://chinaeast2.api.cognitive.azure.cn/ 只需添加区域特定的部分 chinaeast2。 终结点路径的其余部分已存在。 | 
API-KEY | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 Key1 或 Key2。 应始终具有两个有效密钥,以实现安全密钥轮换而无需停机。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 此密钥值是示例请求的一部分。 | 
PROJECT-NAME | 
要查看其导出状态的项目的名称。 | 
JOB-ID | 
以编程方式导出项目时,会生成一个 JOB-ID 作为导出请求的 operation-location 响应头的一部分。 
              JOB-ID 是 operation-location 末尾的 GUID。 例如: operation-location: https://chinaeast2.api.cognitive.azure.cn/language/query-knowledgebases/projects/sample-proj1/export/jobs/{THIS GUID IS YOUR JOB ID} | 
示例查询
curl -X GET -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" -d '' 'https://{ENDPOINT}.api.cognitive.azure.cn/language/query-knowledgebases/projects/sample-proj1/export/jobs/{JOB-ID}?api-version=2021-10-01' 
示例响应
{
  "createdDateTime": "2021-11-23T21:24:03+00:00",
  "expirationDateTime": "2021-11-24T03:24:03+00:00",
  "jobId": "JOB-ID-GUID",
  "lastUpdatedDateTime": "2021-11-23T21:24:08+00:00",
  "status": "succeeded",
  "resultUrl": "https://chinaeast2.api.cognitive.azure.cn:443/language/query-knowledgebases/projects/sample-proj1/export/jobs/{JOB-ID_GUID}/result"
}
如果尝试直接访问 resultUrl,则会出现 404 错误。 必须将 ?api-version=2021-10-01 追加到路径,使其可由经过身份验证的请求访问:https://chinaeast2.api.cognitive.azure.cn:443/language/query-knowledgebases/projects/sample-proj1/export/jobs/{JOB-ID_GUID}/result?api-version=2021-10-01
导入项目
| 变量名称 | 值 | 
|---|---|
ENDPOINT | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 一个示例终结点是: https://chinaeast2.api.cognitive.azure.cn/ 只需添加区域特定的部分 chinaeast2。 终结点路径的其余部分已存在。 | 
API-KEY | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 Key1 或 Key2。 应始终具有两个有效密钥,以实现安全密钥轮换而无需停机。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 此密钥值是示例请求的一部分。 | 
PROJECT-NAME | 
要作为导入目标的项目的名称。 | 
FILE-URI-PATH | 
以编程方式导出项目,然后查看导出状态时,会生成 resultUrl 作为响应的一部分。 例如:"resultUrl": "https://chinaeast2.api.cognitive.azure.cn:443/language/query-knowledgebases/projects/sample-proj1/export/jobs/{JOB-ID_GUID}/result",可以将 resultUrl 与追加为源文件的 API 版本一起使用,以从中导入项目:https://chinaeast2.api.cognitive.azure.cn:443/language/query-knowledgebases/projects/sample-proj1/export/jobs/{JOB-ID_GUID}/result?api-version=2021-10-01。 | 
示例查询
curl -X POST -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" -d '{
      "fileUri": "FILE-URI-PATH"
  }' -i 'https://{ENDPOINT}.api.cognitive.azure.cn/language/query-knowledgebases/projects/{PROJECT-NAME}/:import?api-version=2021-10-01&format=tsv'
成功调用项目导入会导致返回一个 Operation-Location 标头,它可用于查看导入作业的状态。 在我们的许多示例中,我们查看响应标头。 为了检索响应头,我们的 cURL 命令会使用 -i。 如果不在终结点地址之前添加此参数,则对此命令的响应将显示为空,就好像没有发生响应一样。
示例响应
HTTP/2 202
content-length: 0
operation-location: https://chinaeast2.api.cognitive.azure.cn:443/language/query-knowledgebases/projects/sample-proj1/import/jobs/{JOB-ID-GUID}
x-envoy-upstream-service-time: 417
apim-request-id: 
strict-transport-security: max-age=31536000; includeSubDomains; preload
x-content-type-options: nosniff
date: Wed, 24 Nov 2021 00:35:11 GMT
查看导入状态
| 变量名称 | 值 | 
|---|---|
ENDPOINT | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 一个示例终结点是: https://chinaeast2.api.cognitive.azure.cn/ 只需添加区域特定的部分 chinaeast2。 终结点路径的其余部分已存在。 | 
API-KEY | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 Key1 或 Key2。 应始终具有两个有效密钥,以实现安全密钥轮换而无需停机。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 此密钥值是示例请求的一部分。 | 
PROJECT-NAME | 
要作为导入目标的项目的名称。 | 
JOB-ID | 
以编程方式导入项目时,会生成一个 JOB-ID 作为导出请求的 operation-location 响应头的一部分。 
              JOB-ID 是 operation-location 末尾的 GUID。 例如: operation-location: https://chinaeast2.api.cognitive.azure.cn/language/query-knowledgebases/projects/sample-proj1/import/jobs/{THIS GUID IS YOUR JOB ID} | 
示例查询
curl -X GET -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" -d '' 'https://chinaeast2.api.cognitive.azure.cn/language/query-knowledgebases/projects/{PROJECT-NAME/import/jobs/{JOB-ID-GUID}?api-version=2021-10-01' 
示例查询响应
{
  "errors": [],
  "createdDateTime": "2021-05-01T17:21:14Z",
  "expirationDateTime": "2021-05-01T17:21:14Z",
  "jobId": "JOB-ID-GUID",
  "lastUpdatedDateTime": "2021-05-01T17:21:14Z",
  "status": "succeeded"
}
列出部署
| 变量名称 | 值 | 
|---|---|
ENDPOINT | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 一个示例终结点是: https://chinaeast2.api.cognitive.azure.cn/ 只需添加区域特定的部分 chinaeast2。 终结点路径的其余部分已存在。 | 
API-KEY | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 Key1 或 Key2。 应始终具有两个有效密钥,以实现安全密钥轮换而无需停机。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 此密钥值是示例请求的一部分。 | 
PROJECT-NAME | 
要生成其部署列表的项目的名称。 | 
示例查询
curl -X GET -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" -d '' 'https://{ENDPOINT}.api.cognitive.azure.cn/language/query-knowledgebases/projects/{PROJECT-NAME}/deployments?api-version=2021-10-01' 
示例响应
[
  {
    "deploymentName": "production",
    "lastDeployedDateTime": "2021-10-26T15:12:02Z"
  }
]
列出项目
检索帐户有权访问的所有问题解答项目的列表。
| 变量名称 | 值 | 
|---|---|
ENDPOINT | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 一个示例终结点是: https://chinaeast2.api.cognitive.azure.cn/ 只需添加区域特定的部分 chinaeast2。 终结点路径的其余部分已存在。 | 
API-KEY | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 Key1 或 Key2。 应始终具有两个有效密钥,以实现安全密钥轮换而无需停机。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 此密钥值是示例请求的一部分。 | 
示例查询
curl -X GET -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" -d '' 'https://{ENDPOINT}.api.cognitive.azure.cn/language/query-knowledgebases/projects?api-version=2021-10-01' 
示例响应
{
  "value": [
    {
      "projectName": "Sample-project",
      "description": "My first question answering project",
      "language": "en",
      "multilingualResource": false,
      "createdDateTime": "2021-10-07T04:51:15Z",
      "lastModifiedDateTime": "2021-10-27T00:42:01Z",
      "lastDeployedDateTime": "2021-11-24T01:34:18Z",
      "settings": {
        "defaultAnswer": "No good match found in KB"
      }
    }
  ]
}
更新源
在此示例中,我们将新源添加到现有项目。 你还可以通过此命令替换和删除现有源,具体取决于作为查询正文的一部分传递的操作类型。
| 变量名称 | 值 | 
|---|---|
ENDPOINT | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 一个示例终结点是: https://chinaeast2.api.cognitive.azure.cn/ 只需添加区域特定的部分 chinaeast2。 终结点路径的其余部分已存在。 | 
API-KEY | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 Key1 或 Key2。 应始终具有两个有效密钥,以实现安全密钥轮换而无需停机。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 此密钥值是示例请求的一部分。 | 
PROJECT-NAME | 
要更新源的项目的名称。 | 
METHOD | 
修补程序 | 
示例查询
curl -X PATCH -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" -d '[
  {
    "op": "add",
    "value": {
      "displayName": "source5",
      "sourceKind": "url",
      "sourceUri": "https://download.microsoft.com/download/7/B/1/7B10C82E-F520-4080-8516-5CF0D803EEE0/surface-book-user-guide-EN.pdf",
      "sourceContentStructureKind": "semistructured"
    }
  }
]'  -i '{LanguageServiceName}.cognitiveservices.azure.cn//language/query-knowledgebases/projects/{projectName}/sources?api-version=2021-10-01'
成功调用更新源会导致返回一个 Operation-Location 标头,该标头可用于查看导入作业的状态。 在我们的许多示例中,我们不会查看响应标头。 为了检索响应头,我们的 cURL 命令会使用 -i。 如果没有在终结点地址前面的此参数,则对此命令的响应将显示为空,就好像没有发生响应一样。
示例响应
HTTP/2 202
content-length: 0
operation-location: https://chinaeast2.api.cognitive.azure.cn:443/language/query-knowledgebases/projects/Sample-project/sources/jobs/{JOB_ID_GUID}
x-envoy-upstream-service-time: 412
apim-request-id: dda23d2b-f110-4645-8bce-1a6f8d504b33
strict-transport-security: max-age=31536000; includeSubDomains; preload
x-content-type-options: nosniff
date: Wed, 24 Nov 2021 02:47:53 GMT
获取更新源状态
| 变量名称 | 值 | 
|---|---|
ENDPOINT | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 一个示例终结点是: https://chinaeast2.api.cognitive.azure.cn/ 只需添加区域特定的部分 chinaeast2。 终结点路径的其余部分已存在。 | 
API-KEY | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 Key1 或 Key2。 应始终具有两个有效密钥,以实现安全密钥轮换而无需停机。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 此密钥值是示例请求的一部分。 | 
PROJECT-NAME | 
要作为导入目标的项目的名称。 | 
JOB-ID | 
以编程方式更新源时,会生成一个 JOB-ID 作为更新源请求的 operation-location 响应头的一部分。 
              JOB-ID 是 operation-location 末尾的 GUID。 例如: operation-location: https://chinaeast2.api.cognitive.azure.cn/language/query-knowledgebases/projects/sample-proj1/sources/jobs/{THIS GUID IS YOUR JOB ID} | 
示例查询
curl -X GET -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" -d '' 'https://{ENDPOINT}.api.cognitive.azure.cn/language/query-knowledgebases/projects/{PROJECT-NAME}/sources/jobs/{JOB-ID}?api-version=2021-10-01' 
示例响应
{
  "createdDateTime": "2021-11-24T02:47:53+00:00",
  "expirationDateTime": "2021-11-24T08:47:53+00:00",
  "jobId": "{JOB-ID-GUID}",
  "lastUpdatedDateTime": "2021-11-24T02:47:56+00:00",
  "status": "succeeded",
  "resultUrl": "/knowledgebases/Sample-project"
}
更新问答对
在此示例中,我们将问题答案对添加到现有源。 还可以修改或删除此查询的现有问答对,具体取决于在查询正文中传递的操作。 如果没有命名 source5的源,此示例查询将失败。 可以将查询正文中的源值调整为目标项目存在的源。
| 变量名称 | 值 | 
|---|---|
ENDPOINT | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 一个示例终结点是: https://chinaeast2.api.cognitive.azure.cn/ 只需添加区域特定的部分 chinaeast2。 终结点路径的其余部分已存在。 | 
API-KEY | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 Key1 或 Key2。 应始终具有两个有效密钥,以实现安全密钥轮换而无需停机。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 此密钥值是示例请求的一部分。 | 
PROJECT-NAME | 
要作为导入目标的项目的名称。 | 
curl -X PATCH -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" -d '[
    {
        "op": "add",
        "value":{
            "id": 1,
            "answer": "The latest question answering docs are on https://learn.microsoft.com",
            "source": "source5",
            "questions": [
                "Where do I find docs for question answering?"
            ],
            "metadata": {},
            "dialog": {
                "isContextOnly": false,
                "prompts": []
            }
        }
    }
]'  -i 'https://{ENDPOINT}.api.cognitive.azure.cn/language/query-knowledgebases/projects/{PROJECT-NAME}/qnas?api-version=2021-10-01'
成功调用更新问答对会导致返回一个 Operation-Location 标头,该标头可用于查看更新作业的状态。 在我们的许多示例中,我们不会查看响应标头。 为了检索响应头,我们的 cURL 命令会使用 -i。 如果没有在终结点地址前面的此参数,则对此命令的响应将显示为空,就好像没有发生响应一样。
示例响应
HTTP/2 202
content-length: 0
operation-location: https://chinaeast2.api.cognitive.azure.cn:443/language/query-knowledgebases/projects/Sample-project/qnas/jobs/{JOB-ID-GUID}
x-envoy-upstream-service-time: 507
apim-request-id: 
strict-transport-security: max-age=31536000; includeSubDomains; preload
x-content-type-options: nosniff
date: Wed, 24 Nov 2021 03:16:01 GMT
获取更新问答对状态
| 变量名称 | 值 | 
|---|---|
ENDPOINT | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 一个示例终结点是: https://chinaeast2.api.cognitive.azure.cn/ 只需添加区域特定的部分 chinaeast2。 终结点路径的其余部分已存在。 | 
API-KEY | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 Key1 或 Key2。 应始终具有两个有效密钥,以实现安全密钥轮换而无需停机。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 此密钥值是示例请求的一部分。 | 
PROJECT-NAME | 
要作为问答对更新目标的项目的名称。 | 
JOB-ID | 
以编程方式更新问答对时,会生成一个 JOB-ID 作为更新请求的 operation-location 响应头的一部分。 
              JOB-ID 是 operation-location 末尾的 GUID。 例如: operation-location: https://chinaeast2.api.cognitive.azure.cn/language/query-knowledgebases/projects/sample-proj1/qnas/jobs/{THIS GUID IS YOUR JOB ID} | 
示例查询
curl -X GET -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" -d '' 'https://chinaeast2.api.cognitive.azure.cn/language/query-knowledgebases/projects/{PROJECT-NAME}/qnas/jobs/{JOB-ID}?api-version=2021-10-01' 
示例响应
  "createdDateTime": "2021-11-24T03:16:01+00:00",
  "expirationDateTime": "2021-11-24T09:16:01+00:00",
  "jobId": "{JOB-ID-GUID}",
  "lastUpdatedDateTime": "2021-11-24T03:16:06+00:00",
  "status": "succeeded",
  "resultUrl": "/knowledgebases/Sample-project"
更新同义词
| 变量名称 | 值 | 
|---|---|
ENDPOINT | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 一个示例终结点是: https://chinaeast2.api.cognitive.azure.cn/ 只需添加区域特定的部分 chinaeast2。 终结点路径的其余部分已存在。 | 
API-KEY | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 Key1 或 Key2。 应始终具有两个有效密钥,以实现安全密钥轮换而无需停机。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 此密钥值是示例请求的一部分。 | 
PROJECT-NAME | 
要添加同义词的项目的名称。 | 
示例查询
curl -X PUT -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" -d '{
"value": [
    {
      "alterations": [
        "qnamaker",
        "qna maker"
      ]
    },
    {
      "alterations": [
        "botframework",
        "bot framework"
      ]
    }
  ]
}' -i 'https://{ENDPOINT}.api.cognitive.azure.cn/language/query-knowledgebases/projects/{PROJECT-NAME}/synonyms?api-version=2021-10-01'
示例响应
0HTTP/2 200
content-length: 17
content-type: application/json; charset=utf-8
x-envoy-upstream-service-time: 39
apim-request-id: 5deb2692-dac8-43a8-82fe-36476e407ef6
strict-transport-security: max-age=31536000; includeSubDomains; preload
x-content-type-options: nosniff
date: Wed, 24 Nov 2021 03:59:09 GMT
{
  "value": []
}
更新主动学习反馈
| 变量名称 | 值 | 
|---|---|
ENDPOINT | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 一个示例终结点是: https://chinaeast2.api.cognitive.azure.cn/ 只需添加区域特定的部分 chinaeast2。 终结点路径的其余部分已存在。 | 
API-KEY | 
从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 Key1 或 Key2。 应始终具有两个有效密钥,以实现安全密钥轮换而无需停机。 也可以在“Language Studio”>“问题解答”>“部署项目”>“获取预测 URL”中查找该值。 此密钥值是示例请求的一部分。 | 
PROJECT-NAME | 
要作为主动学习反馈更新目标的项目的名称。 | 
示例查询
curl -X POST -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" -d '{
records": [
    {
      "userId": "user1",
      "userQuestion": "hi",
      "qnaId": 1
    },
    {
      "userId": "user1",
      "userQuestion": "hello",
      "qnaId": 2
    }
  ]
}' -i 'https://{ENDPOINT}.api.cognitive.azure.cn/language/query-knowledgebases/projects/{PROJECT-NAME}/feedback?api-version=2021-10-01' 
示例响应
HTTP/2 204
x-envoy-upstream-service-time: 37
apim-request-id: 92225e03-e83f-4c7f-b35a-223b1b0f29dd
strict-transport-security: max-age=31536000; includeSubDomains; preload
x-content-type-options: nosniff
date: Wed, 24 Nov 2021 04:02:56 GMT