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


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. Это может быть экземпляр AzureKeyCredential, если используется ключ API языка или учетные данные маркера из identity.

api_version
str

Версия API. Доступные значения: "2023-04-01" и "2022-05-01". Значение по умолчанию — "2023-04-01". Обратите внимание, что переопределение этого значения по умолчанию может привести к неподдерживаемой реакции.

polling_interval
int

Время ожидания по умолчанию между двумя опросами для операций LRO, если нет Retry-After заголовка.

Методы

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 или тип ввода-вывода. Обязательный.

content_type
str

Тип содержимого параметра body. Известные значения: "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 или тип ввода-вывода. Обязательный.

content_type
str

Тип содержимого параметра body. Известные значения: "application/json". Значение по умолчанию —Нет.

continuation_token
str

Маркер продолжения для перезапуска опроса из сохраненного состояния.

polling
bool или AsyncPollingMethod

По умолчанию методом опроса будет AsyncLROBasePolling. Передайте значение False для этой операции, чтобы не опрашивать, или передайте собственный инициализированный объект опроса для личной стратегии опроса.

polling_interval
int

Время ожидания по умолчанию между двумя опросами для операций LRO, если нет Retry-After заголовка.

Возвращаемое значение

Экземпляр AsyncLROPoller, возвращающий объект JSON.

Возвращаемый тип

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.

Возвращаемое значение

Ответ сетевого вызова. Не обрабатывает ошибки в ответе.

Возвращаемый тип

Исключения