Поделиться через


API разработки

Пользовательские ответы на вопросы API разработки используются для автоматизации распространенных задач, таких как добавление пар ответов на вопросы, а также создание, публикация и обслуживание проектов.

Примечание.

Функции разработки доступны через REST API и пакет SDK для разработки (предварительная версия). В этой статье приводятся примеры использования REST API с cURL. Полную документацию по всем доступным параметрам и функциональным возможностям см. в справочном материале по REST API.

Необходимые компоненты

  • Текущая версия cURL. В этой статье используются несколько параметров командной строки, которые указаны в документации по cURL.
  • Команды в этой статье предназначены для выполнения в оболочке Bash. Эти команды не всегда работают в командной строке Windows или в PowerShell без изменения. Если оболочка Bash не установлена локально, можно использовать среду Bash Azure Cloud Shell.

Создание проекта

Чтобы создать проект программным способом, выполните приведенные далее действия.

Имя переменной Значение
ENDPOINT Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Кроме того, можно найти значение в Language Studio>с вопросом, отвечая>на URL-адрес прогнозирования проекта.> Пример конечной точки: https://southcentralus.api.cognitive.microsoft.com/. Если в предыдущем примере была ваша конечная точка в примере кода, приведенного ниже, необходимо добавить только часть southcentral, относящуюся к региону, так как оставшаяся часть пути конечной точки уже существует.
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.microsoft.com/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>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Пример конечной точки: https://southcentralus.api.cognitive.microsoft.com/. Если в предыдущем примере была ваша конечная точка в примере кода, приведенного ниже, необходимо добавить только часть southcentral, относящуюся к региону, так как оставшаяся часть пути конечной точки уже существует.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Можно использовать Key1 или Key2. Наличие двух действительных ключей позволяют обеспечить безопасную смену ключей с нулевым временем простоя. Кроме того, можно найти значение в Language Studio>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Значение ключа является частью примера запроса.
PROJECT-NAME Имя проекта, который вы хотите удалить.

Пример запроса

curl -X DELETE -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" -i 'https://{ENDPOINT}.api.cognitive.microsoft.com/language/query-knowledgebases/projects/{PROJECT-NAME}?api-version=2021-10-01'

Успешный вызов для удаления проекта приводит к возврату заголовка Operation-Location, который можно использовать для проверки состояния задания удаления проекта. В большинстве наших примеров нам не требовалось просматривать заголовки ответа, поэтому они не отображались. Для получения заголовков ответа команда cURL использует -i. Без этого параметра до адреса конечной точки ответ на эту команду будет пустым, как если бы ответ не выполнялся.

Пример отклика

HTTP/2 202
content-length: 0
operation-location: https://southcentralus.api.cognitive.microsoft.com: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://southcentralus.api.cognitive.microsoft.com/. Если это была ваша конечная точка в примере кода, приведенном ниже, необходимо добавить только часть southcentral, относящуюся к региону, так как оставшаяся часть пути конечной точки уже существует.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Можно использовать Key1 или Key2. Наличие двух действительных ключей позволяют обеспечить безопасную смену ключей с нулевым временем простоя. Кроме того, можно найти значение в Language Studio>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Значение ключа является частью примера запроса.
PROJECT-NAME Имя проекта, для проверка состояния развертывания.
JOB-ID При программном удалении проекта JOB-ID создается как часть заголовка operation-location ответа для запроса на удаление. JOB-ID— это идентификатор GUID в конце operation-location. Например: operation-location: https://southcentralus.api.cognitive.microsoft.com: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.microsoft.com/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>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Пример конечной точки: https://southcentralus.api.cognitive.microsoft.com/. Если это была ваша конечная точка в примере кода, приведенном ниже, необходимо добавить только часть southcentral, относящуюся к региону, так как оставшаяся часть пути конечной точки уже существует.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Можно использовать Key1 или Key2. Наличие двух действительных ключей позволяют обеспечить безопасную смену ключей с нулевым временем простоя. Кроме того, можно найти значение в Language Studio>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Значение ключа является частью примера запроса.
PROJECT-NAME Имя проекта, о который вы хотите получить сведения.

Пример запроса


curl -X GET -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" 'https://{ENDPOINT}.api.cognitive.microsoft.com/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>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Пример конечной точки: https://southcentralus.api.cognitive.microsoft.com/. Если это была ваша конечная точка в примере кода, приведенном ниже, необходимо добавить только часть southcentral, относящуюся к региону, так как оставшаяся часть пути конечной точки уже существует.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Можно использовать Key1 или Key2. Наличие двух действительных ключей позволяют обеспечить безопасную смену ключей с нулевым временем простоя. Кроме того, можно найти значение в Language Studio>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Значение ключа является частью примера запроса.
PROJECT-NAME Имя проекта, для которого вы хотите получить все пары ответов на вопросы.

