How to fix: azure.core.exceptions.ServiceRequestError: EOF occurred in violation of protocol (_ssl.c:1129)

1k Views Asked by At

I am trying to interact with the TextAnalyticsClient of Azure to run a pretrained custom Entity Recognition program. However, when I call the attribute .begin_recognize_custom_entities(...) in the code shown below. It appears that the administration of the key credentials passes succesfully (in text_analytics_client = TextAnalyticsClient(...)), but then it fails afterwards.

"""
FILE: sample_recognize_custom_entities.py
DESCRIPTION:
    This sample demonstrates how to recognize custom entities in documents.
    Recognizing custom entities is available as an action type through the begin_analyze_actions API.
    For information on regional support of custom features and how to train a model to
    recognize custom entities, see https://aka.ms/azsdk/textanalytics/customentityrecognition
USAGE:
    python sample_recognize_custom_entities.py
    Set the environment variables with your own values before running the sample:
    1) AZURE_LANGUAGE_ENDPOINT - the endpoint to your Language resource.
    2) AZURE_LANGUAGE_KEY - your Language subscription key
    3) CUSTOM_ENTITIES_PROJECT_NAME - your Language Studio project name
    4) CUSTOM_ENTITIES_DEPLOYMENT_NAME - your Language Studio deployment name
"""


import os

print('#############################################################')
def sample_recognize_custom_entities():
    from azure.core.credentials import AzureKeyCredential
    from azure.ai.textanalytics import TextAnalyticsClient
    

    deployment_name = @@@@@ 
    endpoint = @@@@@ 
    key = @@@@@
    project_name = @@@@@
    path_to_sample_document = r'C:\Users\@@@@@\Documents\@@@@@\Source\Document cracking\output_documents\txt_for_ML_566docs_270922\text.txt'
   
   
    text_analytics_client = TextAnalyticsClient(
        endpoint=endpoint,
        credential=AzureKeyCredential(key),
    )

    with open(path_to_sample_document) as fd:
        document = [fd.read()]

    poller = text_analytics_client.begin_recognize_custom_entities(
        document,
        project_name=project_name,
        deployment_name=deployment_name
    )

    document_results = poller.result()
    for result in document_results:
        custom_entities_result = result[0]  # first document, first result
        if not custom_entities_result.is_error:
            for entity in custom_entities_result.entities:
                print(
                    "Entity '{}' has category '{}' with confidence score of '{}'".format(
                        entity.text, entity.category, entity.confidence_score
                    )
                )
        else:
            print(
                "...Is an error with code '{}' and message '{}'".format(
                    custom_entities_result.code, custom_entities_result.message
                )
            )

sample_recognize_custom_entities()
if __name__ == "__main__":
    sample_recognize_custom_entities() 

