Language Service 기능을 비동기적으로 사용하는 방법

언어 서비스를 사용하면 REST API 또는 클라이언트 라이브러리를 사용하여 API 요청을 비동기적으로 보낼 수 있습니다. 요청에 여러 다른 언어 서비스 기능을 포함하여 동시에 데이터에 대해 수행할 수도 있습니다.

현재 다음과 같은 기능을 비동기적으로 사용할 수 있습니다.

  • 엔터티 연결
  • 문서 요약
  • 대화 요약
  • 핵심 구 추출
  • 언어 감지
  • NER(명명된 엔터티 인식)
  • 고객 콘텐츠 검색
  • 감정 분석 및 오피니언 마이닝
  • Text Analytics for health
  • PII(개인 식별 정보)

비동기 요청을 보내면 각 기능에 대해 요청에 포함된 텍스트 레코드 수에 따라 요금이 부과됩니다. 예를 들어 감정 분석 및 NER에 대한 텍스트 레코드를 보내는 경우 두 개의 텍스트 레코드를 보내는 것으로 간주되고 가격 책정 계층에 따라 둘 다에 대해 요금이 청구됩니다.

REST API를 사용하여 비동기 작업 제출

비동기 작업을 제출하려면 요청에서 보낼 JSON 본문에 대한 참조 설명서를 검토합니다.

  1. analysisInput 개체에 문서를 추가합니다.
  2. tasks 개체에 데이터에 대해 수행하려는 작업을 포함합니다. 예를 들어 감정 분석을 수행하려는 경우 SentimentAnalysisLROTask 개체를 포함합니다.
  3. 필요에 따라 다음을 수행할 수 있습니다.
    1. 데이터에 사용되는 모델의 특정 버전을 선택합니다.
    2. 데이터에서 동시에 수행할 추가 언어 서비스 기능을 tasks 개체에 포함합니다.

요청에 대한 JSON 본문을 만들었으면 Ocp-Apim-Subscription-Key 헤더에 키를 추가합니다. 그런 다음, API 요청을 작업 만들기 엔드포인트로 보냅니다. 예시:

POST https://your-endpoint.cognitiveservices.azure.com/language/analyze-text/jobs?api-version=2022-05-01

성공적인 호출은 202 응답 코드를 반환합니다. 응답 헤더의 operation-location는 API 결과를 검색하는 데 사용되는 URL입니다. 이 값은 다음 URL과 유사합니다.

GET {Endpoint}/language/analyze-text/jobs/12345678-1234-1234-1234-12345678?api-version=2022-05-01

상태를 가져오고 요청 결과를 검색하려면 이전 API 응답의 operation-location 헤더에서 받은 URL로 GET 요청을 보냅니다. Ocp-Apim-Subscription-Key에는 키를 포함해야 합니다. 응답에는 API 호출 결과가 포함됩니다.

클라이언트 라이브러리를 사용하여 비동기 API 요청 보내기

먼저 선택한 언어에 대한 클라이언트 라이브러리가 설치되어 있는지 확인합니다. 클라이언트 라이브러리를 설치하는 단계는 사용하려는 기능에 대한 빠른 시작 문서를 참조하세요.

그런 다음, 클라이언트 개체를 사용하여 API에 대한 비동기 호출을 보냅니다. 사용할 메서드 호출은 사용자의 언어에 따라 달라집니다. 사용 가능한 샘플 및 참조 설명서를 사용하여 시작하는 데 도움을 받으세요.

결과 가용성

이 기능을 비동기적으로 사용하는 경우 요청이 수집된 시간부터 24시간 동안 API 결과를 사용할 수 있으며 응답에 표시됩니다. 이 기간이 지나면 결과가 제거되고 더 이상 검색할 수 없습니다.

자동 언어 감지

REST API 버전 2022-07-01-preview부터 문서에서 자동 언어 감지를 요청할 수 있습니다. language 매개 변수를 auto로 설정하면 감지된 텍스트의 언어 코드가 응답의 언어 값으로 반환됩니다. 이 언어 감지로 인해 언어 리소스에 대한 추가 비용이 발생하지 않습니다.

데이터 제한

참고 항목

  • 허용 한도보다 큰 문서를 분석해야 하는 경우 텍스트를 API로 보내기 전에 텍스트를 더 작은 텍스트 청크로 분할할 수 있습니다.
  • 문서는 텍스트 문자의 단일 문자열입니다.

StringInfo.LengthInTextElements로 측정된 비동기 요청에 포함된 모든 문서에서 최대 125,000 문자를 보낼 수 있습니다. 이 문자 제한은 더 높은 처리량을 위해 동기 요청에 대한 제한보다 높습니다.

문서가 문자 제한을 초과하는 경우 API는 전체 요청을 거부하고 그 안의 문서가 최대 크기를 초과하면 400 bad request 오류를 반환합니다.

참고 항목