Пример запроса

curl -X GET -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" 'https://{ENDPOINT}.api.cognitive.microsoft.com/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>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Пример конечной точки: https://southcentralus.api.cognitive.microsoft.com/. Если это была ваша конечная точка в примере кода, приведенном ниже, необходимо добавить только часть southcentral, относящуюся к региону, так как оставшаяся часть пути конечной точки уже существует.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Можно использовать Key1 или Key2. Наличие двух действительных ключей позволяют обеспечить безопасную смену ключей с нулевым временем простоя. Кроме того, можно найти значение в Language Studio>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Значение ключа является частью примера запроса.
PROJECT-NAME Имя проекта, для которого вы хотите получить все исходные сведения.

Пример запроса

curl -X GET -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" 'https://{ENDPOINT}.api.cognitive.microsoft.com/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>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Пример конечной точки: https://southcentralus.api.cognitive.microsoft.com/. Если это была ваша конечная точка в примере кода, приведенном ниже, необходимо добавить только часть southcentral, относящуюся к региону, так как оставшаяся часть пути конечной точки уже существует.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Можно использовать Key1 или Key2. Наличие двух действительных ключей позволяют обеспечить безопасную смену ключей с нулевым временем простоя. Кроме того, можно найти значение в Language Studio>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Значение ключа является частью примера запроса.
PROJECT-NAME Имя проекта, для которого требуется получить сведения о синонимах.

Пример запроса


curl -X GET -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" 'https://{ENDPOINT}.api.cognitive.microsoft.com/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>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Пример конечной точки: https://southcentralus.api.cognitive.microsoft.com/. Если это была ваша конечная точка в примере кода, приведенном ниже, необходимо добавить только часть southcentral, относящуюся к региону, так как оставшаяся часть пути конечной точки уже существует.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Можно использовать Key1 или Key2. Наличие двух действительных ключей позволяют обеспечить безопасную смену ключей с нулевым временем простоя. Кроме того, можно найти значение в Language Studio>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Значение ключа является частью примера запроса.
PROJECT-NAME Имя проекта, который вы хотите развернуть в рабочей среде.

Пример запроса

curl -X PUT -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" -d '' -i 'https://{ENDPOINT}.api.cognitive.microsoft.com/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://southcentralus.api.cognitive.microsoft.com: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>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Пример конечной точки: https://southcentralus.api.cognitive.microsoft.com/. Если это была ваша конечная точка в примере кода, приведенном ниже, необходимо добавить только часть southcentral, относящуюся к региону, так как оставшаяся часть пути конечной точки уже существует.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Можно использовать Key1 или Key2. Наличие двух действительных ключей позволяют обеспечить безопасную смену ключей с нулевым временем простоя. Кроме того, можно найти значение в Language Studio>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Значение ключа является частью примера запроса.
PROJECT-NAME Имя проекта, для проверка состояния развертывания.
JOB-ID При программном развертывании проекта JOB-ID создается в качестве части заголовка operation-location ответа в запросе на развертывание. JOB-ID— это идентификатор GUID в конце operation-location. Например: operation-location: https://southcentralus.api.cognitive.microsoft.com: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.microsoft.com/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>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Пример конечной точки: https://southcentralus.api.cognitive.microsoft.com/. Если это была ваша конечная точка в примере кода, приведенном ниже, необходимо добавить только часть southcentral, относящуюся к региону, так как оставшаяся часть пути конечной точки уже существует.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Можно использовать Key1 или Key2. Наличие двух действительных ключей позволяют обеспечить безопасную смену ключей с нулевым временем простоя. Кроме того, можно найти значение в Language Studio>, отвечая>на вопросы развертывания проекта>Get прогнозирования 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.microsoft.com/language/query-knowledgebases/projects/{PROJECT-NAME}/:export?api-version=2021-10-01&format=tsv'

Пример отклика

HTTP/2 202
content-length: 0
operation-location: https://southcentralus.api.cognitive.microsoft.com: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>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Пример конечной точки: https://southcentralus.api.cognitive.microsoft.com/. Если это была ваша конечная точка в примере кода, приведенном ниже, необходимо добавить только часть southcentral, относящуюся к региону, так как оставшаяся часть пути конечной точки уже существует.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Можно использовать Key1 или Key2. Наличие двух действительных ключей позволяют обеспечить безопасную смену ключей с нулевым временем простоя. Кроме того, можно найти значение в Language Studio>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Значение ключа является частью примера запроса.
PROJECT-NAME Имя проекта, для проверка состояния экспорта.
JOB-ID При программном JOB-ID экспорте проекта создается как часть заголовка operation-location ответа в запросе на экспорт. JOB-ID— это идентификатор GUID в конце operation-location. Например: operation-location: https://southcentralus.api.cognitive.microsoft.com/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.microsoft.com/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://southcentralus.api.cognitive.microsoft.com:443/language/query-knowledgebases/projects/sample-proj1/export/jobs/{JOB-ID_GUID}/result"
}

