다음을 통해 공유


ConversationAnalysisClient 클래스

언어 서비스 대화 API는 구조화된 대화(텍스트 또는 음성)를 분석하는 데 사용할 수 있는 NLP(자연어 처리) 기술 모음입니다. 추가 설명서는 에서 https://docs.microsoft.com/azure/cognitive-services/language-service/overview찾을 수 있습니다.

상속
azure.ai.language.conversations.aio._client.ConversationAnalysisClient
ConversationAnalysisClient

생성자

ConversationAnalysisClient(endpoint: str, credential: AzureKeyCredential | AsyncTokenCredential, **kwargs: Any)

매개 변수

endpoint
str
필수

지원되는 Cognitive Services 엔드포인트(예: https://<resource-name>.cognitiveservices.azure.com). 필수 요소.

credential
AzureKeyCredential 또는 AsyncTokenCredential
필수

클라이언트가 Azure에 연결하는 데 필요한 자격 증명입니다. 언어 API 키 또는 의 토큰 자격 증명identity을 사용하는 경우 AzureKeyCredential의 instance 수 있습니다.

api_version
str

API 버전. 사용 가능한 값은 "2023-04-01" 및 "2022-05-01"입니다. 기본값은 "2023-04-01"입니다. 이 기본값을 재정의하면 지원되지 않는 동작이 발생할 수 있습니다.

polling_interval
int

Retry-After 헤더가 없는 경우 LRO 작업에 대한 두 폴링 간의 기본 대기 시간입니다.

메서드

analyze_conversation

입력 대화 발화를 분석합니다.

자세한 내용은 https://learn.microsoft.com/rest/api/language/2023-04-01/conversation-analysis-runtime/analyze-conversation 을 참조하세요.

begin_conversation_analysis

대화에 대한 분석 작업을 제출합니다.

분석을 위해 대화 컬렉션을 제출합니다. 실행할 고유 작업을 하나 이상 지정합니다.

자세한 내용은 https://learn.microsoft.com/rest/api/language/2023-04-01/analyze-conversation/submit-job 을 참조하세요.

close
send_request

클라이언트의 연결된 정책을 통해 네트워크 요청을 실행합니다.


>>> from azure.core.rest import HttpRequest
>>> request = HttpRequest("GET", "https://www.example.org/")
<HttpRequest [GET], url: 'https://www.example.org/'>
>>> response = await client.send_request(request)
<AsyncHttpResponse: 200 OK>

이 코드 흐름에 대한 자세한 내용은 https://aka.ms/azsdk/dpcodegen/python/send_request

analyze_conversation

입력 대화 발화를 분석합니다.

자세한 내용은 https://learn.microsoft.com/rest/api/language/2023-04-01/conversation-analysis-runtime/analyze-conversation 을 참조하세요.

async analyze_conversation(task: MutableMapping[str, Any] | IO, **kwargs: Any) -> MutableMapping[str, Any]

매개 변수

task
<xref:JSON> 또는 IO
필수

실행할 단일 대화형 작업입니다. JSON 형식 또는 IO 형식입니다. 필수 요소.

content_type
str

본문 매개 변수 콘텐츠 형식입니다. 알려진 값은 'application/json'입니다. 기본값은 없음입니다.

반환

JSON 개체

반환 형식

<xref:JSON>

예외

예제


   # The input is polymorphic. The following are possible polymorphic inputs based off
     discriminator "kind":

   # JSON input template for discriminator value "Conversation":
   analyze_conversation_task = {
       "analysisInput": {
           "conversationItem": {
               "id": "str",  # The ID of a conversation item. Required.
               "participantId": "str",  # The participant ID of a
                 conversation item. Required.
               "language": "str",  # Optional. The override language of a
                 conversation item in BCP 47 language representation.
               "modality": "str",  # Optional. Enumeration of supported
                 conversational modalities. Known values are: "transcript" and "text".
               "role": "str"  # Optional. Role of the participant. Known
                 values are: "agent", "customer", and "generic".
           }
       },
       "kind": "Conversation",
       "parameters": {
           "deploymentName": "str",  # The name of the deployment to use.
             Required.
           "projectName": "str",  # The name of the project to use. Required.
           "directTarget": "str",  # Optional. The name of a target project to
             forward the request to.
           "isLoggingEnabled": bool,  # Optional. If true, the service will keep
             the query for further review.
           "stringIndexType": "TextElements_v8",  # Optional. Default value is
             "TextElements_v8". Specifies the method used to interpret string offsets. Set
             to "UnicodeCodePoint" for Python strings. Known values are:
             "TextElements_v8", "UnicodeCodePoint", and "Utf16CodeUnit".
           "targetProjectParameters": {
               "str": analysis_parameters
           },
           "verbose": bool  # Optional. If true, the service will return more
             detailed information in the response.
       }
   }

   # JSON input template you can fill out and use as your body input.
   task = analyze_conversation_task
   # The response is polymorphic. The following are possible polymorphic responses based
     off discriminator "kind":

   # JSON input template for discriminator value "ConversationResult":
   analyze_conversation_task_result = {
       "kind": "ConversationResult",
       "result": {
           "prediction": base_prediction,
           "query": "str",  # The conversation utterance given by the caller.
             Required.
           "detectedLanguage": "str"  # Optional. The system detected language
             for the query in BCP 47 language representation..
       }
   }

   # JSON input template for discriminator value "Conversation":
   base_prediction = {
       "entities": [
           {
               "category": "str",  # The entity category. Required.
               "confidenceScore": 0.0,  # The entity confidence score.
                 Required.
               "length": 0,  # The length of the text. Required.
               "offset": 0,  # The starting index of this entity in the
                 query. Required.
               "text": "str",  # The predicted entity text. Required.
               "extraInformation": [
                   base_extra_information
               ],
               "resolutions": [
                   base_resolution
               ]
           }
       ],
       "intents": [
           {
               "category": "str",  # A predicted class. Required.
               "confidenceScore": 0.0  # The confidence score of the class
                 from 0.0 to 1.0. Required.
           }
       ],
       "projectKind": "Conversation",
       "topIntent": "str"  # Optional. The intent with the highest score.
   }

   # JSON input template for discriminator value "Orchestration":
   base_prediction = {
       "intents": {
           "str": target_intent_result
       },
       "projectKind": "Orchestration",
       "topIntent": "str"  # Optional. The intent with the highest score.
   }

   # response body for status code(s): 200
   response == analyze_conversation_task_result

begin_conversation_analysis

대화에 대한 분석 작업을 제출합니다.

분석을 위해 대화 컬렉션을 제출합니다. 실행할 고유 작업을 하나 이상 지정합니다.

자세한 내용은 https://learn.microsoft.com/rest/api/language/2023-04-01/analyze-conversation/submit-job 을 참조하세요.

async begin_conversation_analysis(task: MutableMapping[str, Any] | IO, **kwargs: Any) -> AsyncLROPoller[MutableMapping[str, Any]]

매개 변수

task
<xref:JSON> 또는 IO
필수

분석할 대화 및 실행할 하나 이상의 작업 컬렉션입니다. JSON 형식 또는 IO 형식입니다. 필수 요소.

content_type
str

본문 매개 변수 콘텐츠 형식입니다. 알려진 값은 'application/json'입니다. 기본값은 없음입니다.

continuation_token
str

저장된 상태에서 폴러를 다시 시작하는 연속 토큰입니다.

polling
bool 또는 AsyncPollingMethod

기본적으로 폴링 방법은 AsyncLROBasePolling입니다. 이 작업을 폴링하지 않도록 False를 전달하거나 개인 폴링 전략을 위해 초기화된 폴링 개체를 전달합니다.

polling_interval
int

Retry-After 헤더가 없는 경우 LRO 작업에 대한 두 폴링 간의 기본 대기 시간입니다.

반환

JSON 개체를 반환하는 AsyncLROPoller의 instance

반환 형식

AsyncLROPoller[<xref:JSON>]

예외

예제


   # JSON input template you can fill out and use as your body input.
   task = {
       "analysisInput": {
           "conversations": [
               conversation
           ]
       },
       "tasks": [
           analyze_conversation_lro_task
       ],
       "displayName": "str"  # Optional. Display name for the analysis job.
   }

   # response body for status code(s): 200
   response == {
       "createdDateTime": "2020-02-20 00:00:00",  # Required.
       "jobId": "str",  # Required.
       "lastUpdatedDateTime": "2020-02-20 00:00:00",  # Required.
       "status": "str",  # The status of the task at the mentioned last update time.
         Required. Known values are: "notStarted", "running", "succeeded", "failed",
         "cancelled", "cancelling", and "partiallyCompleted".
       "tasks": {
           "completed": 0,  # Count of tasks that finished successfully.
             Required.
           "failed": 0,  # Count of tasks that failed. Required.
           "inProgress": 0,  # Count of tasks that are currently in progress.
             Required.
           "total": 0,  # Total count of tasks submitted as part of the job.
             Required.
           "items": [
               analyze_conversation_job_result
           ]
       },
       "displayName": "str",  # Optional.
       "errors": [
           {
               "code": "str",  # One of a server-defined set of error codes.
                 Required. Known values are: "InvalidRequest", "InvalidArgument",
                 "Unauthorized", "Forbidden", "NotFound", "ProjectNotFound",
                 "OperationNotFound", "AzureCognitiveSearchNotFound",
                 "AzureCognitiveSearchIndexNotFound", "TooManyRequests",
                 "AzureCognitiveSearchThrottling",
                 "AzureCognitiveSearchIndexLimitReached", "InternalServerError",
                 "ServiceUnavailable", "Timeout", "QuotaExceeded", "Conflict", and
                 "Warning".
               "message": "str",  # A human-readable representation of the
                 error. Required.
               "details": [
                   ...
               ],
               "innererror": {
                   "code": "str",  # One of a server-defined set of
                     error codes. Required. Known values are: "InvalidRequest",
                     "InvalidParameterValue", "KnowledgeBaseNotFound",
                     "AzureCognitiveSearchNotFound", "AzureCognitiveSearchThrottling",
                     "ExtractionFailure", "InvalidRequestBodyFormat", "EmptyRequest",
                     "MissingInputDocuments", "InvalidDocument", "ModelVersionIncorrect",
                     "InvalidDocumentBatch", "UnsupportedLanguageCode", and
                     "InvalidCountryHint".
                   "message": "str",  # Error message. Required.
                   "details": {
                       "str": "str"  # Optional. Error details.
                   },
                   "innererror": ...,
                   "target": "str"  # Optional. Error target.
               },
               "target": "str"  # Optional. The target of the error.
           }
       ],
       "expirationDateTime": "2020-02-20 00:00:00",  # Optional.
       "nextLink": "str",  # Optional.
       "statistics": {
           "conversationsCount": 0,  # Number of conversations submitted in the
             request. Required.
           "documentsCount": 0,  # Number of documents submitted in the request.
             Required.
           "erroneousConversationsCount": 0,  # Number of invalid documents.
             This includes documents that are empty, over the size limit, or in
             unsupported languages. Required.
           "erroneousDocumentsCount": 0,  # Number of invalid documents. This
             includes empty, over-size limit or non-supported languages documents.
             Required.
           "transactionsCount": 0,  # Number of transactions for the request.
             Required.
           "validConversationsCount": 0,  # Number of conversation documents.
             This excludes documents that are empty, over the size limit, or in
             unsupported languages. Required.
           "validDocumentsCount": 0  # Number of valid documents. This excludes
             empty, over-size limit or non-supported languages documents. Required.
       }
   }

close

async close() -> None

예외

send_request

클라이언트의 연결된 정책을 통해 네트워크 요청을 실행합니다.


>>> from azure.core.rest import HttpRequest
>>> request = HttpRequest("GET", "https://www.example.org/")
<HttpRequest [GET], url: 'https://www.example.org/'>
>>> response = await client.send_request(request)
<AsyncHttpResponse: 200 OK>

이 코드 흐름에 대한 자세한 내용은 https://aka.ms/azsdk/dpcodegen/python/send_request

send_request(request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]

매개 변수

request
HttpRequest
필수

만들려는 네트워크 요청입니다. 필수 요소.

stream
bool

응답 페이로드가 스트리밍될지 여부입니다. 기본값은 False입니다.

반환

네트워크 호출의 응답입니다. 응답에 대한 오류 처리는 수행하지 않습니다.

반환 형식

예외