llama-cloud 0.1.41__py3-none-any.whl → 1.0.0b4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- llama_cloud/__init__.py +101 -816
- llama_cloud/_base_client.py +2124 -0
- llama_cloud/_client.py +795 -0
- llama_cloud/_compat.py +219 -0
- llama_cloud/_constants.py +14 -0
- llama_cloud/_exceptions.py +108 -0
- llama_cloud/_files.py +127 -0
- llama_cloud/_models.py +872 -0
- llama_cloud/_polling.py +182 -0
- llama_cloud/_qs.py +150 -0
- llama_cloud/_resource.py +43 -0
- llama_cloud/_response.py +832 -0
- llama_cloud/_streaming.py +333 -0
- llama_cloud/_types.py +270 -0
- llama_cloud/_utils/__init__.py +64 -0
- llama_cloud/_utils/_compat.py +45 -0
- llama_cloud/_utils/_datetime_parse.py +136 -0
- llama_cloud/_utils/_logs.py +25 -0
- llama_cloud/_utils/_proxy.py +65 -0
- llama_cloud/_utils/_reflection.py +42 -0
- llama_cloud/_utils/_resources_proxy.py +24 -0
- llama_cloud/_utils/_streams.py +12 -0
- llama_cloud/_utils/_sync.py +58 -0
- llama_cloud/_utils/_transform.py +457 -0
- llama_cloud/_utils/_typing.py +156 -0
- llama_cloud/_utils/_utils.py +421 -0
- llama_cloud/_version.py +4 -0
- llama_cloud/lib/__init__.py +0 -0
- llama_cloud/lib/index/__init__.py +13 -0
- llama_cloud/lib/index/api_utils.py +300 -0
- llama_cloud/lib/index/base.py +1041 -0
- llama_cloud/lib/index/composite_retriever.py +272 -0
- llama_cloud/lib/index/retriever.py +233 -0
- llama_cloud/pagination.py +465 -0
- llama_cloud/py.typed +0 -0
- llama_cloud/resources/__init__.py +136 -107
- llama_cloud/resources/beta/__init__.py +102 -1
- llama_cloud/resources/beta/agent_data.py +1041 -0
- llama_cloud/resources/beta/batch/__init__.py +33 -0
- llama_cloud/resources/beta/batch/batch.py +664 -0
- llama_cloud/resources/beta/batch/job_items.py +348 -0
- llama_cloud/resources/beta/beta.py +262 -0
- llama_cloud/resources/beta/directories/__init__.py +33 -0
- llama_cloud/resources/beta/directories/directories.py +719 -0
- llama_cloud/resources/beta/directories/files.py +913 -0
- llama_cloud/resources/beta/parse_configurations.py +743 -0
- llama_cloud/resources/beta/sheets.py +1130 -0
- llama_cloud/resources/beta/split.py +917 -0
- llama_cloud/resources/classifier/__init__.py +32 -1
- llama_cloud/resources/classifier/classifier.py +588 -0
- llama_cloud/resources/classifier/jobs.py +563 -0
- llama_cloud/resources/data_sinks.py +579 -0
- llama_cloud/resources/data_sources.py +651 -0
- llama_cloud/resources/extraction/__init__.py +61 -0
- llama_cloud/resources/extraction/extraction.py +609 -0
- llama_cloud/resources/extraction/extraction_agents/__init__.py +33 -0
- llama_cloud/resources/extraction/extraction_agents/extraction_agents.py +633 -0
- llama_cloud/resources/extraction/extraction_agents/schema.py +308 -0
- llama_cloud/resources/extraction/jobs.py +1106 -0
- llama_cloud/resources/extraction/runs.py +498 -0
- llama_cloud/resources/files.py +784 -0
- llama_cloud/resources/parsing.py +1296 -0
- llama_cloud/resources/pipelines/__init__.py +98 -24
- llama_cloud/resources/pipelines/data_sources.py +529 -0
- llama_cloud/resources/pipelines/documents.py +810 -0
- llama_cloud/resources/pipelines/files.py +682 -0
- llama_cloud/resources/pipelines/images.py +513 -0
- llama_cloud/resources/pipelines/metadata.py +265 -0
- llama_cloud/resources/pipelines/pipelines.py +1525 -0
- llama_cloud/resources/pipelines/sync.py +243 -0
- llama_cloud/resources/projects.py +276 -0
- llama_cloud/resources/retrievers/__init__.py +32 -1
- llama_cloud/resources/retrievers/retriever.py +238 -0
- llama_cloud/resources/retrievers/retrievers.py +920 -0
- llama_cloud/types/__init__.py +171 -721
- llama_cloud/types/advanced_mode_transform_config.py +102 -38
- llama_cloud/types/advanced_mode_transform_config_param.py +102 -0
- llama_cloud/types/auto_transform_config.py +11 -25
- llama_cloud/types/auto_transform_config_param.py +17 -0
- llama_cloud/types/azure_openai_embedding.py +62 -0
- llama_cloud/types/azure_openai_embedding_config.py +17 -0
- llama_cloud/types/azure_openai_embedding_config_param.py +17 -0
- llama_cloud/types/azure_openai_embedding_param.py +61 -0
- llama_cloud/types/b_box.py +37 -0
- llama_cloud/types/bedrock_embedding.py +49 -46
- llama_cloud/types/bedrock_embedding_config.py +10 -27
- llama_cloud/types/bedrock_embedding_config_param.py +17 -0
- llama_cloud/types/bedrock_embedding_param.py +48 -0
- llama_cloud/types/beta/__init__.py +59 -0
- llama_cloud/types/beta/agent_data.py +26 -0
- llama_cloud/types/beta/agent_data_agent_data_params.py +20 -0
- llama_cloud/types/beta/agent_data_aggregate_params.py +79 -0
- llama_cloud/types/beta/agent_data_aggregate_response.py +17 -0
- llama_cloud/types/beta/agent_data_delete_by_query_params.py +43 -0
- llama_cloud/types/beta/agent_data_delete_by_query_response.py +11 -0
- llama_cloud/types/beta/agent_data_delete_params.py +14 -0
- llama_cloud/types/beta/agent_data_delete_response.py +8 -0
- llama_cloud/types/beta/agent_data_get_params.py +14 -0
- llama_cloud/types/beta/agent_data_search_params.py +69 -0
- llama_cloud/types/beta/agent_data_update_params.py +16 -0
- llama_cloud/types/beta/batch/__init__.py +12 -0
- llama_cloud/types/beta/batch/job_item_get_processing_results_params.py +17 -0
- llama_cloud/types/beta/batch/job_item_get_processing_results_response.py +409 -0
- llama_cloud/types/beta/batch/job_item_list_params.py +23 -0
- llama_cloud/types/beta/batch/job_item_list_response.py +42 -0
- llama_cloud/types/beta/batch_cancel_params.py +21 -0
- llama_cloud/types/beta/batch_cancel_response.py +23 -0
- llama_cloud/types/beta/batch_create_params.py +399 -0
- llama_cloud/types/beta/batch_create_response.py +63 -0
- llama_cloud/types/beta/batch_get_status_params.py +14 -0
- llama_cloud/types/beta/batch_get_status_response.py +73 -0
- llama_cloud/types/beta/batch_list_params.py +29 -0
- llama_cloud/types/beta/batch_list_response.py +63 -0
- llama_cloud/types/beta/directories/__init__.py +15 -0
- llama_cloud/types/beta/directories/file_add_params.py +26 -0
- llama_cloud/types/beta/directories/file_add_response.py +42 -0
- llama_cloud/types/beta/directories/file_delete_params.py +16 -0
- llama_cloud/types/beta/directories/file_get_params.py +16 -0
- llama_cloud/types/beta/directories/file_get_response.py +42 -0
- llama_cloud/types/beta/directories/file_list_params.py +28 -0
- llama_cloud/types/beta/directories/file_list_response.py +42 -0
- llama_cloud/types/beta/directories/file_update_params.py +27 -0
- llama_cloud/types/beta/directories/file_update_response.py +42 -0
- llama_cloud/types/beta/directories/file_upload_params.py +24 -0
- llama_cloud/types/beta/directories/file_upload_response.py +42 -0
- llama_cloud/types/beta/directory_create_params.py +23 -0
- llama_cloud/types/beta/directory_create_response.py +36 -0
- llama_cloud/types/beta/directory_delete_params.py +14 -0
- llama_cloud/types/beta/directory_get_params.py +14 -0
- llama_cloud/types/beta/directory_get_response.py +36 -0
- llama_cloud/types/beta/directory_list_params.py +24 -0
- llama_cloud/types/beta/directory_list_response.py +36 -0
- llama_cloud/types/beta/directory_update_params.py +20 -0
- llama_cloud/types/beta/directory_update_response.py +36 -0
- llama_cloud/types/beta/parse_configuration.py +40 -0
- llama_cloud/types/beta/parse_configuration_create_params.py +34 -0
- llama_cloud/types/beta/parse_configuration_delete_params.py +14 -0
- llama_cloud/types/beta/parse_configuration_get_params.py +14 -0
- llama_cloud/types/beta/parse_configuration_list_params.py +24 -0
- llama_cloud/types/beta/parse_configuration_query_response.py +28 -0
- llama_cloud/types/beta/parse_configuration_update_params.py +22 -0
- llama_cloud/types/beta/sheet_create_params.py +22 -0
- llama_cloud/types/beta/sheet_delete_job_params.py +14 -0
- llama_cloud/types/beta/sheet_get_params.py +16 -0
- llama_cloud/types/beta/sheet_get_result_table_params.py +20 -0
- llama_cloud/types/beta/sheet_list_params.py +20 -0
- llama_cloud/types/beta/sheets_job.py +88 -0
- llama_cloud/types/beta/sheets_parsing_config.py +49 -0
- llama_cloud/types/beta/sheets_parsing_config_param.py +51 -0
- llama_cloud/types/beta/split_category.py +17 -0
- llama_cloud/types/beta/split_category_param.py +18 -0
- llama_cloud/types/beta/split_create_params.py +36 -0
- llama_cloud/types/beta/split_create_response.py +48 -0
- llama_cloud/types/beta/split_document_input.py +15 -0
- llama_cloud/types/beta/split_document_input_param.py +17 -0
- llama_cloud/types/beta/split_get_params.py +14 -0
- llama_cloud/types/beta/split_get_response.py +48 -0
- llama_cloud/types/beta/split_list_params.py +18 -0
- llama_cloud/types/beta/split_list_response.py +48 -0
- llama_cloud/types/beta/split_result_response.py +15 -0
- llama_cloud/types/beta/split_segment_response.py +20 -0
- llama_cloud/types/classifier/__init__.py +15 -0
- llama_cloud/types/classifier/classifier_rule.py +25 -0
- llama_cloud/types/classifier/classifier_rule_param.py +27 -0
- llama_cloud/types/classifier/classify_job.py +51 -0
- llama_cloud/types/classifier/classify_job_param.py +53 -0
- llama_cloud/types/classifier/classify_parsing_configuration.py +21 -0
- llama_cloud/types/classifier/classify_parsing_configuration_param.py +23 -0
- llama_cloud/types/classifier/job_create_params.py +30 -0
- llama_cloud/types/classifier/job_get_params.py +14 -0
- llama_cloud/types/classifier/job_get_results_params.py +14 -0
- llama_cloud/types/classifier/job_get_results_response.py +66 -0
- llama_cloud/types/classifier/job_list_params.py +18 -0
- llama_cloud/types/cohere_embedding.py +37 -40
- llama_cloud/types/cohere_embedding_config.py +10 -27
- llama_cloud/types/cohere_embedding_config_param.py +17 -0
- llama_cloud/types/cohere_embedding_param.py +36 -0
- llama_cloud/types/composite_retrieval_mode.py +4 -18
- llama_cloud/types/composite_retrieval_result.py +52 -37
- llama_cloud/types/data_sink.py +46 -39
- llama_cloud/types/data_sink_create_param.py +41 -0
- llama_cloud/types/data_sink_create_params.py +44 -0
- llama_cloud/types/data_sink_list_params.py +14 -0
- llama_cloud/types/data_sink_list_response.py +10 -0
- llama_cloud/types/data_sink_update_params.py +40 -0
- llama_cloud/types/data_source.py +67 -39
- llama_cloud/types/data_source_create_params.py +65 -0
- llama_cloud/types/data_source_list_params.py +14 -0
- llama_cloud/types/data_source_list_response.py +10 -0
- llama_cloud/types/data_source_reader_version_metadata.py +8 -27
- llama_cloud/types/data_source_update_params.py +61 -0
- llama_cloud/types/extraction/__init__.py +25 -0
- llama_cloud/types/extraction/extract_agent.py +41 -0
- llama_cloud/types/extraction/extract_config.py +118 -0
- llama_cloud/types/extraction/extract_config_param.py +118 -0
- llama_cloud/types/extraction/extract_job.py +32 -0
- llama_cloud/types/extraction/extract_run.py +64 -0
- llama_cloud/types/extraction/extraction_agent_create_params.py +25 -0
- llama_cloud/types/extraction/extraction_agent_list_params.py +17 -0
- llama_cloud/types/extraction/extraction_agent_list_response.py +10 -0
- llama_cloud/types/extraction/extraction_agent_update_params.py +18 -0
- llama_cloud/types/extraction/extraction_agents/__init__.py +8 -0
- llama_cloud/types/extraction/extraction_agents/schema_generate_schema_params.py +23 -0
- llama_cloud/types/extraction/extraction_agents/schema_generate_schema_response.py +14 -0
- llama_cloud/types/extraction/extraction_agents/schema_validate_schema_params.py +12 -0
- llama_cloud/types/extraction/extraction_agents/schema_validate_schema_response.py +13 -0
- llama_cloud/types/extraction/job_create_params.py +38 -0
- llama_cloud/types/extraction/job_file_params.py +29 -0
- llama_cloud/types/extraction/job_get_result_params.py +14 -0
- llama_cloud/types/extraction/job_get_result_response.py +27 -0
- llama_cloud/types/extraction/job_list_params.py +11 -0
- llama_cloud/types/extraction/job_list_response.py +10 -0
- llama_cloud/types/extraction/run_delete_params.py +14 -0
- llama_cloud/types/extraction/run_get_by_job_params.py +14 -0
- llama_cloud/types/extraction/run_get_params.py +14 -0
- llama_cloud/types/extraction/run_list_params.py +15 -0
- llama_cloud/types/extraction/webhook_configuration.py +43 -0
- llama_cloud/types/extraction/webhook_configuration_param.py +43 -0
- llama_cloud/types/extraction_run_params.py +45 -0
- llama_cloud/types/fail_page_mode.py +4 -26
- llama_cloud/types/file.py +48 -40
- llama_cloud/types/file_create_params.py +28 -0
- llama_cloud/types/file_create_response.py +38 -0
- llama_cloud/types/file_delete_params.py +14 -0
- llama_cloud/types/file_get_params.py +16 -0
- llama_cloud/types/file_list_params.py +40 -0
- llama_cloud/types/file_list_response.py +38 -0
- llama_cloud/types/file_query_params.py +61 -0
- llama_cloud/types/file_query_response.py +47 -27
- llama_cloud/types/gemini_embedding.py +40 -39
- llama_cloud/types/gemini_embedding_config.py +10 -27
- llama_cloud/types/gemini_embedding_config_param.py +17 -0
- llama_cloud/types/gemini_embedding_param.py +39 -0
- llama_cloud/types/hugging_face_inference_api_embedding.py +62 -46
- llama_cloud/types/hugging_face_inference_api_embedding_config.py +11 -28
- llama_cloud/types/hugging_face_inference_api_embedding_config_param.py +17 -0
- llama_cloud/types/hugging_face_inference_api_embedding_param.py +60 -0
- llama_cloud/types/list_item.py +48 -0
- llama_cloud/types/llama_parse_parameters.py +251 -130
- llama_cloud/types/llama_parse_parameters_param.py +261 -0
- llama_cloud/types/llama_parse_supported_file_extensions.py +84 -310
- llama_cloud/types/managed_ingestion_status_response.py +39 -37
- llama_cloud/types/message_role.py +4 -46
- llama_cloud/types/metadata_filters.py +45 -29
- llama_cloud/types/metadata_filters_param.py +58 -0
- llama_cloud/types/openai_embedding.py +56 -0
- llama_cloud/types/openai_embedding_config.py +17 -0
- llama_cloud/types/openai_embedding_config_param.py +17 -0
- llama_cloud/types/openai_embedding_param.py +55 -0
- llama_cloud/types/page_figure_node_with_score.py +32 -29
- llama_cloud/types/page_screenshot_node_with_score.py +23 -29
- llama_cloud/types/parsing_create_params.py +586 -0
- llama_cloud/types/parsing_create_response.py +33 -0
- llama_cloud/types/parsing_get_params.py +27 -0
- llama_cloud/types/parsing_get_response.py +364 -0
- llama_cloud/types/parsing_languages.py +94 -0
- llama_cloud/types/parsing_list_params.py +23 -0
- llama_cloud/types/parsing_list_response.py +33 -0
- llama_cloud/types/parsing_mode.py +13 -46
- llama_cloud/types/parsing_upload_file_params.py +14 -0
- llama_cloud/types/parsing_upload_file_response.py +33 -0
- llama_cloud/types/pipeline.py +180 -62
- llama_cloud/types/pipeline_create_params.py +95 -0
- llama_cloud/types/pipeline_get_status_params.py +12 -0
- llama_cloud/types/pipeline_list_params.py +23 -0
- llama_cloud/types/pipeline_list_response.py +12 -0
- llama_cloud/types/pipeline_metadata_config.py +9 -30
- llama_cloud/types/pipeline_metadata_config_param.py +17 -0
- llama_cloud/types/pipeline_retrieve_params.py +74 -0
- llama_cloud/types/pipeline_retrieve_response.py +63 -0
- llama_cloud/types/pipeline_type.py +4 -18
- llama_cloud/types/pipeline_update_params.py +90 -0
- llama_cloud/types/pipeline_upsert_params.py +95 -0
- llama_cloud/types/pipelines/__init__.py +38 -0
- llama_cloud/types/pipelines/cloud_document.py +29 -0
- llama_cloud/types/pipelines/cloud_document_create_param.py +30 -0
- llama_cloud/types/pipelines/data_source_get_data_sources_response.py +10 -0
- llama_cloud/types/pipelines/data_source_sync_params.py +16 -0
- llama_cloud/types/pipelines/data_source_update_data_sources_params.py +25 -0
- llama_cloud/types/pipelines/data_source_update_data_sources_response.py +10 -0
- llama_cloud/types/pipelines/data_source_update_params.py +15 -0
- llama_cloud/types/pipelines/document_create_params.py +14 -0
- llama_cloud/types/pipelines/document_create_response.py +10 -0
- llama_cloud/types/pipelines/document_get_chunks_response.py +10 -0
- llama_cloud/types/pipelines/document_list_params.py +22 -0
- llama_cloud/types/pipelines/document_upsert_params.py +14 -0
- llama_cloud/types/pipelines/document_upsert_response.py +10 -0
- llama_cloud/types/pipelines/file_create_params.py +22 -0
- llama_cloud/types/pipelines/file_create_response.py +10 -0
- llama_cloud/types/pipelines/file_get_status_counts_params.py +14 -0
- llama_cloud/types/pipelines/file_get_status_counts_response.py +24 -0
- llama_cloud/types/pipelines/file_list_params.py +22 -0
- llama_cloud/types/pipelines/file_update_params.py +15 -0
- llama_cloud/types/pipelines/image_get_page_figure_params.py +18 -0
- llama_cloud/types/pipelines/image_get_page_screenshot_params.py +16 -0
- llama_cloud/types/pipelines/image_list_page_figures_params.py +14 -0
- llama_cloud/types/pipelines/image_list_page_figures_response.py +34 -0
- llama_cloud/types/pipelines/image_list_page_screenshots_params.py +14 -0
- llama_cloud/types/pipelines/image_list_page_screenshots_response.py +25 -0
- llama_cloud/types/pipelines/metadata_create_params.py +13 -0
- llama_cloud/types/pipelines/metadata_create_response.py +8 -0
- llama_cloud/types/pipelines/pipeline_data_source.py +96 -0
- llama_cloud/types/pipelines/pipeline_file.py +70 -0
- llama_cloud/types/pipelines/text_node.py +89 -0
- llama_cloud/types/preset_retrieval_params.py +61 -49
- llama_cloud/types/preset_retrieval_params_param.py +71 -0
- llama_cloud/types/presigned_url.py +13 -29
- llama_cloud/types/project.py +24 -36
- llama_cloud/types/project_get_params.py +12 -0
- llama_cloud/types/project_list_params.py +14 -0
- llama_cloud/types/project_list_response.py +10 -0
- llama_cloud/types/re_rank_config_param.py +18 -0
- llama_cloud/types/retrieval_mode.py +4 -26
- llama_cloud/types/retriever.py +31 -38
- llama_cloud/types/retriever_create_params.py +26 -0
- llama_cloud/types/retriever_get_params.py +14 -0
- llama_cloud/types/retriever_list_params.py +16 -0
- llama_cloud/types/retriever_list_response.py +12 -0
- llama_cloud/types/retriever_pipeline.py +26 -34
- llama_cloud/types/retriever_pipeline_param.py +28 -0
- llama_cloud/types/retriever_search_params.py +38 -0
- llama_cloud/types/retriever_update_params.py +19 -0
- llama_cloud/types/retriever_upsert_params.py +26 -0
- llama_cloud/types/retrievers/__init__.py +5 -0
- llama_cloud/types/retrievers/retriever_search_params.py +32 -0
- llama_cloud/types/shared/__init__.py +21 -0
- llama_cloud/types/shared/cloud_astra_db_vector_store.py +39 -0
- llama_cloud/types/shared/cloud_az_storage_blob_data_source.py +34 -0
- llama_cloud/types/shared/cloud_azure_ai_search_vector_store.py +30 -0
- llama_cloud/types/shared/cloud_box_data_source.py +31 -0
- llama_cloud/types/shared/cloud_confluence_data_source.py +53 -0
- llama_cloud/types/shared/cloud_jira_data_source.py +30 -0
- llama_cloud/types/shared/cloud_jira_data_source_v2.py +49 -0
- llama_cloud/types/shared/cloud_milvus_vector_store.py +21 -0
- llama_cloud/types/shared/cloud_mongodb_atlas_vector_search.py +36 -0
- llama_cloud/types/shared/cloud_notion_page_data_source.py +19 -0
- llama_cloud/types/shared/cloud_one_drive_data_source.py +32 -0
- llama_cloud/types/shared/cloud_pinecone_vector_store.py +32 -0
- llama_cloud/types/shared/cloud_postgres_vector_store.py +35 -0
- llama_cloud/types/shared/cloud_qdrant_vector_store.py +35 -0
- llama_cloud/types/shared/cloud_s3_data_source.py +28 -0
- llama_cloud/types/shared/cloud_sharepoint_data_source.py +55 -0
- llama_cloud/types/shared/cloud_slack_data_source.py +31 -0
- llama_cloud/types/shared/failure_handling_config.py +16 -0
- llama_cloud/types/shared/pg_vector_hnsw_settings.py +27 -0
- llama_cloud/types/shared_params/__init__.py +21 -0
- llama_cloud/types/shared_params/cloud_astra_db_vector_store.py +42 -0
- llama_cloud/types/shared_params/cloud_az_storage_blob_data_source.py +41 -0
- llama_cloud/types/shared_params/cloud_azure_ai_search_vector_store.py +34 -0
- llama_cloud/types/shared_params/cloud_box_data_source.py +40 -0
- llama_cloud/types/shared_params/cloud_confluence_data_source.py +58 -0
- llama_cloud/types/shared_params/cloud_jira_data_source.py +34 -0
- llama_cloud/types/shared_params/cloud_jira_data_source_v2.py +54 -0
- llama_cloud/types/shared_params/cloud_milvus_vector_store.py +24 -0
- llama_cloud/types/shared_params/cloud_mongodb_atlas_vector_search.py +39 -0
- llama_cloud/types/shared_params/cloud_notion_page_data_source.py +23 -0
- llama_cloud/types/shared_params/cloud_one_drive_data_source.py +37 -0
- llama_cloud/types/shared_params/cloud_pinecone_vector_store.py +35 -0
- llama_cloud/types/shared_params/cloud_postgres_vector_store.py +39 -0
- llama_cloud/types/shared_params/cloud_qdrant_vector_store.py +37 -0
- llama_cloud/types/shared_params/cloud_s3_data_source.py +32 -0
- llama_cloud/types/shared_params/cloud_sharepoint_data_source.py +60 -0
- llama_cloud/types/shared_params/cloud_slack_data_source.py +35 -0
- llama_cloud/types/shared_params/failure_handling_config.py +16 -0
- llama_cloud/types/shared_params/pg_vector_hnsw_settings.py +26 -0
- llama_cloud/types/sparse_model_config.py +16 -30
- llama_cloud/types/sparse_model_config_param.py +25 -0
- llama_cloud/types/status_enum.py +4 -34
- llama_cloud/types/vertex_ai_embedding_config.py +10 -27
- llama_cloud/types/vertex_ai_embedding_config_param.py +17 -0
- llama_cloud/types/vertex_text_embedding.py +47 -45
- llama_cloud/types/vertex_text_embedding_param.py +45 -0
- llama_cloud-1.0.0b4.dist-info/METADATA +546 -0
- llama_cloud-1.0.0b4.dist-info/RECORD +376 -0
- {llama_cloud-0.1.41.dist-info → llama_cloud-1.0.0b4.dist-info}/WHEEL +1 -1
- llama_cloud-1.0.0b4.dist-info/licenses/LICENSE +7 -0
- llama_cloud/client.py +0 -108
- llama_cloud/core/__init__.py +0 -17
- llama_cloud/core/api_error.py +0 -15
- llama_cloud/core/client_wrapper.py +0 -51
- llama_cloud/core/datetime_utils.py +0 -28
- llama_cloud/core/jsonable_encoder.py +0 -106
- llama_cloud/core/remove_none_from_dict.py +0 -11
- llama_cloud/environment.py +0 -7
- llama_cloud/errors/__init__.py +0 -5
- llama_cloud/errors/unprocessable_entity_error.py +0 -9
- llama_cloud/resources/admin/__init__.py +0 -2
- llama_cloud/resources/admin/client.py +0 -196
- llama_cloud/resources/agent_deployments/__init__.py +0 -2
- llama_cloud/resources/agent_deployments/client.py +0 -160
- llama_cloud/resources/alpha/__init__.py +0 -2
- llama_cloud/resources/alpha/client.py +0 -112
- llama_cloud/resources/beta/client.py +0 -2664
- llama_cloud/resources/chat_apps/__init__.py +0 -2
- llama_cloud/resources/chat_apps/client.py +0 -616
- llama_cloud/resources/classifier/client.py +0 -444
- llama_cloud/resources/data_sinks/__init__.py +0 -5
- llama_cloud/resources/data_sinks/client.py +0 -535
- llama_cloud/resources/data_sinks/types/__init__.py +0 -5
- llama_cloud/resources/data_sinks/types/data_sink_update_component.py +0 -22
- llama_cloud/resources/data_sources/__init__.py +0 -5
- llama_cloud/resources/data_sources/client.py +0 -548
- llama_cloud/resources/data_sources/types/__init__.py +0 -6
- llama_cloud/resources/data_sources/types/data_source_update_component.py +0 -28
- llama_cloud/resources/data_sources/types/data_source_update_custom_metadata_value.py +0 -7
- llama_cloud/resources/embedding_model_configs/__init__.py +0 -23
- llama_cloud/resources/embedding_model_configs/client.py +0 -420
- llama_cloud/resources/embedding_model_configs/types/__init__.py +0 -23
- llama_cloud/resources/embedding_model_configs/types/embedding_model_config_create_embedding_config.py +0 -89
- llama_cloud/resources/evals/__init__.py +0 -2
- llama_cloud/resources/evals/client.py +0 -85
- llama_cloud/resources/files/__init__.py +0 -5
- llama_cloud/resources/files/client.py +0 -1454
- llama_cloud/resources/files/types/__init__.py +0 -5
- llama_cloud/resources/files/types/file_create_from_url_resource_info_value.py +0 -7
- llama_cloud/resources/jobs/__init__.py +0 -2
- llama_cloud/resources/jobs/client.py +0 -164
- llama_cloud/resources/llama_extract/__init__.py +0 -27
- llama_cloud/resources/llama_extract/client.py +0 -2082
- llama_cloud/resources/llama_extract/types/__init__.py +0 -25
- llama_cloud/resources/llama_extract/types/extract_agent_create_data_schema.py +0 -9
- llama_cloud/resources/llama_extract/types/extract_agent_create_data_schema_zero_value.py +0 -7
- llama_cloud/resources/llama_extract/types/extract_agent_update_data_schema.py +0 -9
- llama_cloud/resources/llama_extract/types/extract_agent_update_data_schema_zero_value.py +0 -7
- llama_cloud/resources/llama_extract/types/extract_job_create_batch_data_schema_override.py +0 -9
- llama_cloud/resources/llama_extract/types/extract_job_create_batch_data_schema_override_zero_value.py +0 -7
- llama_cloud/resources/llama_extract/types/extract_schema_validate_request_data_schema.py +0 -9
- llama_cloud/resources/llama_extract/types/extract_schema_validate_request_data_schema_zero_value.py +0 -7
- llama_cloud/resources/llama_extract/types/extract_stateless_request_data_schema.py +0 -9
- llama_cloud/resources/llama_extract/types/extract_stateless_request_data_schema_zero_value.py +0 -7
- llama_cloud/resources/organizations/__init__.py +0 -2
- llama_cloud/resources/organizations/client.py +0 -1448
- llama_cloud/resources/parsing/__init__.py +0 -2
- llama_cloud/resources/parsing/client.py +0 -2392
- llama_cloud/resources/pipelines/client.py +0 -3436
- llama_cloud/resources/pipelines/types/__init__.py +0 -29
- llama_cloud/resources/pipelines/types/pipeline_file_update_custom_metadata_value.py +0 -7
- llama_cloud/resources/pipelines/types/pipeline_update_embedding_config.py +0 -89
- llama_cloud/resources/pipelines/types/pipeline_update_transform_config.py +0 -8
- llama_cloud/resources/pipelines/types/retrieval_params_search_filters_inference_schema_value.py +0 -7
- llama_cloud/resources/projects/__init__.py +0 -2
- llama_cloud/resources/projects/client.py +0 -636
- llama_cloud/resources/retrievers/client.py +0 -837
- llama_cloud/resources/users/__init__.py +0 -2
- llama_cloud/resources/users/client.py +0 -155
- llama_cloud/types/advanced_mode_transform_config_chunking_config.py +0 -67
- llama_cloud/types/advanced_mode_transform_config_segmentation_config.py +0 -45
- llama_cloud/types/agent_data.py +0 -40
- llama_cloud/types/agent_deployment_list.py +0 -32
- llama_cloud/types/agent_deployment_summary.py +0 -39
- llama_cloud/types/aggregate_group.py +0 -37
- llama_cloud/types/azure_open_ai_embedding.py +0 -49
- llama_cloud/types/azure_open_ai_embedding_config.py +0 -34
- llama_cloud/types/base_plan.py +0 -53
- llama_cloud/types/base_plan_metronome_plan_type.py +0 -17
- llama_cloud/types/base_plan_name.py +0 -57
- llama_cloud/types/base_plan_plan_frequency.py +0 -25
- llama_cloud/types/batch.py +0 -47
- llama_cloud/types/batch_item.py +0 -40
- llama_cloud/types/batch_paginated_list.py +0 -35
- llama_cloud/types/batch_public_output.py +0 -36
- llama_cloud/types/billing_period.py +0 -32
- llama_cloud/types/box_auth_mechanism.py +0 -17
- llama_cloud/types/character_chunking_config.py +0 -32
- llama_cloud/types/chat_app.py +0 -46
- llama_cloud/types/chat_app_response.py +0 -43
- llama_cloud/types/chat_data.py +0 -35
- llama_cloud/types/chat_message.py +0 -43
- llama_cloud/types/chunk_mode.py +0 -29
- llama_cloud/types/classification_result.py +0 -39
- llama_cloud/types/classifier_rule.py +0 -43
- llama_cloud/types/classify_job.py +0 -47
- llama_cloud/types/classify_job_results.py +0 -38
- llama_cloud/types/classify_parsing_configuration.py +0 -38
- llama_cloud/types/cloud_astra_db_vector_store.py +0 -51
- llama_cloud/types/cloud_az_storage_blob_data_source.py +0 -41
- llama_cloud/types/cloud_azure_ai_search_vector_store.py +0 -45
- llama_cloud/types/cloud_box_data_source.py +0 -42
- llama_cloud/types/cloud_confluence_data_source.py +0 -59
- llama_cloud/types/cloud_document.py +0 -40
- llama_cloud/types/cloud_document_create.py +0 -40
- llama_cloud/types/cloud_jira_data_source.py +0 -42
- llama_cloud/types/cloud_jira_data_source_v_2.py +0 -52
- llama_cloud/types/cloud_jira_data_source_v_2_api_version.py +0 -21
- llama_cloud/types/cloud_milvus_vector_store.py +0 -40
- llama_cloud/types/cloud_mongo_db_atlas_vector_search.py +0 -52
- llama_cloud/types/cloud_notion_page_data_source.py +0 -35
- llama_cloud/types/cloud_one_drive_data_source.py +0 -39
- llama_cloud/types/cloud_pinecone_vector_store.py +0 -49
- llama_cloud/types/cloud_postgres_vector_store.py +0 -44
- llama_cloud/types/cloud_qdrant_vector_store.py +0 -51
- llama_cloud/types/cloud_s_3_data_source.py +0 -39
- llama_cloud/types/cloud_sharepoint_data_source.py +0 -42
- llama_cloud/types/cloud_slack_data_source.py +0 -39
- llama_cloud/types/composite_retrieved_text_node.py +0 -42
- llama_cloud/types/composite_retrieved_text_node_with_score.py +0 -34
- llama_cloud/types/configurable_data_sink_names.py +0 -41
- llama_cloud/types/configurable_data_source_names.py +0 -57
- llama_cloud/types/credit_type.py +0 -32
- llama_cloud/types/data_sink_component.py +0 -22
- llama_cloud/types/data_sink_create.py +0 -39
- llama_cloud/types/data_sink_create_component.py +0 -22
- llama_cloud/types/data_source_component.py +0 -28
- llama_cloud/types/data_source_create.py +0 -41
- llama_cloud/types/data_source_create_component.py +0 -28
- llama_cloud/types/data_source_create_custom_metadata_value.py +0 -7
- llama_cloud/types/data_source_custom_metadata_value.py +0 -7
- llama_cloud/types/data_source_reader_version_metadata_reader_version.py +0 -25
- llama_cloud/types/data_source_update_dispatcher_config.py +0 -38
- llama_cloud/types/delete_params.py +0 -39
- llama_cloud/types/document_chunk_mode.py +0 -17
- llama_cloud/types/document_ingestion_job_params.py +0 -43
- llama_cloud/types/element_segmentation_config.py +0 -29
- llama_cloud/types/embedding_model_config.py +0 -43
- llama_cloud/types/embedding_model_config_embedding_config.py +0 -89
- llama_cloud/types/embedding_model_config_update.py +0 -33
- llama_cloud/types/embedding_model_config_update_embedding_config.py +0 -89
- llama_cloud/types/eval_execution_params.py +0 -41
- llama_cloud/types/extract_agent.py +0 -48
- llama_cloud/types/extract_agent_data_schema_value.py +0 -5
- llama_cloud/types/extract_config.py +0 -66
- llama_cloud/types/extract_config_priority.py +0 -29
- llama_cloud/types/extract_job.py +0 -38
- llama_cloud/types/extract_job_create.py +0 -46
- llama_cloud/types/extract_job_create_data_schema_override.py +0 -9
- llama_cloud/types/extract_job_create_data_schema_override_zero_value.py +0 -7
- llama_cloud/types/extract_job_create_priority.py +0 -29
- llama_cloud/types/extract_mode.py +0 -29
- llama_cloud/types/extract_models.py +0 -53
- llama_cloud/types/extract_resultset.py +0 -42
- llama_cloud/types/extract_resultset_data.py +0 -11
- llama_cloud/types/extract_resultset_data_item_value.py +0 -7
- llama_cloud/types/extract_resultset_data_zero_value.py +0 -7
- llama_cloud/types/extract_resultset_extraction_metadata_value.py +0 -7
- llama_cloud/types/extract_run.py +0 -55
- llama_cloud/types/extract_run_data.py +0 -11
- llama_cloud/types/extract_run_data_item_value.py +0 -5
- llama_cloud/types/extract_run_data_schema_value.py +0 -5
- llama_cloud/types/extract_run_data_zero_value.py +0 -5
- llama_cloud/types/extract_run_extraction_metadata_value.py +0 -7
- llama_cloud/types/extract_schema_generate_response.py +0 -38
- llama_cloud/types/extract_schema_generate_response_data_schema_value.py +0 -7
- llama_cloud/types/extract_schema_validate_response.py +0 -32
- llama_cloud/types/extract_schema_validate_response_data_schema_value.py +0 -7
- llama_cloud/types/extract_state.py +0 -29
- llama_cloud/types/extract_target.py +0 -17
- llama_cloud/types/failure_handling_config.py +0 -37
- llama_cloud/types/file_classification.py +0 -41
- llama_cloud/types/file_count_by_status_response.py +0 -37
- llama_cloud/types/file_create.py +0 -41
- llama_cloud/types/file_create_permission_info_value.py +0 -7
- llama_cloud/types/file_create_resource_info_value.py +0 -5
- llama_cloud/types/file_data.py +0 -36
- llama_cloud/types/file_filter.py +0 -40
- llama_cloud/types/file_id_presigned_url.py +0 -38
- llama_cloud/types/file_parse_public.py +0 -36
- llama_cloud/types/file_permission_info_value.py +0 -5
- llama_cloud/types/file_resource_info_value.py +0 -5
- llama_cloud/types/file_store_info_response.py +0 -34
- llama_cloud/types/file_store_info_response_status.py +0 -25
- llama_cloud/types/filter_condition.py +0 -29
- llama_cloud/types/filter_operation.py +0 -46
- llama_cloud/types/filter_operation_eq.py +0 -6
- llama_cloud/types/filter_operation_gt.py +0 -6
- llama_cloud/types/filter_operation_gte.py +0 -6
- llama_cloud/types/filter_operation_includes_item.py +0 -6
- llama_cloud/types/filter_operation_lt.py +0 -6
- llama_cloud/types/filter_operation_lte.py +0 -6
- llama_cloud/types/filter_operator.py +0 -73
- llama_cloud/types/free_credits_usage.py +0 -34
- llama_cloud/types/http_validation_error.py +0 -32
- llama_cloud/types/hugging_face_inference_api_embedding_token.py +0 -5
- llama_cloud/types/ingestion_error_response.py +0 -34
- llama_cloud/types/input_message.py +0 -40
- llama_cloud/types/job_name_mapping.py +0 -49
- llama_cloud/types/job_names.py +0 -81
- llama_cloud/types/job_record.py +0 -58
- llama_cloud/types/job_record_parameters.py +0 -111
- llama_cloud/types/job_record_with_usage_metrics.py +0 -36
- llama_cloud/types/l_lama_parse_transform_config.py +0 -37
- llama_cloud/types/legacy_parse_job_config.py +0 -207
- llama_cloud/types/license_info_response.py +0 -34
- llama_cloud/types/llama_extract_feature_availability.py +0 -34
- llama_cloud/types/llama_extract_mode_availability.py +0 -38
- llama_cloud/types/llama_extract_mode_availability_status.py +0 -17
- llama_cloud/types/llama_extract_settings.py +0 -67
- llama_cloud/types/llama_parse_parameters_priority.py +0 -29
- llama_cloud/types/llm_model_data.py +0 -38
- llama_cloud/types/llm_parameters.py +0 -39
- llama_cloud/types/load_files_job_config.py +0 -35
- llama_cloud/types/managed_ingestion_status.py +0 -41
- llama_cloud/types/managed_open_ai_embedding.py +0 -36
- llama_cloud/types/managed_open_ai_embedding_config.py +0 -34
- llama_cloud/types/message_annotation.py +0 -33
- llama_cloud/types/metadata_filter.py +0 -44
- llama_cloud/types/metadata_filter_value.py +0 -5
- llama_cloud/types/metadata_filters_filters_item.py +0 -8
- llama_cloud/types/multimodal_parse_resolution.py +0 -17
- llama_cloud/types/node_relationship.py +0 -44
- llama_cloud/types/none_chunking_config.py +0 -29
- llama_cloud/types/none_segmentation_config.py +0 -29
- llama_cloud/types/object_type.py +0 -33
- llama_cloud/types/open_ai_embedding.py +0 -47
- llama_cloud/types/open_ai_embedding_config.py +0 -34
- llama_cloud/types/organization.py +0 -43
- llama_cloud/types/organization_create.py +0 -35
- llama_cloud/types/page_figure_metadata.py +0 -37
- llama_cloud/types/page_screenshot_metadata.py +0 -34
- llama_cloud/types/page_segmentation_config.py +0 -31
- llama_cloud/types/paginated_extract_runs_response.py +0 -39
- llama_cloud/types/paginated_jobs_history_with_metrics.py +0 -35
- llama_cloud/types/paginated_list_cloud_documents_response.py +0 -35
- llama_cloud/types/paginated_list_pipeline_files_response.py +0 -35
- llama_cloud/types/paginated_response_agent_data.py +0 -34
- llama_cloud/types/paginated_response_aggregate_group.py +0 -34
- llama_cloud/types/paginated_response_classify_job.py +0 -34
- llama_cloud/types/paginated_response_quota_configuration.py +0 -36
- llama_cloud/types/parse_configuration.py +0 -44
- llama_cloud/types/parse_configuration_create.py +0 -41
- llama_cloud/types/parse_configuration_filter.py +0 -40
- llama_cloud/types/parse_configuration_query_response.py +0 -38
- llama_cloud/types/parse_job_config.py +0 -149
- llama_cloud/types/parse_job_config_priority.py +0 -29
- llama_cloud/types/parse_plan_level.py +0 -21
- llama_cloud/types/parser_languages.py +0 -361
- llama_cloud/types/parsing_history_item.py +0 -39
- llama_cloud/types/parsing_job.py +0 -35
- llama_cloud/types/parsing_job_json_result.py +0 -32
- llama_cloud/types/parsing_job_markdown_result.py +0 -32
- llama_cloud/types/parsing_job_structured_result.py +0 -32
- llama_cloud/types/parsing_job_text_result.py +0 -32
- llama_cloud/types/partition_names.py +0 -45
- llama_cloud/types/permission.py +0 -40
- llama_cloud/types/pg_vector_distance_method.py +0 -43
- llama_cloud/types/pg_vector_hnsw_settings.py +0 -45
- llama_cloud/types/pg_vector_vector_type.py +0 -35
- llama_cloud/types/pipeline_configuration_hashes.py +0 -37
- llama_cloud/types/pipeline_create.py +0 -65
- llama_cloud/types/pipeline_create_embedding_config.py +0 -89
- llama_cloud/types/pipeline_create_transform_config.py +0 -8
- llama_cloud/types/pipeline_data_source.py +0 -55
- llama_cloud/types/pipeline_data_source_component.py +0 -28
- llama_cloud/types/pipeline_data_source_create.py +0 -36
- llama_cloud/types/pipeline_data_source_custom_metadata_value.py +0 -7
- llama_cloud/types/pipeline_data_source_status.py +0 -33
- llama_cloud/types/pipeline_deployment.py +0 -37
- llama_cloud/types/pipeline_embedding_config.py +0 -100
- llama_cloud/types/pipeline_file.py +0 -58
- llama_cloud/types/pipeline_file_config_hash_value.py +0 -5
- llama_cloud/types/pipeline_file_create.py +0 -37
- llama_cloud/types/pipeline_file_create_custom_metadata_value.py +0 -7
- llama_cloud/types/pipeline_file_custom_metadata_value.py +0 -7
- llama_cloud/types/pipeline_file_permission_info_value.py +0 -7
- llama_cloud/types/pipeline_file_resource_info_value.py +0 -7
- llama_cloud/types/pipeline_file_status.py +0 -33
- llama_cloud/types/pipeline_file_update_dispatcher_config.py +0 -38
- llama_cloud/types/pipeline_file_updater_config.py +0 -44
- llama_cloud/types/pipeline_managed_ingestion_job_params.py +0 -37
- llama_cloud/types/pipeline_status.py +0 -17
- llama_cloud/types/pipeline_transform_config.py +0 -31
- llama_cloud/types/plan_limits.py +0 -53
- llama_cloud/types/playground_session.py +0 -51
- llama_cloud/types/pooling.py +0 -29
- llama_cloud/types/preset_composite_retrieval_params.py +0 -37
- llama_cloud/types/preset_retrieval_params_search_filters_inference_schema_value.py +0 -7
- llama_cloud/types/project_create.py +0 -35
- llama_cloud/types/prompt_conf.py +0 -38
- llama_cloud/types/public_model_name.py +0 -97
- llama_cloud/types/quota_configuration.py +0 -53
- llama_cloud/types/quota_configuration_configuration_type.py +0 -33
- llama_cloud/types/quota_configuration_status.py +0 -21
- llama_cloud/types/quota_rate_limit_configuration_value.py +0 -38
- llama_cloud/types/quota_rate_limit_configuration_value_denominator_units.py +0 -29
- llama_cloud/types/re_rank_config.py +0 -35
- llama_cloud/types/re_ranker_type.py +0 -41
- llama_cloud/types/recurring_credit_grant.py +0 -44
- llama_cloud/types/related_node_info.py +0 -36
- llama_cloud/types/related_node_info_node_type.py +0 -7
- llama_cloud/types/retrieve_results.py +0 -56
- llama_cloud/types/retriever_create.py +0 -37
- llama_cloud/types/role.py +0 -40
- llama_cloud/types/schema_generation_availability.py +0 -33
- llama_cloud/types/schema_generation_availability_status.py +0 -17
- llama_cloud/types/schema_relax_mode.py +0 -25
- llama_cloud/types/semantic_chunking_config.py +0 -32
- llama_cloud/types/sentence_chunking_config.py +0 -34
- llama_cloud/types/sparse_model_type.py +0 -33
- llama_cloud/types/struct_mode.py +0 -33
- llama_cloud/types/struct_parse_conf.py +0 -63
- llama_cloud/types/supported_llm_model.py +0 -40
- llama_cloud/types/supported_llm_model_names.py +0 -69
- llama_cloud/types/text_node.py +0 -67
- llama_cloud/types/text_node_relationships_value.py +0 -7
- llama_cloud/types/text_node_with_score.py +0 -39
- llama_cloud/types/token_chunking_config.py +0 -33
- llama_cloud/types/update_user_response.py +0 -33
- llama_cloud/types/usage_and_plan.py +0 -34
- llama_cloud/types/usage_metric_response.py +0 -34
- llama_cloud/types/usage_response.py +0 -43
- llama_cloud/types/usage_response_active_alerts_item.py +0 -37
- llama_cloud/types/user_job_record.py +0 -32
- llama_cloud/types/user_organization.py +0 -47
- llama_cloud/types/user_organization_create.py +0 -38
- llama_cloud/types/user_organization_delete.py +0 -37
- llama_cloud/types/user_organization_role.py +0 -42
- llama_cloud/types/user_summary.py +0 -38
- llama_cloud/types/validation_error.py +0 -34
- llama_cloud/types/validation_error_loc_item.py +0 -5
- llama_cloud/types/vertex_embedding_mode.py +0 -38
- llama_cloud/types/webhook_configuration.py +0 -39
- llama_cloud/types/webhook_configuration_webhook_events_item.py +0 -57
- llama_cloud-0.1.41.dist-info/LICENSE +0 -21
- llama_cloud-0.1.41.dist-info/METADATA +0 -106
- llama_cloud-0.1.41.dist-info/RECORD +0 -385
|
@@ -0,0 +1,1106 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Dict, Union, Mapping, Iterable, Optional, cast
|
|
6
|
+
from typing_extensions import Literal
|
|
7
|
+
|
|
8
|
+
import httpx
|
|
9
|
+
|
|
10
|
+
from ..._types import Body, Omit, Query, Headers, NotGiven, FileTypes, omit, not_given
|
|
11
|
+
from ..._utils import extract_files, maybe_transform, deepcopy_minimal, async_maybe_transform
|
|
12
|
+
from ..._compat import cached_property
|
|
13
|
+
from ..._polling import (
|
|
14
|
+
BackoffStrategy,
|
|
15
|
+
poll_until_complete,
|
|
16
|
+
poll_until_complete_async,
|
|
17
|
+
)
|
|
18
|
+
from ..._resource import SyncAPIResource, AsyncAPIResource
|
|
19
|
+
from ..._response import (
|
|
20
|
+
to_raw_response_wrapper,
|
|
21
|
+
to_streamed_response_wrapper,
|
|
22
|
+
async_to_raw_response_wrapper,
|
|
23
|
+
async_to_streamed_response_wrapper,
|
|
24
|
+
)
|
|
25
|
+
from ..._base_client import make_request_options
|
|
26
|
+
from ...types.extraction import (
|
|
27
|
+
job_file_params,
|
|
28
|
+
job_list_params,
|
|
29
|
+
job_create_params,
|
|
30
|
+
job_get_result_params,
|
|
31
|
+
)
|
|
32
|
+
from ...types.extraction.extract_job import ExtractJob
|
|
33
|
+
from ...types.extraction.job_list_response import JobListResponse
|
|
34
|
+
from ...types.extraction.extract_config_param import ExtractConfigParam
|
|
35
|
+
from ...types.extraction.job_get_result_response import JobGetResultResponse
|
|
36
|
+
from ...types.extraction.webhook_configuration_param import WebhookConfigurationParam
|
|
37
|
+
|
|
38
|
+
__all__ = ["JobsResource", "AsyncJobsResource"]
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class JobsResource(SyncAPIResource):
|
|
42
|
+
@cached_property
|
|
43
|
+
def with_raw_response(self) -> JobsResourceWithRawResponse:
|
|
44
|
+
"""
|
|
45
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
46
|
+
the raw response object instead of the parsed content.
|
|
47
|
+
|
|
48
|
+
For more information, see https://www.github.com/run-llama/llama-cloud-py#accessing-raw-response-data-eg-headers
|
|
49
|
+
"""
|
|
50
|
+
return JobsResourceWithRawResponse(self)
|
|
51
|
+
|
|
52
|
+
@cached_property
|
|
53
|
+
def with_streaming_response(self) -> JobsResourceWithStreamingResponse:
|
|
54
|
+
"""
|
|
55
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
56
|
+
|
|
57
|
+
For more information, see https://www.github.com/run-llama/llama-cloud-py#with_streaming_response
|
|
58
|
+
"""
|
|
59
|
+
return JobsResourceWithStreamingResponse(self)
|
|
60
|
+
|
|
61
|
+
def create(
|
|
62
|
+
self,
|
|
63
|
+
*,
|
|
64
|
+
extraction_agent_id: str,
|
|
65
|
+
file_id: str,
|
|
66
|
+
from_ui: bool | Omit = omit,
|
|
67
|
+
config_override: Optional[ExtractConfigParam] | Omit = omit,
|
|
68
|
+
data_schema_override: Union[
|
|
69
|
+
Dict[str, Union[Dict[str, object], Iterable[object], str, float, bool, None]], str, None
|
|
70
|
+
]
|
|
71
|
+
| Omit = omit,
|
|
72
|
+
priority: Optional[Literal["low", "medium", "high", "critical"]] | Omit = omit,
|
|
73
|
+
webhook_configurations: Optional[Iterable[WebhookConfigurationParam]] | Omit = omit,
|
|
74
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
75
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
76
|
+
extra_headers: Headers | None = None,
|
|
77
|
+
extra_query: Query | None = None,
|
|
78
|
+
extra_body: Body | None = None,
|
|
79
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
80
|
+
) -> ExtractJob:
|
|
81
|
+
"""
|
|
82
|
+
Run Job
|
|
83
|
+
|
|
84
|
+
Args:
|
|
85
|
+
extraction_agent_id: The id of the extraction agent
|
|
86
|
+
|
|
87
|
+
file_id: The id of the file
|
|
88
|
+
|
|
89
|
+
config_override: Configuration parameters for the extraction agent.
|
|
90
|
+
|
|
91
|
+
data_schema_override: The data schema to override the extraction agent's data schema with
|
|
92
|
+
|
|
93
|
+
priority: The priority for the request. This field may be ignored or overwritten depending
|
|
94
|
+
on the organization tier.
|
|
95
|
+
|
|
96
|
+
webhook_configurations: The outbound webhook configurations
|
|
97
|
+
|
|
98
|
+
extra_headers: Send extra headers
|
|
99
|
+
|
|
100
|
+
extra_query: Add additional query parameters to the request
|
|
101
|
+
|
|
102
|
+
extra_body: Add additional JSON properties to the request
|
|
103
|
+
|
|
104
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
105
|
+
"""
|
|
106
|
+
return self._post(
|
|
107
|
+
"/api/v1/extraction/jobs",
|
|
108
|
+
body=maybe_transform(
|
|
109
|
+
{
|
|
110
|
+
"extraction_agent_id": extraction_agent_id,
|
|
111
|
+
"file_id": file_id,
|
|
112
|
+
"config_override": config_override,
|
|
113
|
+
"data_schema_override": data_schema_override,
|
|
114
|
+
"priority": priority,
|
|
115
|
+
"webhook_configurations": webhook_configurations,
|
|
116
|
+
},
|
|
117
|
+
job_create_params.JobCreateParams,
|
|
118
|
+
),
|
|
119
|
+
options=make_request_options(
|
|
120
|
+
extra_headers=extra_headers,
|
|
121
|
+
extra_query=extra_query,
|
|
122
|
+
extra_body=extra_body,
|
|
123
|
+
timeout=timeout,
|
|
124
|
+
query=maybe_transform({"from_ui": from_ui}, job_create_params.JobCreateParams),
|
|
125
|
+
),
|
|
126
|
+
cast_to=ExtractJob,
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
def list(
|
|
130
|
+
self,
|
|
131
|
+
*,
|
|
132
|
+
extraction_agent_id: str,
|
|
133
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
134
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
135
|
+
extra_headers: Headers | None = None,
|
|
136
|
+
extra_query: Query | None = None,
|
|
137
|
+
extra_body: Body | None = None,
|
|
138
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
139
|
+
) -> JobListResponse:
|
|
140
|
+
"""
|
|
141
|
+
List Jobs
|
|
142
|
+
|
|
143
|
+
Args:
|
|
144
|
+
extra_headers: Send extra headers
|
|
145
|
+
|
|
146
|
+
extra_query: Add additional query parameters to the request
|
|
147
|
+
|
|
148
|
+
extra_body: Add additional JSON properties to the request
|
|
149
|
+
|
|
150
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
151
|
+
"""
|
|
152
|
+
return self._get(
|
|
153
|
+
"/api/v1/extraction/jobs",
|
|
154
|
+
options=make_request_options(
|
|
155
|
+
extra_headers=extra_headers,
|
|
156
|
+
extra_query=extra_query,
|
|
157
|
+
extra_body=extra_body,
|
|
158
|
+
timeout=timeout,
|
|
159
|
+
query=maybe_transform({"extraction_agent_id": extraction_agent_id}, job_list_params.JobListParams),
|
|
160
|
+
),
|
|
161
|
+
cast_to=JobListResponse,
|
|
162
|
+
)
|
|
163
|
+
|
|
164
|
+
def file(
|
|
165
|
+
self,
|
|
166
|
+
*,
|
|
167
|
+
extraction_agent_id: str,
|
|
168
|
+
file: FileTypes,
|
|
169
|
+
from_ui: bool | Omit = omit,
|
|
170
|
+
config_override: Optional[str] | Omit = omit,
|
|
171
|
+
data_schema_override: Optional[str] | Omit = omit,
|
|
172
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
173
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
174
|
+
extra_headers: Headers | None = None,
|
|
175
|
+
extra_query: Query | None = None,
|
|
176
|
+
extra_body: Body | None = None,
|
|
177
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
178
|
+
) -> ExtractJob:
|
|
179
|
+
"""
|
|
180
|
+
Run Job On File
|
|
181
|
+
|
|
182
|
+
Args:
|
|
183
|
+
extraction_agent_id: The id of the extraction agent
|
|
184
|
+
|
|
185
|
+
file: The file to run the job on
|
|
186
|
+
|
|
187
|
+
config_override: The config to override the extraction agent's config with as a JSON string
|
|
188
|
+
|
|
189
|
+
data_schema_override: The data schema to override the extraction agent's data schema with as a JSON
|
|
190
|
+
string
|
|
191
|
+
|
|
192
|
+
extra_headers: Send extra headers
|
|
193
|
+
|
|
194
|
+
extra_query: Add additional query parameters to the request
|
|
195
|
+
|
|
196
|
+
extra_body: Add additional JSON properties to the request
|
|
197
|
+
|
|
198
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
199
|
+
"""
|
|
200
|
+
body = deepcopy_minimal(
|
|
201
|
+
{
|
|
202
|
+
"extraction_agent_id": extraction_agent_id,
|
|
203
|
+
"file": file,
|
|
204
|
+
"config_override": config_override,
|
|
205
|
+
"data_schema_override": data_schema_override,
|
|
206
|
+
}
|
|
207
|
+
)
|
|
208
|
+
files = extract_files(cast(Mapping[str, object], body), paths=[["file"]])
|
|
209
|
+
# It should be noted that the actual Content-Type header that will be
|
|
210
|
+
# sent to the server will contain a `boundary` parameter, e.g.
|
|
211
|
+
# multipart/form-data; boundary=---abc--
|
|
212
|
+
extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
|
|
213
|
+
return self._post(
|
|
214
|
+
"/api/v1/extraction/jobs/file",
|
|
215
|
+
body=maybe_transform(body, job_file_params.JobFileParams),
|
|
216
|
+
files=files,
|
|
217
|
+
options=make_request_options(
|
|
218
|
+
extra_headers=extra_headers,
|
|
219
|
+
extra_query=extra_query,
|
|
220
|
+
extra_body=extra_body,
|
|
221
|
+
timeout=timeout,
|
|
222
|
+
query=maybe_transform({"from_ui": from_ui}, job_file_params.JobFileParams),
|
|
223
|
+
),
|
|
224
|
+
cast_to=ExtractJob,
|
|
225
|
+
)
|
|
226
|
+
|
|
227
|
+
def get(
|
|
228
|
+
self,
|
|
229
|
+
job_id: str,
|
|
230
|
+
*,
|
|
231
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
232
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
233
|
+
extra_headers: Headers | None = None,
|
|
234
|
+
extra_query: Query | None = None,
|
|
235
|
+
extra_body: Body | None = None,
|
|
236
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
237
|
+
) -> ExtractJob:
|
|
238
|
+
"""
|
|
239
|
+
Get Job
|
|
240
|
+
|
|
241
|
+
Args:
|
|
242
|
+
extra_headers: Send extra headers
|
|
243
|
+
|
|
244
|
+
extra_query: Add additional query parameters to the request
|
|
245
|
+
|
|
246
|
+
extra_body: Add additional JSON properties to the request
|
|
247
|
+
|
|
248
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
249
|
+
"""
|
|
250
|
+
if not job_id:
|
|
251
|
+
raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}")
|
|
252
|
+
return self._get(
|
|
253
|
+
f"/api/v1/extraction/jobs/{job_id}",
|
|
254
|
+
options=make_request_options(
|
|
255
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
256
|
+
),
|
|
257
|
+
cast_to=ExtractJob,
|
|
258
|
+
)
|
|
259
|
+
|
|
260
|
+
def get_result(
|
|
261
|
+
self,
|
|
262
|
+
job_id: str,
|
|
263
|
+
*,
|
|
264
|
+
organization_id: Optional[str] | Omit = omit,
|
|
265
|
+
project_id: Optional[str] | Omit = omit,
|
|
266
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
267
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
268
|
+
extra_headers: Headers | None = None,
|
|
269
|
+
extra_query: Query | None = None,
|
|
270
|
+
extra_body: Body | None = None,
|
|
271
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
272
|
+
) -> JobGetResultResponse:
|
|
273
|
+
"""
|
|
274
|
+
Get Job Result
|
|
275
|
+
|
|
276
|
+
Args:
|
|
277
|
+
extra_headers: Send extra headers
|
|
278
|
+
|
|
279
|
+
extra_query: Add additional query parameters to the request
|
|
280
|
+
|
|
281
|
+
extra_body: Add additional JSON properties to the request
|
|
282
|
+
|
|
283
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
284
|
+
"""
|
|
285
|
+
if not job_id:
|
|
286
|
+
raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}")
|
|
287
|
+
return self._get(
|
|
288
|
+
f"/api/v1/extraction/jobs/{job_id}/result",
|
|
289
|
+
options=make_request_options(
|
|
290
|
+
extra_headers=extra_headers,
|
|
291
|
+
extra_query=extra_query,
|
|
292
|
+
extra_body=extra_body,
|
|
293
|
+
timeout=timeout,
|
|
294
|
+
query=maybe_transform(
|
|
295
|
+
{
|
|
296
|
+
"organization_id": organization_id,
|
|
297
|
+
"project_id": project_id,
|
|
298
|
+
},
|
|
299
|
+
job_get_result_params.JobGetResultParams,
|
|
300
|
+
),
|
|
301
|
+
),
|
|
302
|
+
cast_to=JobGetResultResponse,
|
|
303
|
+
)
|
|
304
|
+
|
|
305
|
+
def extract(
|
|
306
|
+
self,
|
|
307
|
+
*,
|
|
308
|
+
extraction_agent_id: str,
|
|
309
|
+
file_id: str,
|
|
310
|
+
from_ui: bool | Omit = omit,
|
|
311
|
+
config_override: Optional[ExtractConfigParam] | Omit = omit,
|
|
312
|
+
data_schema_override: Union[
|
|
313
|
+
Dict[str, Union[Dict[str, object], Iterable[object], str, float, bool, None]], str, None
|
|
314
|
+
]
|
|
315
|
+
| Omit = omit,
|
|
316
|
+
priority: Optional[Literal["low", "medium", "high", "critical"]] | Omit = omit,
|
|
317
|
+
webhook_configurations: Optional[Iterable[WebhookConfigurationParam]] | Omit = omit,
|
|
318
|
+
# Polling parameters
|
|
319
|
+
polling_interval: float = 1.0,
|
|
320
|
+
max_interval: float = 5.0,
|
|
321
|
+
timeout: float = 2000.0,
|
|
322
|
+
backoff: BackoffStrategy = "linear",
|
|
323
|
+
verbose: bool = False,
|
|
324
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
325
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
326
|
+
extra_headers: Headers | None = None,
|
|
327
|
+
extra_query: Query | None = None,
|
|
328
|
+
extra_body: Body | None = None,
|
|
329
|
+
) -> JobGetResultResponse:
|
|
330
|
+
"""
|
|
331
|
+
Create an extraction job and wait for it to complete, returning the result.
|
|
332
|
+
|
|
333
|
+
This is a convenience method that combines create(), wait_for_completion(),
|
|
334
|
+
and get_result() into a single call for the most common end-to-end workflow.
|
|
335
|
+
|
|
336
|
+
Args:
|
|
337
|
+
extraction_agent_id: The id of the extraction agent
|
|
338
|
+
|
|
339
|
+
file_id: The id of the file
|
|
340
|
+
|
|
341
|
+
from_ui: Whether the request is from the UI
|
|
342
|
+
|
|
343
|
+
config_override: Additional parameters for the extraction agent.
|
|
344
|
+
|
|
345
|
+
data_schema_override: The data schema to override the extraction agent's data schema with
|
|
346
|
+
|
|
347
|
+
priority: The priority for the request. This field may be ignored or overwritten depending
|
|
348
|
+
on the organization tier.
|
|
349
|
+
|
|
350
|
+
webhook_configurations: The outbound webhook configurations
|
|
351
|
+
|
|
352
|
+
polling_interval: Initial polling interval in seconds (default: 1.0)
|
|
353
|
+
|
|
354
|
+
max_interval: Maximum polling interval for backoff in seconds (default: 5.0)
|
|
355
|
+
|
|
356
|
+
timeout: Maximum time to wait in seconds (default: 2000.0)
|
|
357
|
+
|
|
358
|
+
backoff: Backoff strategy for polling intervals. Options:
|
|
359
|
+
- "constant": Keep the same polling interval
|
|
360
|
+
- "linear": Increase interval by 1 second each poll (default)
|
|
361
|
+
- "exponential": Double the interval each poll
|
|
362
|
+
|
|
363
|
+
verbose: Print progress indicators every 10 polls (default: False)
|
|
364
|
+
|
|
365
|
+
extra_headers: Send extra headers
|
|
366
|
+
|
|
367
|
+
extra_query: Add additional query parameters to the request
|
|
368
|
+
|
|
369
|
+
extra_body: Add additional JSON properties to the request
|
|
370
|
+
|
|
371
|
+
Returns:
|
|
372
|
+
The extraction result (JobGetResultResponse)
|
|
373
|
+
|
|
374
|
+
Raises:
|
|
375
|
+
PollingTimeoutError: If the job doesn't complete within the timeout period
|
|
376
|
+
|
|
377
|
+
PollingError: If the job fails or is cancelled
|
|
378
|
+
|
|
379
|
+
Example:
|
|
380
|
+
```python
|
|
381
|
+
from llama_cloud import LlamaCloud
|
|
382
|
+
|
|
383
|
+
client = LlamaCloud(api_key="...")
|
|
384
|
+
|
|
385
|
+
# One-shot: create job, wait for completion, and get result
|
|
386
|
+
result = client.extraction.jobs.extract(extraction_agent_id="agent_id", file_id="file_id", verbose=True)
|
|
387
|
+
|
|
388
|
+
# Result is ready to use immediately
|
|
389
|
+
print(result.data)
|
|
390
|
+
```
|
|
391
|
+
"""
|
|
392
|
+
# Create the job
|
|
393
|
+
job = self.create(
|
|
394
|
+
extraction_agent_id=extraction_agent_id,
|
|
395
|
+
file_id=file_id,
|
|
396
|
+
from_ui=from_ui,
|
|
397
|
+
config_override=config_override,
|
|
398
|
+
data_schema_override=data_schema_override,
|
|
399
|
+
priority=priority,
|
|
400
|
+
webhook_configurations=webhook_configurations,
|
|
401
|
+
extra_headers=extra_headers,
|
|
402
|
+
extra_query=extra_query,
|
|
403
|
+
extra_body=extra_body,
|
|
404
|
+
)
|
|
405
|
+
|
|
406
|
+
# Wait for completion
|
|
407
|
+
self.wait_for_completion(
|
|
408
|
+
job.id,
|
|
409
|
+
polling_interval=polling_interval,
|
|
410
|
+
max_interval=max_interval,
|
|
411
|
+
timeout=timeout,
|
|
412
|
+
backoff=backoff,
|
|
413
|
+
verbose=verbose,
|
|
414
|
+
extra_headers=extra_headers,
|
|
415
|
+
extra_query=extra_query,
|
|
416
|
+
extra_body=extra_body,
|
|
417
|
+
)
|
|
418
|
+
|
|
419
|
+
# Get and return the result
|
|
420
|
+
return self.get_result(
|
|
421
|
+
job.id,
|
|
422
|
+
extra_headers=extra_headers,
|
|
423
|
+
extra_query=extra_query,
|
|
424
|
+
extra_body=extra_body,
|
|
425
|
+
)
|
|
426
|
+
|
|
427
|
+
def wait_for_completion(
|
|
428
|
+
self,
|
|
429
|
+
job_id: str,
|
|
430
|
+
*,
|
|
431
|
+
polling_interval: float = 1.0,
|
|
432
|
+
max_interval: float = 5.0,
|
|
433
|
+
timeout: float = 2000.0,
|
|
434
|
+
backoff: BackoffStrategy = "linear",
|
|
435
|
+
verbose: bool = False,
|
|
436
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
437
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
438
|
+
extra_headers: Headers | None = None,
|
|
439
|
+
extra_query: Query | None = None,
|
|
440
|
+
extra_body: Body | None = None,
|
|
441
|
+
) -> ExtractJob:
|
|
442
|
+
"""
|
|
443
|
+
Wait for an extraction job to complete by polling until it reaches a terminal state.
|
|
444
|
+
|
|
445
|
+
This method polls the job status at regular intervals until the job completes
|
|
446
|
+
successfully or fails. It uses configurable backoff strategies to optimize
|
|
447
|
+
polling behavior.
|
|
448
|
+
|
|
449
|
+
Args:
|
|
450
|
+
job_id: The ID of the extraction job to wait for
|
|
451
|
+
|
|
452
|
+
polling_interval: Initial polling interval in seconds (default: 1.0)
|
|
453
|
+
|
|
454
|
+
max_interval: Maximum polling interval for backoff in seconds (default: 5.0)
|
|
455
|
+
|
|
456
|
+
timeout: Maximum time to wait in seconds (default: 2000.0)
|
|
457
|
+
|
|
458
|
+
backoff: Backoff strategy for polling intervals. Options:
|
|
459
|
+
- "constant": Keep the same polling interval
|
|
460
|
+
- "linear": Increase interval by 1 second each poll (default)
|
|
461
|
+
- "exponential": Double the interval each poll
|
|
462
|
+
|
|
463
|
+
verbose: Print progress indicators every 10 polls (default: False)
|
|
464
|
+
|
|
465
|
+
extra_headers: Send extra headers
|
|
466
|
+
|
|
467
|
+
extra_query: Add additional query parameters to the request
|
|
468
|
+
|
|
469
|
+
extra_body: Add additional JSON properties to the request
|
|
470
|
+
|
|
471
|
+
Returns:
|
|
472
|
+
The completed ExtractJob
|
|
473
|
+
|
|
474
|
+
Raises:
|
|
475
|
+
PollingTimeoutError: If the job doesn't complete within the timeout period
|
|
476
|
+
|
|
477
|
+
PollingError: If the job fails or is cancelled
|
|
478
|
+
|
|
479
|
+
Example:
|
|
480
|
+
```python
|
|
481
|
+
from llama_cloud import LlamaCloud
|
|
482
|
+
|
|
483
|
+
client = LlamaCloud(api_key="...")
|
|
484
|
+
|
|
485
|
+
# Create an extraction job
|
|
486
|
+
job = client.extraction.jobs.create(extraction_agent_id="agent_id", file_id="file_id")
|
|
487
|
+
|
|
488
|
+
# Wait for it to complete
|
|
489
|
+
completed_job = client.extraction.jobs.wait_for_completion(job.id, verbose=True)
|
|
490
|
+
|
|
491
|
+
# Get the result
|
|
492
|
+
result = client.extraction.jobs.get_result(job.id)
|
|
493
|
+
```
|
|
494
|
+
"""
|
|
495
|
+
if not job_id:
|
|
496
|
+
raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}")
|
|
497
|
+
|
|
498
|
+
def get_status() -> ExtractJob:
|
|
499
|
+
return self.get(
|
|
500
|
+
job_id,
|
|
501
|
+
extra_headers=extra_headers,
|
|
502
|
+
extra_query=extra_query,
|
|
503
|
+
extra_body=extra_body,
|
|
504
|
+
)
|
|
505
|
+
|
|
506
|
+
def is_complete(job: ExtractJob) -> bool:
|
|
507
|
+
return job.status in ("SUCCESS", "PARTIAL_SUCCESS")
|
|
508
|
+
|
|
509
|
+
def is_error(job: ExtractJob) -> bool:
|
|
510
|
+
return job.status in ("ERROR", "CANCELLED")
|
|
511
|
+
|
|
512
|
+
def get_error_message(job: ExtractJob) -> str:
|
|
513
|
+
error_parts = [f"Job {job_id} failed with status: {job.status}"]
|
|
514
|
+
if job.error:
|
|
515
|
+
error_parts.append(f"Error: {job.error}")
|
|
516
|
+
return " | ".join(error_parts)
|
|
517
|
+
|
|
518
|
+
return poll_until_complete(
|
|
519
|
+
get_status_fn=get_status,
|
|
520
|
+
is_complete_fn=is_complete,
|
|
521
|
+
is_error_fn=is_error,
|
|
522
|
+
get_error_message_fn=get_error_message,
|
|
523
|
+
polling_interval=polling_interval,
|
|
524
|
+
max_interval=max_interval,
|
|
525
|
+
timeout=timeout,
|
|
526
|
+
backoff=backoff,
|
|
527
|
+
verbose=verbose,
|
|
528
|
+
)
|
|
529
|
+
|
|
530
|
+
|
|
531
|
+
class AsyncJobsResource(AsyncAPIResource):
|
|
532
|
+
@cached_property
|
|
533
|
+
def with_raw_response(self) -> AsyncJobsResourceWithRawResponse:
|
|
534
|
+
"""
|
|
535
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
536
|
+
the raw response object instead of the parsed content.
|
|
537
|
+
|
|
538
|
+
For more information, see https://www.github.com/run-llama/llama-cloud-py#accessing-raw-response-data-eg-headers
|
|
539
|
+
"""
|
|
540
|
+
return AsyncJobsResourceWithRawResponse(self)
|
|
541
|
+
|
|
542
|
+
@cached_property
|
|
543
|
+
def with_streaming_response(self) -> AsyncJobsResourceWithStreamingResponse:
|
|
544
|
+
"""
|
|
545
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
546
|
+
|
|
547
|
+
For more information, see https://www.github.com/run-llama/llama-cloud-py#with_streaming_response
|
|
548
|
+
"""
|
|
549
|
+
return AsyncJobsResourceWithStreamingResponse(self)
|
|
550
|
+
|
|
551
|
+
async def create(
|
|
552
|
+
self,
|
|
553
|
+
*,
|
|
554
|
+
extraction_agent_id: str,
|
|
555
|
+
file_id: str,
|
|
556
|
+
from_ui: bool | Omit = omit,
|
|
557
|
+
config_override: Optional[ExtractConfigParam] | Omit = omit,
|
|
558
|
+
data_schema_override: Union[
|
|
559
|
+
Dict[str, Union[Dict[str, object], Iterable[object], str, float, bool, None]], str, None
|
|
560
|
+
]
|
|
561
|
+
| Omit = omit,
|
|
562
|
+
priority: Optional[Literal["low", "medium", "high", "critical"]] | Omit = omit,
|
|
563
|
+
webhook_configurations: Optional[Iterable[WebhookConfigurationParam]] | Omit = omit,
|
|
564
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
565
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
566
|
+
extra_headers: Headers | None = None,
|
|
567
|
+
extra_query: Query | None = None,
|
|
568
|
+
extra_body: Body | None = None,
|
|
569
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
570
|
+
) -> ExtractJob:
|
|
571
|
+
"""
|
|
572
|
+
Run Job
|
|
573
|
+
|
|
574
|
+
Args:
|
|
575
|
+
extraction_agent_id: The id of the extraction agent
|
|
576
|
+
|
|
577
|
+
file_id: The id of the file
|
|
578
|
+
|
|
579
|
+
config_override: Configuration parameters for the extraction agent.
|
|
580
|
+
|
|
581
|
+
data_schema_override: The data schema to override the extraction agent's data schema with
|
|
582
|
+
|
|
583
|
+
priority: The priority for the request. This field may be ignored or overwritten depending
|
|
584
|
+
on the organization tier.
|
|
585
|
+
|
|
586
|
+
webhook_configurations: The outbound webhook configurations
|
|
587
|
+
|
|
588
|
+
extra_headers: Send extra headers
|
|
589
|
+
|
|
590
|
+
extra_query: Add additional query parameters to the request
|
|
591
|
+
|
|
592
|
+
extra_body: Add additional JSON properties to the request
|
|
593
|
+
|
|
594
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
595
|
+
"""
|
|
596
|
+
return await self._post(
|
|
597
|
+
"/api/v1/extraction/jobs",
|
|
598
|
+
body=await async_maybe_transform(
|
|
599
|
+
{
|
|
600
|
+
"extraction_agent_id": extraction_agent_id,
|
|
601
|
+
"file_id": file_id,
|
|
602
|
+
"config_override": config_override,
|
|
603
|
+
"data_schema_override": data_schema_override,
|
|
604
|
+
"priority": priority,
|
|
605
|
+
"webhook_configurations": webhook_configurations,
|
|
606
|
+
},
|
|
607
|
+
job_create_params.JobCreateParams,
|
|
608
|
+
),
|
|
609
|
+
options=make_request_options(
|
|
610
|
+
extra_headers=extra_headers,
|
|
611
|
+
extra_query=extra_query,
|
|
612
|
+
extra_body=extra_body,
|
|
613
|
+
timeout=timeout,
|
|
614
|
+
query=await async_maybe_transform({"from_ui": from_ui}, job_create_params.JobCreateParams),
|
|
615
|
+
),
|
|
616
|
+
cast_to=ExtractJob,
|
|
617
|
+
)
|
|
618
|
+
|
|
619
|
+
async def list(
|
|
620
|
+
self,
|
|
621
|
+
*,
|
|
622
|
+
extraction_agent_id: str,
|
|
623
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
624
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
625
|
+
extra_headers: Headers | None = None,
|
|
626
|
+
extra_query: Query | None = None,
|
|
627
|
+
extra_body: Body | None = None,
|
|
628
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
629
|
+
) -> JobListResponse:
|
|
630
|
+
"""
|
|
631
|
+
List Jobs
|
|
632
|
+
|
|
633
|
+
Args:
|
|
634
|
+
extra_headers: Send extra headers
|
|
635
|
+
|
|
636
|
+
extra_query: Add additional query parameters to the request
|
|
637
|
+
|
|
638
|
+
extra_body: Add additional JSON properties to the request
|
|
639
|
+
|
|
640
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
641
|
+
"""
|
|
642
|
+
return await self._get(
|
|
643
|
+
"/api/v1/extraction/jobs",
|
|
644
|
+
options=make_request_options(
|
|
645
|
+
extra_headers=extra_headers,
|
|
646
|
+
extra_query=extra_query,
|
|
647
|
+
extra_body=extra_body,
|
|
648
|
+
timeout=timeout,
|
|
649
|
+
query=await async_maybe_transform(
|
|
650
|
+
{"extraction_agent_id": extraction_agent_id}, job_list_params.JobListParams
|
|
651
|
+
),
|
|
652
|
+
),
|
|
653
|
+
cast_to=JobListResponse,
|
|
654
|
+
)
|
|
655
|
+
|
|
656
|
+
async def file(
|
|
657
|
+
self,
|
|
658
|
+
*,
|
|
659
|
+
extraction_agent_id: str,
|
|
660
|
+
file: FileTypes,
|
|
661
|
+
from_ui: bool | Omit = omit,
|
|
662
|
+
config_override: Optional[str] | Omit = omit,
|
|
663
|
+
data_schema_override: Optional[str] | Omit = omit,
|
|
664
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
665
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
666
|
+
extra_headers: Headers | None = None,
|
|
667
|
+
extra_query: Query | None = None,
|
|
668
|
+
extra_body: Body | None = None,
|
|
669
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
670
|
+
) -> ExtractJob:
|
|
671
|
+
"""
|
|
672
|
+
Run Job On File
|
|
673
|
+
|
|
674
|
+
Args:
|
|
675
|
+
extraction_agent_id: The id of the extraction agent
|
|
676
|
+
|
|
677
|
+
file: The file to run the job on
|
|
678
|
+
|
|
679
|
+
config_override: The config to override the extraction agent's config with as a JSON string
|
|
680
|
+
|
|
681
|
+
data_schema_override: The data schema to override the extraction agent's data schema with as a JSON
|
|
682
|
+
string
|
|
683
|
+
|
|
684
|
+
extra_headers: Send extra headers
|
|
685
|
+
|
|
686
|
+
extra_query: Add additional query parameters to the request
|
|
687
|
+
|
|
688
|
+
extra_body: Add additional JSON properties to the request
|
|
689
|
+
|
|
690
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
691
|
+
"""
|
|
692
|
+
body = deepcopy_minimal(
|
|
693
|
+
{
|
|
694
|
+
"extraction_agent_id": extraction_agent_id,
|
|
695
|
+
"file": file,
|
|
696
|
+
"config_override": config_override,
|
|
697
|
+
"data_schema_override": data_schema_override,
|
|
698
|
+
}
|
|
699
|
+
)
|
|
700
|
+
files = extract_files(cast(Mapping[str, object], body), paths=[["file"]])
|
|
701
|
+
# It should be noted that the actual Content-Type header that will be
|
|
702
|
+
# sent to the server will contain a `boundary` parameter, e.g.
|
|
703
|
+
# multipart/form-data; boundary=---abc--
|
|
704
|
+
extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
|
|
705
|
+
return await self._post(
|
|
706
|
+
"/api/v1/extraction/jobs/file",
|
|
707
|
+
body=await async_maybe_transform(body, job_file_params.JobFileParams),
|
|
708
|
+
files=files,
|
|
709
|
+
options=make_request_options(
|
|
710
|
+
extra_headers=extra_headers,
|
|
711
|
+
extra_query=extra_query,
|
|
712
|
+
extra_body=extra_body,
|
|
713
|
+
timeout=timeout,
|
|
714
|
+
query=await async_maybe_transform({"from_ui": from_ui}, job_file_params.JobFileParams),
|
|
715
|
+
),
|
|
716
|
+
cast_to=ExtractJob,
|
|
717
|
+
)
|
|
718
|
+
|
|
719
|
+
async def get(
|
|
720
|
+
self,
|
|
721
|
+
job_id: str,
|
|
722
|
+
*,
|
|
723
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
724
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
725
|
+
extra_headers: Headers | None = None,
|
|
726
|
+
extra_query: Query | None = None,
|
|
727
|
+
extra_body: Body | None = None,
|
|
728
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
729
|
+
) -> ExtractJob:
|
|
730
|
+
"""
|
|
731
|
+
Get Job
|
|
732
|
+
|
|
733
|
+
Args:
|
|
734
|
+
extra_headers: Send extra headers
|
|
735
|
+
|
|
736
|
+
extra_query: Add additional query parameters to the request
|
|
737
|
+
|
|
738
|
+
extra_body: Add additional JSON properties to the request
|
|
739
|
+
|
|
740
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
741
|
+
"""
|
|
742
|
+
if not job_id:
|
|
743
|
+
raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}")
|
|
744
|
+
return await self._get(
|
|
745
|
+
f"/api/v1/extraction/jobs/{job_id}",
|
|
746
|
+
options=make_request_options(
|
|
747
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
748
|
+
),
|
|
749
|
+
cast_to=ExtractJob,
|
|
750
|
+
)
|
|
751
|
+
|
|
752
|
+
async def get_result(
|
|
753
|
+
self,
|
|
754
|
+
job_id: str,
|
|
755
|
+
*,
|
|
756
|
+
organization_id: Optional[str] | Omit = omit,
|
|
757
|
+
project_id: Optional[str] | Omit = omit,
|
|
758
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
759
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
760
|
+
extra_headers: Headers | None = None,
|
|
761
|
+
extra_query: Query | None = None,
|
|
762
|
+
extra_body: Body | None = None,
|
|
763
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
764
|
+
) -> JobGetResultResponse:
|
|
765
|
+
"""
|
|
766
|
+
Get Job Result
|
|
767
|
+
|
|
768
|
+
Args:
|
|
769
|
+
extra_headers: Send extra headers
|
|
770
|
+
|
|
771
|
+
extra_query: Add additional query parameters to the request
|
|
772
|
+
|
|
773
|
+
extra_body: Add additional JSON properties to the request
|
|
774
|
+
|
|
775
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
776
|
+
"""
|
|
777
|
+
if not job_id:
|
|
778
|
+
raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}")
|
|
779
|
+
return await self._get(
|
|
780
|
+
f"/api/v1/extraction/jobs/{job_id}/result",
|
|
781
|
+
options=make_request_options(
|
|
782
|
+
extra_headers=extra_headers,
|
|
783
|
+
extra_query=extra_query,
|
|
784
|
+
extra_body=extra_body,
|
|
785
|
+
timeout=timeout,
|
|
786
|
+
query=await async_maybe_transform(
|
|
787
|
+
{
|
|
788
|
+
"organization_id": organization_id,
|
|
789
|
+
"project_id": project_id,
|
|
790
|
+
},
|
|
791
|
+
job_get_result_params.JobGetResultParams,
|
|
792
|
+
),
|
|
793
|
+
),
|
|
794
|
+
cast_to=JobGetResultResponse,
|
|
795
|
+
)
|
|
796
|
+
|
|
797
|
+
async def extract(
|
|
798
|
+
self,
|
|
799
|
+
*,
|
|
800
|
+
extraction_agent_id: str,
|
|
801
|
+
file_id: str,
|
|
802
|
+
from_ui: bool | Omit = omit,
|
|
803
|
+
config_override: Optional[ExtractConfigParam] | Omit = omit,
|
|
804
|
+
data_schema_override: Union[
|
|
805
|
+
Dict[str, Union[Dict[str, object], Iterable[object], str, float, bool, None]], str, None
|
|
806
|
+
]
|
|
807
|
+
| Omit = omit,
|
|
808
|
+
priority: Optional[Literal["low", "medium", "high", "critical"]] | Omit = omit,
|
|
809
|
+
webhook_configurations: Optional[Iterable[WebhookConfigurationParam]] | Omit = omit,
|
|
810
|
+
# Polling parameters
|
|
811
|
+
polling_interval: float = 1.0,
|
|
812
|
+
max_interval: float = 5.0,
|
|
813
|
+
timeout: float = 2000.0,
|
|
814
|
+
backoff: BackoffStrategy = "linear",
|
|
815
|
+
verbose: bool = False,
|
|
816
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
817
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
818
|
+
extra_headers: Headers | None = None,
|
|
819
|
+
extra_query: Query | None = None,
|
|
820
|
+
extra_body: Body | None = None,
|
|
821
|
+
) -> JobGetResultResponse:
|
|
822
|
+
"""
|
|
823
|
+
Create an extraction job and wait for it to complete, returning the result.
|
|
824
|
+
|
|
825
|
+
This is a convenience method that combines create(), wait_for_completion(),
|
|
826
|
+
and get_result() into a single call for the most common end-to-end workflow.
|
|
827
|
+
|
|
828
|
+
Args:
|
|
829
|
+
extraction_agent_id: The id of the extraction agent
|
|
830
|
+
|
|
831
|
+
file_id: The id of the file
|
|
832
|
+
|
|
833
|
+
from_ui: Whether the request is from the UI
|
|
834
|
+
|
|
835
|
+
config_override: Additional parameters for the extraction agent.
|
|
836
|
+
|
|
837
|
+
data_schema_override: The data schema to override the extraction agent's data schema with
|
|
838
|
+
|
|
839
|
+
priority: The priority for the request. This field may be ignored or overwritten depending
|
|
840
|
+
on the organization tier.
|
|
841
|
+
|
|
842
|
+
webhook_configurations: The outbound webhook configurations
|
|
843
|
+
|
|
844
|
+
polling_interval: Initial polling interval in seconds (default: 1.0)
|
|
845
|
+
|
|
846
|
+
max_interval: Maximum polling interval for backoff in seconds (default: 5.0)
|
|
847
|
+
|
|
848
|
+
timeout: Maximum time to wait in seconds (default: 2000.0)
|
|
849
|
+
|
|
850
|
+
backoff: Backoff strategy for polling intervals. Options:
|
|
851
|
+
- "constant": Keep the same polling interval
|
|
852
|
+
- "linear": Increase interval by 1 second each poll (default)
|
|
853
|
+
- "exponential": Double the interval each poll
|
|
854
|
+
|
|
855
|
+
verbose: Print progress indicators every 10 polls (default: False)
|
|
856
|
+
|
|
857
|
+
extra_headers: Send extra headers
|
|
858
|
+
|
|
859
|
+
extra_query: Add additional query parameters to the request
|
|
860
|
+
|
|
861
|
+
extra_body: Add additional JSON properties to the request
|
|
862
|
+
|
|
863
|
+
Returns:
|
|
864
|
+
The extraction result (JobGetResultResponse)
|
|
865
|
+
|
|
866
|
+
Raises:
|
|
867
|
+
PollingTimeoutError: If the job doesn't complete within the timeout period
|
|
868
|
+
|
|
869
|
+
PollingError: If the job fails or is cancelled
|
|
870
|
+
|
|
871
|
+
Example:
|
|
872
|
+
```python
|
|
873
|
+
from llama_cloud import AsyncLlamaCloud
|
|
874
|
+
|
|
875
|
+
client = AsyncLlamaCloud(api_key="...")
|
|
876
|
+
|
|
877
|
+
# One-shot: create job, wait for completion, and get result
|
|
878
|
+
result = await client.extraction.jobs.extract(
|
|
879
|
+
extraction_agent_id="agent_id", file_id="file_id", verbose=True
|
|
880
|
+
)
|
|
881
|
+
|
|
882
|
+
# Result is ready to use immediately
|
|
883
|
+
print(result.data)
|
|
884
|
+
```
|
|
885
|
+
"""
|
|
886
|
+
# Create the job
|
|
887
|
+
job = await self.create(
|
|
888
|
+
extraction_agent_id=extraction_agent_id,
|
|
889
|
+
file_id=file_id,
|
|
890
|
+
from_ui=from_ui,
|
|
891
|
+
config_override=config_override,
|
|
892
|
+
data_schema_override=data_schema_override,
|
|
893
|
+
priority=priority,
|
|
894
|
+
webhook_configurations=webhook_configurations,
|
|
895
|
+
extra_headers=extra_headers,
|
|
896
|
+
extra_query=extra_query,
|
|
897
|
+
extra_body=extra_body,
|
|
898
|
+
)
|
|
899
|
+
|
|
900
|
+
# Wait for completion
|
|
901
|
+
await self.wait_for_completion(
|
|
902
|
+
job.id,
|
|
903
|
+
polling_interval=polling_interval,
|
|
904
|
+
max_interval=max_interval,
|
|
905
|
+
timeout=timeout,
|
|
906
|
+
backoff=backoff,
|
|
907
|
+
verbose=verbose,
|
|
908
|
+
extra_headers=extra_headers,
|
|
909
|
+
extra_query=extra_query,
|
|
910
|
+
extra_body=extra_body,
|
|
911
|
+
)
|
|
912
|
+
|
|
913
|
+
# Get and return the result
|
|
914
|
+
return await self.get_result(
|
|
915
|
+
job.id,
|
|
916
|
+
extra_headers=extra_headers,
|
|
917
|
+
extra_query=extra_query,
|
|
918
|
+
extra_body=extra_body,
|
|
919
|
+
)
|
|
920
|
+
|
|
921
|
+
async def wait_for_completion(
|
|
922
|
+
self,
|
|
923
|
+
job_id: str,
|
|
924
|
+
*,
|
|
925
|
+
polling_interval: float = 1.0,
|
|
926
|
+
max_interval: float = 5.0,
|
|
927
|
+
timeout: float = 2000.0,
|
|
928
|
+
backoff: BackoffStrategy = "linear",
|
|
929
|
+
verbose: bool = False,
|
|
930
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
931
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
932
|
+
extra_headers: Headers | None = None,
|
|
933
|
+
extra_query: Query | None = None,
|
|
934
|
+
extra_body: Body | None = None,
|
|
935
|
+
) -> ExtractJob:
|
|
936
|
+
"""
|
|
937
|
+
Wait for an extraction job to complete by polling until it reaches a terminal state.
|
|
938
|
+
|
|
939
|
+
This method polls the job status at regular intervals until the job completes
|
|
940
|
+
successfully or fails. It uses configurable backoff strategies to optimize
|
|
941
|
+
polling behavior.
|
|
942
|
+
|
|
943
|
+
Args:
|
|
944
|
+
job_id: The ID of the extraction job to wait for
|
|
945
|
+
|
|
946
|
+
polling_interval: Initial polling interval in seconds (default: 1.0)
|
|
947
|
+
|
|
948
|
+
max_interval: Maximum polling interval for backoff in seconds (default: 5.0)
|
|
949
|
+
|
|
950
|
+
timeout: Maximum time to wait in seconds (default: 2000.0)
|
|
951
|
+
|
|
952
|
+
backoff: Backoff strategy for polling intervals. Options:
|
|
953
|
+
- "constant": Keep the same polling interval
|
|
954
|
+
- "linear": Increase interval by 1 second each poll (default)
|
|
955
|
+
- "exponential": Double the interval each poll
|
|
956
|
+
|
|
957
|
+
verbose: Print progress indicators every 10 polls (default: False)
|
|
958
|
+
|
|
959
|
+
extra_headers: Send extra headers
|
|
960
|
+
|
|
961
|
+
extra_query: Add additional query parameters to the request
|
|
962
|
+
|
|
963
|
+
extra_body: Add additional JSON properties to the request
|
|
964
|
+
|
|
965
|
+
Returns:
|
|
966
|
+
The completed ExtractJob
|
|
967
|
+
|
|
968
|
+
Raises:
|
|
969
|
+
PollingTimeoutError: If the job doesn't complete within the timeout period
|
|
970
|
+
|
|
971
|
+
PollingError: If the job fails or is cancelled
|
|
972
|
+
|
|
973
|
+
Example:
|
|
974
|
+
```python
|
|
975
|
+
from llama_cloud import LlamaCloud
|
|
976
|
+
|
|
977
|
+
client = LlamaCloud(api_key="...")
|
|
978
|
+
|
|
979
|
+
# Create an extraction job
|
|
980
|
+
job = await client.extraction.jobs.create(extraction_agent_id="agent_id", file_id="file_id")
|
|
981
|
+
|
|
982
|
+
# Wait for it to complete
|
|
983
|
+
completed_job = await client.extraction.jobs.wait_for_completion(job.id, verbose=True)
|
|
984
|
+
|
|
985
|
+
# Get the result
|
|
986
|
+
result = await client.extraction.jobs.get_result(job.id)
|
|
987
|
+
```
|
|
988
|
+
"""
|
|
989
|
+
if not job_id:
|
|
990
|
+
raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}")
|
|
991
|
+
|
|
992
|
+
async def get_status() -> ExtractJob:
|
|
993
|
+
return await self.get(
|
|
994
|
+
job_id,
|
|
995
|
+
extra_headers=extra_headers,
|
|
996
|
+
extra_query=extra_query,
|
|
997
|
+
extra_body=extra_body,
|
|
998
|
+
)
|
|
999
|
+
|
|
1000
|
+
def is_complete(job: ExtractJob) -> bool:
|
|
1001
|
+
return job.status in ("SUCCESS", "PARTIAL_SUCCESS")
|
|
1002
|
+
|
|
1003
|
+
def is_error(job: ExtractJob) -> bool:
|
|
1004
|
+
return job.status in ("ERROR", "CANCELLED")
|
|
1005
|
+
|
|
1006
|
+
def get_error_message(job: ExtractJob) -> str:
|
|
1007
|
+
error_parts = [f"Job {job_id} failed with status: {job.status}"]
|
|
1008
|
+
if job.error:
|
|
1009
|
+
error_parts.append(f"Error: {job.error}")
|
|
1010
|
+
return " | ".join(error_parts)
|
|
1011
|
+
|
|
1012
|
+
return await poll_until_complete_async(
|
|
1013
|
+
get_status_fn=get_status,
|
|
1014
|
+
is_complete_fn=is_complete,
|
|
1015
|
+
is_error_fn=is_error,
|
|
1016
|
+
get_error_message_fn=get_error_message,
|
|
1017
|
+
polling_interval=polling_interval,
|
|
1018
|
+
max_interval=max_interval,
|
|
1019
|
+
timeout=timeout,
|
|
1020
|
+
backoff=backoff,
|
|
1021
|
+
verbose=verbose,
|
|
1022
|
+
)
|
|
1023
|
+
|
|
1024
|
+
|
|
1025
|
+
class JobsResourceWithRawResponse:
|
|
1026
|
+
def __init__(self, jobs: JobsResource) -> None:
|
|
1027
|
+
self._jobs = jobs
|
|
1028
|
+
|
|
1029
|
+
self.create = to_raw_response_wrapper(
|
|
1030
|
+
jobs.create,
|
|
1031
|
+
)
|
|
1032
|
+
self.list = to_raw_response_wrapper(
|
|
1033
|
+
jobs.list,
|
|
1034
|
+
)
|
|
1035
|
+
self.file = to_raw_response_wrapper(
|
|
1036
|
+
jobs.file,
|
|
1037
|
+
)
|
|
1038
|
+
self.get = to_raw_response_wrapper(
|
|
1039
|
+
jobs.get,
|
|
1040
|
+
)
|
|
1041
|
+
self.get_result = to_raw_response_wrapper(
|
|
1042
|
+
jobs.get_result,
|
|
1043
|
+
)
|
|
1044
|
+
|
|
1045
|
+
|
|
1046
|
+
class AsyncJobsResourceWithRawResponse:
|
|
1047
|
+
def __init__(self, jobs: AsyncJobsResource) -> None:
|
|
1048
|
+
self._jobs = jobs
|
|
1049
|
+
|
|
1050
|
+
self.create = async_to_raw_response_wrapper(
|
|
1051
|
+
jobs.create,
|
|
1052
|
+
)
|
|
1053
|
+
self.list = async_to_raw_response_wrapper(
|
|
1054
|
+
jobs.list,
|
|
1055
|
+
)
|
|
1056
|
+
self.file = async_to_raw_response_wrapper(
|
|
1057
|
+
jobs.file,
|
|
1058
|
+
)
|
|
1059
|
+
self.get = async_to_raw_response_wrapper(
|
|
1060
|
+
jobs.get,
|
|
1061
|
+
)
|
|
1062
|
+
self.get_result = async_to_raw_response_wrapper(
|
|
1063
|
+
jobs.get_result,
|
|
1064
|
+
)
|
|
1065
|
+
|
|
1066
|
+
|
|
1067
|
+
class JobsResourceWithStreamingResponse:
|
|
1068
|
+
def __init__(self, jobs: JobsResource) -> None:
|
|
1069
|
+
self._jobs = jobs
|
|
1070
|
+
|
|
1071
|
+
self.create = to_streamed_response_wrapper(
|
|
1072
|
+
jobs.create,
|
|
1073
|
+
)
|
|
1074
|
+
self.list = to_streamed_response_wrapper(
|
|
1075
|
+
jobs.list,
|
|
1076
|
+
)
|
|
1077
|
+
self.file = to_streamed_response_wrapper(
|
|
1078
|
+
jobs.file,
|
|
1079
|
+
)
|
|
1080
|
+
self.get = to_streamed_response_wrapper(
|
|
1081
|
+
jobs.get,
|
|
1082
|
+
)
|
|
1083
|
+
self.get_result = to_streamed_response_wrapper(
|
|
1084
|
+
jobs.get_result,
|
|
1085
|
+
)
|
|
1086
|
+
|
|
1087
|
+
|
|
1088
|
+
class AsyncJobsResourceWithStreamingResponse:
|
|
1089
|
+
def __init__(self, jobs: AsyncJobsResource) -> None:
|
|
1090
|
+
self._jobs = jobs
|
|
1091
|
+
|
|
1092
|
+
self.create = async_to_streamed_response_wrapper(
|
|
1093
|
+
jobs.create,
|
|
1094
|
+
)
|
|
1095
|
+
self.list = async_to_streamed_response_wrapper(
|
|
1096
|
+
jobs.list,
|
|
1097
|
+
)
|
|
1098
|
+
self.file = async_to_streamed_response_wrapper(
|
|
1099
|
+
jobs.file,
|
|
1100
|
+
)
|
|
1101
|
+
self.get = async_to_streamed_response_wrapper(
|
|
1102
|
+
jobs.get,
|
|
1103
|
+
)
|
|
1104
|
+
self.get_result = async_to_streamed_response_wrapper(
|
|
1105
|
+
jobs.get_result,
|
|
1106
|
+
)
|