При попытке получить прямой доступ к resultUrl возникает ошибка 404. Необходимо добавить ?api-version=2021-10-01 к пути, чтобы сделать его доступным для запроса, прошедшего аутентификацию: https://southcentralus.api.cognitive.microsoft.com:443/language/query-knowledgebases/projects/sample-proj1/export/jobs/{JOB-ID_GUID}/result?api-version=2021-10-01

Импорт проекта

Имя переменной Значение
ENDPOINT Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Кроме того, можно найти значение в Language Studio>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Пример конечной точки: https://southcentralus.api.cognitive.microsoft.com/. Если это была ваша конечная точка в примере кода, приведенном ниже, необходимо добавить только часть southcentral, относящуюся к региону, так как оставшаяся часть пути конечной точки уже существует.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Можно использовать Key1 или Key2. Наличие двух действительных ключей позволяют обеспечить безопасную смену ключей с нулевым временем простоя. Кроме того, можно найти значение в Language Studio>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Значение ключа является частью примера запроса.
PROJECT-NAME Имя проекта, который вы хотите использовать для импорта.
FILE-URI-PATH При программном экспорте проекта, а затем проверка состояние экспорта resultUrl создается в рамках ответа. Например: "resultUrl": "https://southcentralus.api.cognitive.microsoft.com:443/language/query-knowledgebases/projects/sample-proj1/export/jobs/{JOB-ID_GUID}/result" можно использовать resultUrl с версией API, добавленной в качестве исходного файла для импорта проекта из: https://southcentralus.api.cognitive.microsoft.com: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.microsoft.com/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://southcentralus.api.cognitive.microsoft.com: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>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Пример конечной точки: https://southcentralus.api.cognitive.microsoft.com/. Если это была ваша конечная точка в примере кода, приведенном ниже, необходимо добавить только часть southcentral, относящуюся к региону, так как оставшаяся часть пути конечной точки уже существует.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Можно использовать Key1 или Key2. Наличие двух действительных ключей позволяют обеспечить безопасную смену ключей с нулевым временем простоя. Кроме того, можно найти значение в Language Studio>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Значение ключа является частью примера запроса.
PROJECT-NAME Имя проекта, который вы хотите использовать для импорта.
JOB-ID При программном JOB-ID импорте проекта создается как часть заголовка operation-location ответа в запросе на экспорт. JOB-ID— это идентификатор GUID в конце operation-location. Например: operation-location: https://southcentralus.api.cognitive.microsoft.com/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://southcentralus.api.cognitive.microsoft.com/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>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Пример конечной точки: https://southcentralus.api.cognitive.microsoft.com/. Если это была ваша конечная точка в примере кода, приведенном ниже, необходимо добавить только часть southcentral, относящуюся к региону, так как оставшаяся часть пути конечной точки уже существует.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Можно использовать Key1 или Key2. Наличие двух действительных ключей позволяют обеспечить безопасную смену ключей с нулевым временем простоя. Кроме того, можно найти значение в Language Studio>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Значение ключа является частью примера запроса.
PROJECT-NAME Имя проекта, для который вы хотите создать список развертываний.

Пример запроса

curl -X GET -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" -d '' 'https://{ENDPOINT}.api.cognitive.microsoft.com/language/query-knowledgebases/projects/{PROJECT-NAME}/deployments?api-version=2021-10-01' 

Пример отклика

[
  {
    "deploymentName": "production",
    "lastDeployedDateTime": "2021-10-26T15:12:02Z"
  }
]

Список проектов

Получение списка всех проектов ответов на вопросы, к которым у вашей учетной записи есть доступ.

Имя переменной Значение
ENDPOINT Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Кроме того, можно найти значение в Language Studio>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Пример конечной точки: https://southcentralus.api.cognitive.microsoft.com/. Если это была ваша конечная точка в примере кода, приведенном ниже, необходимо добавить только часть southcentral, относящуюся к региону, так как оставшаяся часть пути конечной точки уже существует.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Можно использовать Key1 или Key2. Наличие двух действительных ключей позволяют обеспечить безопасную смену ключей с нулевым временем простоя. Кроме того, можно найти значение в Language Studio>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Значение ключа является частью примера запроса.

Пример запроса

