Использование искусственного интеллекта для пакетной обработки документов внутри облачной функции Google ⇐ Python
Использование искусственного интеллекта для пакетной обработки документов внутри облачной функции Google
У меня есть сценарий, в котором я загружаю локальный файл в корзину Cloud Storage, запуская облачную функцию (xyz). В рамках этой облачной функции я выполняю задачу пакетной обработки с использованием Google Cloud Document AI. Проблема, с которой я столкнулся, заключается в том, что пакетная обработка может занять больше времени, чем время выполнения, отведенное для облачной функции, что приведет к тайм-аутам.
Вот соответствующий фрагмент кода:
при вводе import Необязательно из google.api_core.client_options импортировать ClientOptions из google.cloud импортировать документацию Защиту пакетного_процесса_документов( gcs_input_uri: ул, ): project_id = "tally-ai-394207" местоположение = "нас" processor_id = "d5efc50f9221c006" # парсер счетов gcs_output_uri = "gs://document-ai-output-bucket-haritha/ManishoOutput/" # Должен заканчиваться символом '/' # Установите конечную точку API в зависимости от местоположения api_endpoint = f"{location}-documentai.googleapis.com" client_options = ClientOptions(api_endpoint=api_endpoint) клиент = documentai.DocumentProcessorServiceClient(client_options=client_options) # Укажите префикс URI GCS для обработки всего каталога gcs_prefix = documentai.GcsPrefix(gcs_uri_prefix=gcs_input_uri) input_config = documentai.BatchDocumentsInputConfig(gcs_prefix=gcs_prefix) # URI облачного хранилища для выходного каталога gcs_output_config = documentai.DocumentOutputConfig.GcsOutputConfig( gcs_uri=gcs_output_uri ) # Куда писать результаты output_config = documentai.DocumentOutputConfig(gcs_output_config=gcs_output_config) имя = client.processor_path(project_id, location,processor_id) запрос = documentai.BatchProcessRequest( имя=имя, input_documents=input_config, document_output_config=output_config, ) # BatchProcess возвращает длительную операцию (LRO) операция = client.batch_process_documents(запрос) # Дождитесь завершения операции операция.результат() # ПРИМЕЧАНИЕ. Также можно использовать обратные вызовы для асинхронной обработки. # # защита my_callback(будущее): # результат = будущее.результат() # # Operation.add_done_callback(my_callback) Я хотел бы запустить другую облачную функцию (abc) после завершения пакетной обработки, или мы можем передать облачную функцию (abc) вместо my_callback и способ сообщить облачной функции (abc) о завершении обработки . Кроме того, мне нужно передать информацию, возвращаемую пакетным_процессом_документами, в abc. Учитывая потенциальную проблему с тайм-аутом, я ищу решение, позволяющее более эффективно справиться с этой ситуацией.
Будем очень признательны за любые рекомендации и предложения о том, как этого добиться.
Я реализовал решение, в котором загружаю локальный файл в корзину Cloud Storage, запуская облачную функцию (xyz). Внутри этой облачной функции я использую Google Cloud Document AI для пакетной обработки. Чтобы справиться с асинхронным характером пакетной обработки, я рассмотрел возможность использования функции обратного вызова (my_callback), но меня беспокоят возможные тайм-ауты, поскольку задача пакетной обработки может превысить разрешенное время выполнения облачной функции (xyz).
Чего вы ожидали:
С точки зрения проектирования я ожидал, что облачная функция (xyz) может истечь по истечении времени до завершения пакетной обработки. Я изучаю альтернативные варианты проектирования, чтобы гарантировать успешное выполнение задачи пакетной обработки, и меня особенно интересует запуск другой облачной функции (abc) после завершения пакетной обработки. Кроме того, в этом сценарии я ищу способ передать информацию, возвращаемую пакетным_процессом_документами, в abc.
У меня есть сценарий, в котором я загружаю локальный файл в корзину Cloud Storage, запуская облачную функцию (xyz). В рамках этой облачной функции я выполняю задачу пакетной обработки с использованием Google Cloud Document AI. Проблема, с которой я столкнулся, заключается в том, что пакетная обработка может занять больше времени, чем время выполнения, отведенное для облачной функции, что приведет к тайм-аутам.
Вот соответствующий фрагмент кода:
при вводе import Необязательно из google.api_core.client_options импортировать ClientOptions из google.cloud импортировать документацию Защиту пакетного_процесса_документов( gcs_input_uri: ул, ): project_id = "tally-ai-394207" местоположение = "нас" processor_id = "d5efc50f9221c006" # парсер счетов gcs_output_uri = "gs://document-ai-output-bucket-haritha/ManishoOutput/" # Должен заканчиваться символом '/' # Установите конечную точку API в зависимости от местоположения api_endpoint = f"{location}-documentai.googleapis.com" client_options = ClientOptions(api_endpoint=api_endpoint) клиент = documentai.DocumentProcessorServiceClient(client_options=client_options) # Укажите префикс URI GCS для обработки всего каталога gcs_prefix = documentai.GcsPrefix(gcs_uri_prefix=gcs_input_uri) input_config = documentai.BatchDocumentsInputConfig(gcs_prefix=gcs_prefix) # URI облачного хранилища для выходного каталога gcs_output_config = documentai.DocumentOutputConfig.GcsOutputConfig( gcs_uri=gcs_output_uri ) # Куда писать результаты output_config = documentai.DocumentOutputConfig(gcs_output_config=gcs_output_config) имя = client.processor_path(project_id, location,processor_id) запрос = documentai.BatchProcessRequest( имя=имя, input_documents=input_config, document_output_config=output_config, ) # BatchProcess возвращает длительную операцию (LRO) операция = client.batch_process_documents(запрос) # Дождитесь завершения операции операция.результат() # ПРИМЕЧАНИЕ. Также можно использовать обратные вызовы для асинхронной обработки. # # защита my_callback(будущее): # результат = будущее.результат() # # Operation.add_done_callback(my_callback) Я хотел бы запустить другую облачную функцию (abc) после завершения пакетной обработки, или мы можем передать облачную функцию (abc) вместо my_callback и способ сообщить облачной функции (abc) о завершении обработки . Кроме того, мне нужно передать информацию, возвращаемую пакетным_процессом_документами, в abc. Учитывая потенциальную проблему с тайм-аутом, я ищу решение, позволяющее более эффективно справиться с этой ситуацией.
Будем очень признательны за любые рекомендации и предложения о том, как этого добиться.
Я реализовал решение, в котором загружаю локальный файл в корзину Cloud Storage, запуская облачную функцию (xyz). Внутри этой облачной функции я использую Google Cloud Document AI для пакетной обработки. Чтобы справиться с асинхронным характером пакетной обработки, я рассмотрел возможность использования функции обратного вызова (my_callback), но меня беспокоят возможные тайм-ауты, поскольку задача пакетной обработки может превысить разрешенное время выполнения облачной функции (xyz).
Чего вы ожидали:
С точки зрения проектирования я ожидал, что облачная функция (xyz) может истечь по истечении времени до завершения пакетной обработки. Я изучаю альтернативные варианты проектирования, чтобы гарантировать успешное выполнение задачи пакетной обработки, и меня особенно интересует запуск другой облачной функции (abc) после завершения пакетной обработки. Кроме того, в этом сценарии я ищу способ передать информацию, возвращаемую пакетным_процессом_документами, в abc.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Можно ли искать сходства в 3D-файлах с помощью искусственного интеллекта?
Anonymous » » в форуме Python - 0 Ответы
- 97 Просмотры
-
Последнее сообщение Anonymous
-