it gives the following error:

  File "C:\Users\@@@@@\Documents\@@@@@\Source\Document cracking\crack-document\test_ML_connection.py", line 71, in <module>
    sample_recognize_custom_entities()
  File "C:\Users\@@@@@\Documents\@@@@@\Source\Document cracking\crack-document\test_ML_connection.py", line 48, in sample_recognize_custom_entities
    poller = text_analytics_client.begin_recognize_custom_entities(
  File "C:\Users\@@@@@\Anaconda3\envs\doc_crac\lib\site-packages\azure\core\tracing\decorator.py", line 78, in wrapper_use_tracer
    return func(*args, **kwargs)
  File "C:\Users\@@@@@\Anaconda3\envs\doc_crac\lib\site-packages\azure\ai\textanalytics\_validate.py", line 74, in wrapper
    return func(*args, **kwargs)
  File "C:\Users\@@@@@\Anaconda3\envs\doc_crac\lib\site-packages\azure\ai\textanalytics\_text_analytics_client.py", line 1388, in begin_recognize_custom_entities
    self.begin_analyze_actions(
  File "C:\Users\@@@@@\Anaconda3\envs\doc_crac\lib\site-packages\azure\core\tracing\decorator.py", line 78, in wrapper_use_tracer
    return func(*args, **kwargs)
  File "C:\Users\@@@@@\Anaconda3\envs\doc_crac\lib\site-packages\azure\ai\textanalytics\_validate.py", line 74, in wrapper
    return func(*args, **kwargs)
  File "C:\Users\@@@@@\Anaconda3\envs\doc_crac\lib\site-packages\azure\ai\textanalytics\_text_analytics_client.py", line 1213, in begin_analyze_actions
    self._client.begin_analyze_text_submit_job(
  File "C:\Users\@@@@@\Anaconda3\envs\doc_crac\lib\site-packages\azure\ai\textanalytics\_generated\_operations_mixin.py", line 277, in begin_analyze_text_submit_job
    return mixin_instance.begin_analyze_text_submit_job(body, **kwargs)
  File "C:\Users\@@@@@\Anaconda3\envs\doc_crac\lib\site-packages\azure\core\tracing\decorator.py", line 78, in wrapper_use_tracer
    return func(*args, **kwargs)
  File "C:\Users\@@@@@\Anaconda3\envs\doc_crac\lib\site-packages\azure\ai\textanalytics\_generated\v2022_05_01\operations\_patch.py", line 67, in begin_analyze_text_submit_job
    raw_result = self._analyze_text_submit_job_initial(  # type: ignore
  File "C:\Users\@@@@@\Anaconda3\envs\doc_crac\lib\site-packages\azure\ai\textanalytics\_generated\v2022_05_01\operations\_text_analytics_client_operations.py", line 353, in _analyze_text_submit_job_initial
    pipeline_response = self._client._pipeline.run(  # type: ignore # pylint: disable=protected-access
  File "C:\Users\@@@@@\Anaconda3\envs\doc_crac\lib\site-packages\azure\core\pipeline\_base.py", line 211, in run
    return first_node.send(pipeline_request)  # type: ignore
  File "C:\Users\@@@@@\Anaconda3\envs\doc_crac\lib\site-packages\azure\core\pipeline\_base.py", line 71, in send
    response = self.next.send(request)
  File "C:\Users\@@@@@\Anaconda3\envs\doc_crac\lib\site-packages\azure\core\pipeline\_base.py", line 71, in send
    response = self.next.send(request)
  File "C:\Users\@@@@@\Anaconda3\envs\doc_crac\lib\site-packages\azure\core\pipeline\_base.py", line 71, in send
    response = self.next.send(request)
  [Previous line repeated 2 more times]
  File "C:\Users\@@@@@\Anaconda3\envs\doc_crac\lib\site-packages\azure\core\pipeline\policies\_redirect.py", line 158, in send
    response = self.next.send(request)
  File "C:\Users\@@@@@\Anaconda3\envs\doc_crac\lib\site-packages\azure\core\pipeline\policies\_retry.py", line 468, in send
    raise err
  File "C:\Users\@@@@@\Anaconda3\envs\doc_crac\lib\site-packages\azure\core\pipeline\policies\_retry.py", line 446, in send
    response = self.next.send(request)
  File "C:\Users\@@@@@\Anaconda3\envs\doc_crac\lib\site-packages\azure\core\pipeline\_base.py", line 71, in send
    response = self.next.send(request)
  File "C:\Users\@@@@@\Anaconda3\envs\doc_crac\lib\site-packages\azure\core\pipeline\_base.py", line 71, in send
    response = self.next.send(request)
  File "C:\Users\@@@@@\Anaconda3\envs\doc_crac\lib\site-packages\azure\core\pipeline\_base.py", line 71, in send
    response = self.next.send(request)
  [Previous line repeated 3 more times]
  File "C:\Users\@@@@@\Anaconda3\envs\doc_crac\lib\site-packages\azure\core\pipeline\_base.py", line 103, in send
    self._sender.send(request.http_request, **request.context.options),
  File "C:\Users\@@@@@\Anaconda3\envs\doc_crac\lib\site-packages\azure\core\pipeline\transport\_requests_basic.py", line 361, in send
    raise error
azure.core.exceptions.ServiceRequestError: EOF occurred in violation of protocol (_ssl.c:1129)

Anyone knows what this means, and how to solve it? Thanks in advance,

Koeiswit

0

There are 0 best solutions below