curl -X GET -H "Ocp-Apim-Subscription-Key: {API-KEY}" -H "Content-Type: application/json" -d '' 'https://{ENDPOINT}.api.cognitive.microsoft.com/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>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Пример конечной точки: https://southcentralus.api.cognitive.microsoft.com/. Если это была ваша конечная точка в примере кода, приведенном ниже, необходимо добавить только часть southcentral, относящуюся к региону, так как оставшаяся часть пути конечной точки уже существует.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Можно использовать Key1 или Key2. Наличие двух действительных ключей позволяют обеспечить безопасную смену ключей с нулевым временем простоя. Кроме того, можно найти значение в Language Studio>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Значение ключа является частью примера запроса.
PROJECT-NAME Имя проекта, в котором вы хотите обновить источники.
METHOD PATCH

Пример запроса

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.com//language/query-knowledgebases/projects/{projectName}/sources?api-version=2021-10-01'

Успешный вызов для обновления источника приводит к возврату заголовка Operation-Location, который можно использовать для проверки состояния задания импорта проекта. Во многих наших примерах нам не требовалось просматривать заголовки ответа, поэтому они не всегда отображались. Для получения заголовков ответа команда cURL использует -i. Без этого параметра до адреса конечной точки ответ на эту команду будет пустым, как если бы ответ не выполнялся.

Пример отклика

HTTP/2 202
content-length: 0
operation-location: https://southcentralus.api.cognitive.microsoft.com: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://southcentralus.api.cognitive.microsoft.com/. Если это была ваша конечная точка в примере кода, приведенном ниже, необходимо добавить только часть southcentral, относящуюся к региону, так как оставшаяся часть пути конечной точки уже существует.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Можно использовать Key1 или Key2. Наличие двух действительных ключей позволяют обеспечить безопасную смену ключей с нулевым временем простоя. Кроме того, можно найти значение в Language Studio>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Значение ключа является частью примера запроса.
PROJECT-NAME Имя проекта, который вы хотите использовать для импорта.
JOB-ID При программном обновлении источника JOB-ID создается как часть заголовка ответа operation-location на запрос на обновление источника. JOB-ID— это идентификатор GUID в конце operation-location. Например: operation-location: https://southcentralus.api.cognitive.microsoft.com/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.microsoft.com/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>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Пример конечной точки: https://southcentralus.api.cognitive.microsoft.com/. Если это была ваша конечная точка в примере кода, приведенном ниже, необходимо добавить только часть southcentral, относящуюся к региону, так как оставшаяся часть пути конечной точки уже существует.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Можно использовать Key1 или Key2. Наличие двух действительных ключей позволяют обеспечить безопасную смену ключей с нулевым временем простоя. Кроме того, можно найти значение в Language Studio>, отвечая>на вопросы развертывания проекта>Get прогнозирования 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.microsoft.com/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://southcentralus.api.cognitive.microsoft.com: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>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Пример конечной точки: https://southcentralus.api.cognitive.microsoft.com/. Если это была ваша конечная точка в примере кода, приведенном ниже, необходимо добавить только часть southcentral, относящуюся к региону, так как оставшаяся часть пути конечной точки уже существует.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Можно использовать Key1 или Key2. Наличие двух действительных ключей позволяют обеспечить безопасную смену ключей с нулевым временем простоя. Кроме того, можно найти значение в Language Studio>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Значение ключа является частью примера запроса.
PROJECT-NAME Имя проекта, который вы хотите использовать для пар ответов на вопросы, обновляется.
JOB-ID При программном обновлении пар вопросов и ответов JOB-ID создается как часть заголовка ответа operation-location на запрос на обновление пар вопросов и ответов. JOB-ID— это идентификатор GUID в конце operation-location. Например: operation-location: https://southcentralus.api.cognitive.microsoft.com/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://southcentralus.api.cognitive.microsoft.com/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>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Пример конечной точки: https://southcentralus.api.cognitive.microsoft.com/. Если это была ваша конечная точка в примере кода, приведенном ниже, необходимо добавить только часть southcentral, относящуюся к региону, так как оставшаяся часть пути конечной точки уже существует.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Можно использовать Key1 или Key2. Наличие двух действительных ключей позволяют обеспечить безопасную смену ключей с нулевым временем простоя. Кроме того, можно найти значение в Language Studio>, отвечая>на вопросы развертывания проекта>Get прогнозирования 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.microsoft.com/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>, отвечая>на вопросы развертывания проекта>Get прогнозирования URL-адрес. Пример конечной точки: https://southcentralus.api.cognitive.microsoft.com/. Если это была ваша конечная точка в примере кода, приведенном ниже, необходимо добавить только часть southcentral, относящуюся к региону, так как оставшаяся часть пути конечной точки уже существует.
API-KEY Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Можно использовать Key1 или Key2. Наличие двух действительных ключей позволяют обеспечить безопасную смену ключей с нулевым временем простоя. Кроме того, можно найти значение в Language Studio>, отвечая>на вопросы развертывания проекта>Get прогнозирования 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.microsoft.com/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