Использование искусственного интеллекта для пакетной обработки документов внутри облачной функции GooglePython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Использование искусственного интеллекта для пакетной обработки документов внутри облачной функции Google

Сообщение Anonymous »


У меня есть сценарий, в котором я загружаю локальный файл в корзину 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.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»