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,917 @@
|
|
|
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 Iterable, Optional
|
|
6
|
+
|
|
7
|
+
import httpx
|
|
8
|
+
|
|
9
|
+
from ..._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
|
|
10
|
+
from ..._utils import maybe_transform, async_maybe_transform
|
|
11
|
+
from ..._compat import cached_property
|
|
12
|
+
from ..._polling import (
|
|
13
|
+
BackoffStrategy,
|
|
14
|
+
poll_until_complete,
|
|
15
|
+
poll_until_complete_async,
|
|
16
|
+
)
|
|
17
|
+
from ..._resource import SyncAPIResource, AsyncAPIResource
|
|
18
|
+
from ..._response import (
|
|
19
|
+
to_raw_response_wrapper,
|
|
20
|
+
to_streamed_response_wrapper,
|
|
21
|
+
async_to_raw_response_wrapper,
|
|
22
|
+
async_to_streamed_response_wrapper,
|
|
23
|
+
)
|
|
24
|
+
from ...pagination import SyncPaginatedCursor, AsyncPaginatedCursor
|
|
25
|
+
from ...types.beta import split_get_params, split_list_params, split_create_params
|
|
26
|
+
from ..._base_client import AsyncPaginator, make_request_options
|
|
27
|
+
from ...types.beta.split_get_response import SplitGetResponse
|
|
28
|
+
from ...types.beta.split_list_response import SplitListResponse
|
|
29
|
+
from ...types.beta.split_category_param import SplitCategoryParam
|
|
30
|
+
from ...types.beta.split_create_response import SplitCreateResponse
|
|
31
|
+
from ...types.beta.split_document_input_param import SplitDocumentInputParam
|
|
32
|
+
|
|
33
|
+
__all__ = ["SplitResource", "AsyncSplitResource"]
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class SplitResource(SyncAPIResource):
|
|
37
|
+
@cached_property
|
|
38
|
+
def with_raw_response(self) -> SplitResourceWithRawResponse:
|
|
39
|
+
"""
|
|
40
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
41
|
+
the raw response object instead of the parsed content.
|
|
42
|
+
|
|
43
|
+
For more information, see https://www.github.com/run-llama/llama-cloud-py#accessing-raw-response-data-eg-headers
|
|
44
|
+
"""
|
|
45
|
+
return SplitResourceWithRawResponse(self)
|
|
46
|
+
|
|
47
|
+
@cached_property
|
|
48
|
+
def with_streaming_response(self) -> SplitResourceWithStreamingResponse:
|
|
49
|
+
"""
|
|
50
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
51
|
+
|
|
52
|
+
For more information, see https://www.github.com/run-llama/llama-cloud-py#with_streaming_response
|
|
53
|
+
"""
|
|
54
|
+
return SplitResourceWithStreamingResponse(self)
|
|
55
|
+
|
|
56
|
+
def create(
|
|
57
|
+
self,
|
|
58
|
+
*,
|
|
59
|
+
categories: Iterable[SplitCategoryParam],
|
|
60
|
+
document_input: SplitDocumentInputParam,
|
|
61
|
+
organization_id: Optional[str] | Omit = omit,
|
|
62
|
+
project_id: Optional[str] | Omit = omit,
|
|
63
|
+
splitting_strategy: split_create_params.SplittingStrategy | Omit = omit,
|
|
64
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
65
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
66
|
+
extra_headers: Headers | None = None,
|
|
67
|
+
extra_query: Query | None = None,
|
|
68
|
+
extra_body: Body | None = None,
|
|
69
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
70
|
+
) -> SplitCreateResponse:
|
|
71
|
+
"""Create a document split job.
|
|
72
|
+
|
|
73
|
+
Experimental: This endpoint is not yet ready for
|
|
74
|
+
production use and is subject to change at any time.
|
|
75
|
+
|
|
76
|
+
Args:
|
|
77
|
+
categories: Categories to split the document into.
|
|
78
|
+
|
|
79
|
+
document_input: Document to be split.
|
|
80
|
+
|
|
81
|
+
splitting_strategy: Strategy for splitting the document.
|
|
82
|
+
|
|
83
|
+
extra_headers: Send extra headers
|
|
84
|
+
|
|
85
|
+
extra_query: Add additional query parameters to the request
|
|
86
|
+
|
|
87
|
+
extra_body: Add additional JSON properties to the request
|
|
88
|
+
|
|
89
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
90
|
+
"""
|
|
91
|
+
return self._post(
|
|
92
|
+
"/api/v1/beta/split/jobs",
|
|
93
|
+
body=maybe_transform(
|
|
94
|
+
{
|
|
95
|
+
"categories": categories,
|
|
96
|
+
"document_input": document_input,
|
|
97
|
+
"splitting_strategy": splitting_strategy,
|
|
98
|
+
},
|
|
99
|
+
split_create_params.SplitCreateParams,
|
|
100
|
+
),
|
|
101
|
+
options=make_request_options(
|
|
102
|
+
extra_headers=extra_headers,
|
|
103
|
+
extra_query=extra_query,
|
|
104
|
+
extra_body=extra_body,
|
|
105
|
+
timeout=timeout,
|
|
106
|
+
query=maybe_transform(
|
|
107
|
+
{
|
|
108
|
+
"organization_id": organization_id,
|
|
109
|
+
"project_id": project_id,
|
|
110
|
+
},
|
|
111
|
+
split_create_params.SplitCreateParams,
|
|
112
|
+
),
|
|
113
|
+
),
|
|
114
|
+
cast_to=SplitCreateResponse,
|
|
115
|
+
)
|
|
116
|
+
|
|
117
|
+
def list(
|
|
118
|
+
self,
|
|
119
|
+
*,
|
|
120
|
+
organization_id: Optional[str] | Omit = omit,
|
|
121
|
+
page_size: Optional[int] | Omit = omit,
|
|
122
|
+
page_token: Optional[str] | Omit = omit,
|
|
123
|
+
project_id: Optional[str] | Omit = omit,
|
|
124
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
125
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
126
|
+
extra_headers: Headers | None = None,
|
|
127
|
+
extra_query: Query | None = None,
|
|
128
|
+
extra_body: Body | None = None,
|
|
129
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
130
|
+
) -> SyncPaginatedCursor[SplitListResponse]:
|
|
131
|
+
"""List document split jobs.
|
|
132
|
+
|
|
133
|
+
Experimental: This endpoint is not yet ready for
|
|
134
|
+
production use and is subject to change at any time.
|
|
135
|
+
|
|
136
|
+
Args:
|
|
137
|
+
extra_headers: Send extra headers
|
|
138
|
+
|
|
139
|
+
extra_query: Add additional query parameters to the request
|
|
140
|
+
|
|
141
|
+
extra_body: Add additional JSON properties to the request
|
|
142
|
+
|
|
143
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
144
|
+
"""
|
|
145
|
+
return self._get_api_list(
|
|
146
|
+
"/api/v1/beta/split/jobs",
|
|
147
|
+
page=SyncPaginatedCursor[SplitListResponse],
|
|
148
|
+
options=make_request_options(
|
|
149
|
+
extra_headers=extra_headers,
|
|
150
|
+
extra_query=extra_query,
|
|
151
|
+
extra_body=extra_body,
|
|
152
|
+
timeout=timeout,
|
|
153
|
+
query=maybe_transform(
|
|
154
|
+
{
|
|
155
|
+
"organization_id": organization_id,
|
|
156
|
+
"page_size": page_size,
|
|
157
|
+
"page_token": page_token,
|
|
158
|
+
"project_id": project_id,
|
|
159
|
+
},
|
|
160
|
+
split_list_params.SplitListParams,
|
|
161
|
+
),
|
|
162
|
+
),
|
|
163
|
+
model=SplitListResponse,
|
|
164
|
+
)
|
|
165
|
+
|
|
166
|
+
def get(
|
|
167
|
+
self,
|
|
168
|
+
split_job_id: str,
|
|
169
|
+
*,
|
|
170
|
+
organization_id: Optional[str] | Omit = omit,
|
|
171
|
+
project_id: 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
|
+
) -> SplitGetResponse:
|
|
179
|
+
"""
|
|
180
|
+
Get a document split job.
|
|
181
|
+
|
|
182
|
+
Experimental: This endpoint is not yet ready for production use and is subject
|
|
183
|
+
to change at any time.
|
|
184
|
+
|
|
185
|
+
Args:
|
|
186
|
+
extra_headers: Send extra headers
|
|
187
|
+
|
|
188
|
+
extra_query: Add additional query parameters to the request
|
|
189
|
+
|
|
190
|
+
extra_body: Add additional JSON properties to the request
|
|
191
|
+
|
|
192
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
193
|
+
"""
|
|
194
|
+
if not split_job_id:
|
|
195
|
+
raise ValueError(f"Expected a non-empty value for `split_job_id` but received {split_job_id!r}")
|
|
196
|
+
return self._get(
|
|
197
|
+
f"/api/v1/beta/split/jobs/{split_job_id}",
|
|
198
|
+
options=make_request_options(
|
|
199
|
+
extra_headers=extra_headers,
|
|
200
|
+
extra_query=extra_query,
|
|
201
|
+
extra_body=extra_body,
|
|
202
|
+
timeout=timeout,
|
|
203
|
+
query=maybe_transform(
|
|
204
|
+
{
|
|
205
|
+
"organization_id": organization_id,
|
|
206
|
+
"project_id": project_id,
|
|
207
|
+
},
|
|
208
|
+
split_get_params.SplitGetParams,
|
|
209
|
+
),
|
|
210
|
+
),
|
|
211
|
+
cast_to=SplitGetResponse,
|
|
212
|
+
)
|
|
213
|
+
|
|
214
|
+
def split(
|
|
215
|
+
self,
|
|
216
|
+
*,
|
|
217
|
+
categories: Iterable[SplitCategoryParam],
|
|
218
|
+
document_input: SplitDocumentInputParam,
|
|
219
|
+
organization_id: Optional[str] | Omit = omit,
|
|
220
|
+
project_id: Optional[str] | Omit = omit,
|
|
221
|
+
splitting_strategy: split_create_params.SplittingStrategy | Omit = omit,
|
|
222
|
+
# Polling parameters
|
|
223
|
+
polling_interval: float = 1.0,
|
|
224
|
+
max_interval: float = 5.0,
|
|
225
|
+
timeout: float = 2000.0,
|
|
226
|
+
backoff: BackoffStrategy = "linear",
|
|
227
|
+
verbose: bool = False,
|
|
228
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
229
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
230
|
+
extra_headers: Headers | None = None,
|
|
231
|
+
extra_query: Query | None = None,
|
|
232
|
+
extra_body: Body | None = None,
|
|
233
|
+
) -> SplitGetResponse:
|
|
234
|
+
"""
|
|
235
|
+
Create a document split job and wait for it to complete, returning the result.
|
|
236
|
+
|
|
237
|
+
This is a convenience method that combines create() and wait_for_completion()
|
|
238
|
+
into a single call for the most common end-to-end workflow.
|
|
239
|
+
|
|
240
|
+
Experimental: This endpoint is not yet ready for production use and is subject
|
|
241
|
+
to change at any time.
|
|
242
|
+
|
|
243
|
+
Args:
|
|
244
|
+
categories: Categories to split the document into.
|
|
245
|
+
|
|
246
|
+
document_input: Document to be split.
|
|
247
|
+
|
|
248
|
+
organization_id: The organization ID to use for the split job.
|
|
249
|
+
|
|
250
|
+
project_id: The project ID to use for the split job.
|
|
251
|
+
|
|
252
|
+
splitting_strategy: Strategy for splitting the document.
|
|
253
|
+
|
|
254
|
+
polling_interval: Initial polling interval in seconds (default: 1.0)
|
|
255
|
+
|
|
256
|
+
max_interval: Maximum polling interval for backoff in seconds (default: 5.0)
|
|
257
|
+
|
|
258
|
+
timeout: Maximum time to wait in seconds (default: 2000.0)
|
|
259
|
+
|
|
260
|
+
backoff: Backoff strategy for polling intervals. Options:
|
|
261
|
+
- "constant": Keep the same polling interval
|
|
262
|
+
- "linear": Increase interval by 1 second each poll (default)
|
|
263
|
+
- "exponential": Double the interval each poll
|
|
264
|
+
|
|
265
|
+
verbose: Print progress indicators every 10 polls (default: False)
|
|
266
|
+
|
|
267
|
+
extra_headers: Send extra headers
|
|
268
|
+
|
|
269
|
+
extra_query: Add additional query parameters to the request
|
|
270
|
+
|
|
271
|
+
extra_body: Add additional JSON properties to the request
|
|
272
|
+
|
|
273
|
+
Returns:
|
|
274
|
+
The completed split job with result (SplitGetResponse)
|
|
275
|
+
|
|
276
|
+
Raises:
|
|
277
|
+
PollingTimeoutError: If the job doesn't complete within the timeout period
|
|
278
|
+
|
|
279
|
+
PollingError: If the job fails
|
|
280
|
+
|
|
281
|
+
Example:
|
|
282
|
+
```python
|
|
283
|
+
from llama_cloud import LlamaCloud
|
|
284
|
+
|
|
285
|
+
client = LlamaCloud(api_key="...")
|
|
286
|
+
|
|
287
|
+
# One-shot: create job, wait for completion, and get result
|
|
288
|
+
result = client.beta.split.split(
|
|
289
|
+
categories=[
|
|
290
|
+
{"name": "Resume", "description": "Resume/CV documents"},
|
|
291
|
+
{"name": "Cover Letter", "description": "Cover letter documents"},
|
|
292
|
+
],
|
|
293
|
+
document_input={"type": "file_id", "value": "your-file-id"},
|
|
294
|
+
verbose=True,
|
|
295
|
+
)
|
|
296
|
+
|
|
297
|
+
# Result is ready to use immediately
|
|
298
|
+
for segment in result.result.segments:
|
|
299
|
+
print(f"Category: {segment.category}, Pages: {segment.pages}")
|
|
300
|
+
```
|
|
301
|
+
"""
|
|
302
|
+
# Create the job
|
|
303
|
+
job = self.create(
|
|
304
|
+
categories=categories,
|
|
305
|
+
document_input=document_input,
|
|
306
|
+
organization_id=organization_id,
|
|
307
|
+
project_id=project_id,
|
|
308
|
+
splitting_strategy=splitting_strategy,
|
|
309
|
+
extra_headers=extra_headers,
|
|
310
|
+
extra_query=extra_query,
|
|
311
|
+
extra_body=extra_body,
|
|
312
|
+
)
|
|
313
|
+
|
|
314
|
+
# Wait for completion and return the result
|
|
315
|
+
return self.wait_for_completion(
|
|
316
|
+
job.id,
|
|
317
|
+
organization_id=organization_id,
|
|
318
|
+
project_id=project_id,
|
|
319
|
+
polling_interval=polling_interval,
|
|
320
|
+
max_interval=max_interval,
|
|
321
|
+
timeout=timeout,
|
|
322
|
+
backoff=backoff,
|
|
323
|
+
verbose=verbose,
|
|
324
|
+
extra_headers=extra_headers,
|
|
325
|
+
extra_query=extra_query,
|
|
326
|
+
extra_body=extra_body,
|
|
327
|
+
)
|
|
328
|
+
|
|
329
|
+
def wait_for_completion(
|
|
330
|
+
self,
|
|
331
|
+
split_job_id: str,
|
|
332
|
+
*,
|
|
333
|
+
organization_id: Optional[str] | Omit = omit,
|
|
334
|
+
project_id: Optional[str] | Omit = omit,
|
|
335
|
+
polling_interval: float = 1.0,
|
|
336
|
+
max_interval: float = 5.0,
|
|
337
|
+
timeout: float = 2000.0,
|
|
338
|
+
backoff: BackoffStrategy = "linear",
|
|
339
|
+
verbose: bool = False,
|
|
340
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
341
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
342
|
+
extra_headers: Headers | None = None,
|
|
343
|
+
extra_query: Query | None = None,
|
|
344
|
+
extra_body: Body | None = None,
|
|
345
|
+
) -> SplitGetResponse:
|
|
346
|
+
"""
|
|
347
|
+
Wait for a split job to complete by polling until it reaches a terminal state.
|
|
348
|
+
|
|
349
|
+
This method polls the job status at regular intervals until the job completes
|
|
350
|
+
successfully or fails. It uses configurable backoff strategies to optimize
|
|
351
|
+
polling behavior.
|
|
352
|
+
|
|
353
|
+
Experimental: This endpoint is not yet ready for production use and is subject
|
|
354
|
+
to change at any time.
|
|
355
|
+
|
|
356
|
+
Args:
|
|
357
|
+
split_job_id: The ID of the split job to wait for
|
|
358
|
+
|
|
359
|
+
organization_id: The organization ID
|
|
360
|
+
|
|
361
|
+
project_id: The project ID
|
|
362
|
+
|
|
363
|
+
polling_interval: Initial polling interval in seconds (default: 1.0)
|
|
364
|
+
|
|
365
|
+
max_interval: Maximum polling interval for backoff in seconds (default: 5.0)
|
|
366
|
+
|
|
367
|
+
timeout: Maximum time to wait in seconds (default: 2000.0)
|
|
368
|
+
|
|
369
|
+
backoff: Backoff strategy for polling intervals. Options:
|
|
370
|
+
- "constant": Keep the same polling interval
|
|
371
|
+
- "linear": Increase interval by 1 second each poll (default)
|
|
372
|
+
- "exponential": Double the interval each poll
|
|
373
|
+
|
|
374
|
+
verbose: Print progress indicators every 10 polls (default: False)
|
|
375
|
+
|
|
376
|
+
extra_headers: Send extra headers
|
|
377
|
+
|
|
378
|
+
extra_query: Add additional query parameters to the request
|
|
379
|
+
|
|
380
|
+
extra_body: Add additional JSON properties to the request
|
|
381
|
+
|
|
382
|
+
Returns:
|
|
383
|
+
The completed SplitGetResponse with result
|
|
384
|
+
|
|
385
|
+
Raises:
|
|
386
|
+
PollingTimeoutError: If the job doesn't complete within the timeout period
|
|
387
|
+
|
|
388
|
+
PollingError: If the job fails
|
|
389
|
+
|
|
390
|
+
Example:
|
|
391
|
+
```python
|
|
392
|
+
from llama_cloud import LlamaCloud
|
|
393
|
+
|
|
394
|
+
client = LlamaCloud(api_key="...")
|
|
395
|
+
|
|
396
|
+
# Create a split job
|
|
397
|
+
job = client.beta.split.create(
|
|
398
|
+
categories=[{"name": "Resume"}, {"name": "Cover Letter"}],
|
|
399
|
+
document_input={"type": "file_id", "value": "your-file-id"},
|
|
400
|
+
)
|
|
401
|
+
|
|
402
|
+
# Wait for it to complete
|
|
403
|
+
completed_job = client.beta.split.wait_for_completion(job.id, verbose=True)
|
|
404
|
+
|
|
405
|
+
# Access the result
|
|
406
|
+
for segment in completed_job.result.segments:
|
|
407
|
+
print(f"Category: {segment.category}, Pages: {segment.pages}")
|
|
408
|
+
```
|
|
409
|
+
"""
|
|
410
|
+
if not split_job_id:
|
|
411
|
+
raise ValueError(f"Expected a non-empty value for `split_job_id` but received {split_job_id!r}")
|
|
412
|
+
|
|
413
|
+
def get_status() -> SplitGetResponse:
|
|
414
|
+
return self.get(
|
|
415
|
+
split_job_id,
|
|
416
|
+
organization_id=organization_id,
|
|
417
|
+
project_id=project_id,
|
|
418
|
+
extra_headers=extra_headers,
|
|
419
|
+
extra_query=extra_query,
|
|
420
|
+
extra_body=extra_body,
|
|
421
|
+
)
|
|
422
|
+
|
|
423
|
+
def is_complete(job: SplitGetResponse) -> bool:
|
|
424
|
+
return job.status == "completed"
|
|
425
|
+
|
|
426
|
+
def is_error(job: SplitGetResponse) -> bool:
|
|
427
|
+
return job.status == "failed"
|
|
428
|
+
|
|
429
|
+
def get_error_message(job: SplitGetResponse) -> str:
|
|
430
|
+
error_parts = [f"Job {split_job_id} failed with status: {job.status}"]
|
|
431
|
+
if job.error_message:
|
|
432
|
+
error_parts.append(f"Error: {job.error_message}")
|
|
433
|
+
return " | ".join(error_parts)
|
|
434
|
+
|
|
435
|
+
return poll_until_complete(
|
|
436
|
+
get_status_fn=get_status,
|
|
437
|
+
is_complete_fn=is_complete,
|
|
438
|
+
is_error_fn=is_error,
|
|
439
|
+
get_error_message_fn=get_error_message,
|
|
440
|
+
polling_interval=polling_interval,
|
|
441
|
+
max_interval=max_interval,
|
|
442
|
+
timeout=timeout,
|
|
443
|
+
backoff=backoff,
|
|
444
|
+
verbose=verbose,
|
|
445
|
+
)
|
|
446
|
+
|
|
447
|
+
|
|
448
|
+
class AsyncSplitResource(AsyncAPIResource):
|
|
449
|
+
@cached_property
|
|
450
|
+
def with_raw_response(self) -> AsyncSplitResourceWithRawResponse:
|
|
451
|
+
"""
|
|
452
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
453
|
+
the raw response object instead of the parsed content.
|
|
454
|
+
|
|
455
|
+
For more information, see https://www.github.com/run-llama/llama-cloud-py#accessing-raw-response-data-eg-headers
|
|
456
|
+
"""
|
|
457
|
+
return AsyncSplitResourceWithRawResponse(self)
|
|
458
|
+
|
|
459
|
+
@cached_property
|
|
460
|
+
def with_streaming_response(self) -> AsyncSplitResourceWithStreamingResponse:
|
|
461
|
+
"""
|
|
462
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
463
|
+
|
|
464
|
+
For more information, see https://www.github.com/run-llama/llama-cloud-py#with_streaming_response
|
|
465
|
+
"""
|
|
466
|
+
return AsyncSplitResourceWithStreamingResponse(self)
|
|
467
|
+
|
|
468
|
+
async def create(
|
|
469
|
+
self,
|
|
470
|
+
*,
|
|
471
|
+
categories: Iterable[SplitCategoryParam],
|
|
472
|
+
document_input: SplitDocumentInputParam,
|
|
473
|
+
organization_id: Optional[str] | Omit = omit,
|
|
474
|
+
project_id: Optional[str] | Omit = omit,
|
|
475
|
+
splitting_strategy: split_create_params.SplittingStrategy | Omit = omit,
|
|
476
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
477
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
478
|
+
extra_headers: Headers | None = None,
|
|
479
|
+
extra_query: Query | None = None,
|
|
480
|
+
extra_body: Body | None = None,
|
|
481
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
482
|
+
) -> SplitCreateResponse:
|
|
483
|
+
"""Create a document split job.
|
|
484
|
+
|
|
485
|
+
Experimental: This endpoint is not yet ready for
|
|
486
|
+
production use and is subject to change at any time.
|
|
487
|
+
|
|
488
|
+
Args:
|
|
489
|
+
categories: Categories to split the document into.
|
|
490
|
+
|
|
491
|
+
document_input: Document to be split.
|
|
492
|
+
|
|
493
|
+
splitting_strategy: Strategy for splitting the document.
|
|
494
|
+
|
|
495
|
+
extra_headers: Send extra headers
|
|
496
|
+
|
|
497
|
+
extra_query: Add additional query parameters to the request
|
|
498
|
+
|
|
499
|
+
extra_body: Add additional JSON properties to the request
|
|
500
|
+
|
|
501
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
502
|
+
"""
|
|
503
|
+
return await self._post(
|
|
504
|
+
"/api/v1/beta/split/jobs",
|
|
505
|
+
body=await async_maybe_transform(
|
|
506
|
+
{
|
|
507
|
+
"categories": categories,
|
|
508
|
+
"document_input": document_input,
|
|
509
|
+
"splitting_strategy": splitting_strategy,
|
|
510
|
+
},
|
|
511
|
+
split_create_params.SplitCreateParams,
|
|
512
|
+
),
|
|
513
|
+
options=make_request_options(
|
|
514
|
+
extra_headers=extra_headers,
|
|
515
|
+
extra_query=extra_query,
|
|
516
|
+
extra_body=extra_body,
|
|
517
|
+
timeout=timeout,
|
|
518
|
+
query=await async_maybe_transform(
|
|
519
|
+
{
|
|
520
|
+
"organization_id": organization_id,
|
|
521
|
+
"project_id": project_id,
|
|
522
|
+
},
|
|
523
|
+
split_create_params.SplitCreateParams,
|
|
524
|
+
),
|
|
525
|
+
),
|
|
526
|
+
cast_to=SplitCreateResponse,
|
|
527
|
+
)
|
|
528
|
+
|
|
529
|
+
def list(
|
|
530
|
+
self,
|
|
531
|
+
*,
|
|
532
|
+
organization_id: Optional[str] | Omit = omit,
|
|
533
|
+
page_size: Optional[int] | Omit = omit,
|
|
534
|
+
page_token: Optional[str] | Omit = omit,
|
|
535
|
+
project_id: Optional[str] | Omit = omit,
|
|
536
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
537
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
538
|
+
extra_headers: Headers | None = None,
|
|
539
|
+
extra_query: Query | None = None,
|
|
540
|
+
extra_body: Body | None = None,
|
|
541
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
542
|
+
) -> AsyncPaginator[SplitListResponse, AsyncPaginatedCursor[SplitListResponse]]:
|
|
543
|
+
"""List document split jobs.
|
|
544
|
+
|
|
545
|
+
Experimental: This endpoint is not yet ready for
|
|
546
|
+
production use and is subject to change at any time.
|
|
547
|
+
|
|
548
|
+
Args:
|
|
549
|
+
extra_headers: Send extra headers
|
|
550
|
+
|
|
551
|
+
extra_query: Add additional query parameters to the request
|
|
552
|
+
|
|
553
|
+
extra_body: Add additional JSON properties to the request
|
|
554
|
+
|
|
555
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
556
|
+
"""
|
|
557
|
+
return self._get_api_list(
|
|
558
|
+
"/api/v1/beta/split/jobs",
|
|
559
|
+
page=AsyncPaginatedCursor[SplitListResponse],
|
|
560
|
+
options=make_request_options(
|
|
561
|
+
extra_headers=extra_headers,
|
|
562
|
+
extra_query=extra_query,
|
|
563
|
+
extra_body=extra_body,
|
|
564
|
+
timeout=timeout,
|
|
565
|
+
query=maybe_transform(
|
|
566
|
+
{
|
|
567
|
+
"organization_id": organization_id,
|
|
568
|
+
"page_size": page_size,
|
|
569
|
+
"page_token": page_token,
|
|
570
|
+
"project_id": project_id,
|
|
571
|
+
},
|
|
572
|
+
split_list_params.SplitListParams,
|
|
573
|
+
),
|
|
574
|
+
),
|
|
575
|
+
model=SplitListResponse,
|
|
576
|
+
)
|
|
577
|
+
|
|
578
|
+
async def get(
|
|
579
|
+
self,
|
|
580
|
+
split_job_id: str,
|
|
581
|
+
*,
|
|
582
|
+
organization_id: Optional[str] | Omit = omit,
|
|
583
|
+
project_id: Optional[str] | Omit = omit,
|
|
584
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
585
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
586
|
+
extra_headers: Headers | None = None,
|
|
587
|
+
extra_query: Query | None = None,
|
|
588
|
+
extra_body: Body | None = None,
|
|
589
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
590
|
+
) -> SplitGetResponse:
|
|
591
|
+
"""
|
|
592
|
+
Get a document split job.
|
|
593
|
+
|
|
594
|
+
Experimental: This endpoint is not yet ready for production use and is subject
|
|
595
|
+
to change at any time.
|
|
596
|
+
|
|
597
|
+
Args:
|
|
598
|
+
extra_headers: Send extra headers
|
|
599
|
+
|
|
600
|
+
extra_query: Add additional query parameters to the request
|
|
601
|
+
|
|
602
|
+
extra_body: Add additional JSON properties to the request
|
|
603
|
+
|
|
604
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
605
|
+
"""
|
|
606
|
+
if not split_job_id:
|
|
607
|
+
raise ValueError(f"Expected a non-empty value for `split_job_id` but received {split_job_id!r}")
|
|
608
|
+
return await self._get(
|
|
609
|
+
f"/api/v1/beta/split/jobs/{split_job_id}",
|
|
610
|
+
options=make_request_options(
|
|
611
|
+
extra_headers=extra_headers,
|
|
612
|
+
extra_query=extra_query,
|
|
613
|
+
extra_body=extra_body,
|
|
614
|
+
timeout=timeout,
|
|
615
|
+
query=await async_maybe_transform(
|
|
616
|
+
{
|
|
617
|
+
"organization_id": organization_id,
|
|
618
|
+
"project_id": project_id,
|
|
619
|
+
},
|
|
620
|
+
split_get_params.SplitGetParams,
|
|
621
|
+
),
|
|
622
|
+
),
|
|
623
|
+
cast_to=SplitGetResponse,
|
|
624
|
+
)
|
|
625
|
+
|
|
626
|
+
async def split(
|
|
627
|
+
self,
|
|
628
|
+
*,
|
|
629
|
+
categories: Iterable[SplitCategoryParam],
|
|
630
|
+
document_input: SplitDocumentInputParam,
|
|
631
|
+
organization_id: Optional[str] | Omit = omit,
|
|
632
|
+
project_id: Optional[str] | Omit = omit,
|
|
633
|
+
splitting_strategy: split_create_params.SplittingStrategy | Omit = omit,
|
|
634
|
+
# Polling parameters
|
|
635
|
+
polling_interval: float = 1.0,
|
|
636
|
+
max_interval: float = 5.0,
|
|
637
|
+
timeout: float = 2000.0,
|
|
638
|
+
backoff: BackoffStrategy = "linear",
|
|
639
|
+
verbose: bool = False,
|
|
640
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
641
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
642
|
+
extra_headers: Headers | None = None,
|
|
643
|
+
extra_query: Query | None = None,
|
|
644
|
+
extra_body: Body | None = None,
|
|
645
|
+
) -> SplitGetResponse:
|
|
646
|
+
"""
|
|
647
|
+
Create a document split job and wait for it to complete, returning the result.
|
|
648
|
+
|
|
649
|
+
This is a convenience method that combines create() and wait_for_completion()
|
|
650
|
+
into a single call for the most common end-to-end workflow.
|
|
651
|
+
|
|
652
|
+
Experimental: This endpoint is not yet ready for production use and is subject
|
|
653
|
+
to change at any time.
|
|
654
|
+
|
|
655
|
+
Args:
|
|
656
|
+
categories: Categories to split the document into.
|
|
657
|
+
|
|
658
|
+
document_input: Document to be split.
|
|
659
|
+
|
|
660
|
+
organization_id: The organization ID to use for the split job.
|
|
661
|
+
|
|
662
|
+
project_id: The project ID to use for the split job.
|
|
663
|
+
|
|
664
|
+
splitting_strategy: Strategy for splitting the document.
|
|
665
|
+
|
|
666
|
+
polling_interval: Initial polling interval in seconds (default: 1.0)
|
|
667
|
+
|
|
668
|
+
max_interval: Maximum polling interval for backoff in seconds (default: 5.0)
|
|
669
|
+
|
|
670
|
+
timeout: Maximum time to wait in seconds (default: 2000.0)
|
|
671
|
+
|
|
672
|
+
backoff: Backoff strategy for polling intervals. Options:
|
|
673
|
+
- "constant": Keep the same polling interval
|
|
674
|
+
- "linear": Increase interval by 1 second each poll (default)
|
|
675
|
+
- "exponential": Double the interval each poll
|
|
676
|
+
|
|
677
|
+
verbose: Print progress indicators every 10 polls (default: False)
|
|
678
|
+
|
|
679
|
+
extra_headers: Send extra headers
|
|
680
|
+
|
|
681
|
+
extra_query: Add additional query parameters to the request
|
|
682
|
+
|
|
683
|
+
extra_body: Add additional JSON properties to the request
|
|
684
|
+
|
|
685
|
+
Returns:
|
|
686
|
+
The completed split job with result (SplitGetResponse)
|
|
687
|
+
|
|
688
|
+
Raises:
|
|
689
|
+
PollingTimeoutError: If the job doesn't complete within the timeout period
|
|
690
|
+
|
|
691
|
+
PollingError: If the job fails
|
|
692
|
+
|
|
693
|
+
Example:
|
|
694
|
+
```python
|
|
695
|
+
from llama_cloud import AsyncLlamaCloud
|
|
696
|
+
|
|
697
|
+
client = AsyncLlamaCloud(api_key="...")
|
|
698
|
+
|
|
699
|
+
# One-shot: create job, wait for completion, and get result
|
|
700
|
+
result = await client.beta.split.split(
|
|
701
|
+
categories=[
|
|
702
|
+
{"name": "Resume", "description": "Resume/CV documents"},
|
|
703
|
+
{"name": "Cover Letter", "description": "Cover letter documents"},
|
|
704
|
+
],
|
|
705
|
+
document_input={"type": "file_id", "value": "your-file-id"},
|
|
706
|
+
verbose=True,
|
|
707
|
+
)
|
|
708
|
+
|
|
709
|
+
# Result is ready to use immediately
|
|
710
|
+
for segment in result.result.segments:
|
|
711
|
+
print(f"Category: {segment.category}, Pages: {segment.pages}")
|
|
712
|
+
```
|
|
713
|
+
"""
|
|
714
|
+
# Create the job
|
|
715
|
+
job = await self.create(
|
|
716
|
+
categories=categories,
|
|
717
|
+
document_input=document_input,
|
|
718
|
+
organization_id=organization_id,
|
|
719
|
+
project_id=project_id,
|
|
720
|
+
splitting_strategy=splitting_strategy,
|
|
721
|
+
extra_headers=extra_headers,
|
|
722
|
+
extra_query=extra_query,
|
|
723
|
+
extra_body=extra_body,
|
|
724
|
+
)
|
|
725
|
+
|
|
726
|
+
# Wait for completion and return the result
|
|
727
|
+
return await self.wait_for_completion(
|
|
728
|
+
job.id,
|
|
729
|
+
organization_id=organization_id,
|
|
730
|
+
project_id=project_id,
|
|
731
|
+
polling_interval=polling_interval,
|
|
732
|
+
max_interval=max_interval,
|
|
733
|
+
timeout=timeout,
|
|
734
|
+
backoff=backoff,
|
|
735
|
+
verbose=verbose,
|
|
736
|
+
extra_headers=extra_headers,
|
|
737
|
+
extra_query=extra_query,
|
|
738
|
+
extra_body=extra_body,
|
|
739
|
+
)
|
|
740
|
+
|
|
741
|
+
async def wait_for_completion(
|
|
742
|
+
self,
|
|
743
|
+
split_job_id: str,
|
|
744
|
+
*,
|
|
745
|
+
organization_id: Optional[str] | Omit = omit,
|
|
746
|
+
project_id: Optional[str] | Omit = omit,
|
|
747
|
+
polling_interval: float = 1.0,
|
|
748
|
+
max_interval: float = 5.0,
|
|
749
|
+
timeout: float = 2000.0,
|
|
750
|
+
backoff: BackoffStrategy = "linear",
|
|
751
|
+
verbose: bool = False,
|
|
752
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
753
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
754
|
+
extra_headers: Headers | None = None,
|
|
755
|
+
extra_query: Query | None = None,
|
|
756
|
+
extra_body: Body | None = None,
|
|
757
|
+
) -> SplitGetResponse:
|
|
758
|
+
"""
|
|
759
|
+
Wait for a split job to complete by polling until it reaches a terminal state.
|
|
760
|
+
|
|
761
|
+
This method polls the job status at regular intervals until the job completes
|
|
762
|
+
successfully or fails. It uses configurable backoff strategies to optimize
|
|
763
|
+
polling behavior.
|
|
764
|
+
|
|
765
|
+
Experimental: This endpoint is not yet ready for production use and is subject
|
|
766
|
+
to change at any time.
|
|
767
|
+
|
|
768
|
+
Args:
|
|
769
|
+
split_job_id: The ID of the split job to wait for
|
|
770
|
+
|
|
771
|
+
organization_id: The organization ID
|
|
772
|
+
|
|
773
|
+
project_id: The project ID
|
|
774
|
+
|
|
775
|
+
polling_interval: Initial polling interval in seconds (default: 1.0)
|
|
776
|
+
|
|
777
|
+
max_interval: Maximum polling interval for backoff in seconds (default: 5.0)
|
|
778
|
+
|
|
779
|
+
timeout: Maximum time to wait in seconds (default: 2000.0)
|
|
780
|
+
|
|
781
|
+
backoff: Backoff strategy for polling intervals. Options:
|
|
782
|
+
- "constant": Keep the same polling interval
|
|
783
|
+
- "linear": Increase interval by 1 second each poll (default)
|
|
784
|
+
- "exponential": Double the interval each poll
|
|
785
|
+
|
|
786
|
+
verbose: Print progress indicators every 10 polls (default: False)
|
|
787
|
+
|
|
788
|
+
extra_headers: Send extra headers
|
|
789
|
+
|
|
790
|
+
extra_query: Add additional query parameters to the request
|
|
791
|
+
|
|
792
|
+
extra_body: Add additional JSON properties to the request
|
|
793
|
+
|
|
794
|
+
Returns:
|
|
795
|
+
The completed SplitGetResponse with result
|
|
796
|
+
|
|
797
|
+
Raises:
|
|
798
|
+
PollingTimeoutError: If the job doesn't complete within the timeout period
|
|
799
|
+
|
|
800
|
+
PollingError: If the job fails
|
|
801
|
+
|
|
802
|
+
Example:
|
|
803
|
+
```python
|
|
804
|
+
from llama_cloud import AsyncLlamaCloud
|
|
805
|
+
|
|
806
|
+
client = AsyncLlamaCloud(api_key="...")
|
|
807
|
+
|
|
808
|
+
# Create a split job
|
|
809
|
+
job = await client.beta.split.create(
|
|
810
|
+
categories=[{"name": "Resume"}, {"name": "Cover Letter"}],
|
|
811
|
+
document_input={"type": "file_id", "value": "your-file-id"},
|
|
812
|
+
)
|
|
813
|
+
|
|
814
|
+
# Wait for it to complete
|
|
815
|
+
completed_job = await client.beta.split.wait_for_completion(job.id, verbose=True)
|
|
816
|
+
|
|
817
|
+
# Access the result
|
|
818
|
+
for segment in completed_job.result.segments:
|
|
819
|
+
print(f"Category: {segment.category}, Pages: {segment.pages}")
|
|
820
|
+
```
|
|
821
|
+
"""
|
|
822
|
+
if not split_job_id:
|
|
823
|
+
raise ValueError(f"Expected a non-empty value for `split_job_id` but received {split_job_id!r}")
|
|
824
|
+
|
|
825
|
+
async def get_status() -> SplitGetResponse:
|
|
826
|
+
return await self.get(
|
|
827
|
+
split_job_id,
|
|
828
|
+
organization_id=organization_id,
|
|
829
|
+
project_id=project_id,
|
|
830
|
+
extra_headers=extra_headers,
|
|
831
|
+
extra_query=extra_query,
|
|
832
|
+
extra_body=extra_body,
|
|
833
|
+
)
|
|
834
|
+
|
|
835
|
+
def is_complete(job: SplitGetResponse) -> bool:
|
|
836
|
+
return job.status == "completed"
|
|
837
|
+
|
|
838
|
+
def is_error(job: SplitGetResponse) -> bool:
|
|
839
|
+
return job.status == "failed"
|
|
840
|
+
|
|
841
|
+
def get_error_message(job: SplitGetResponse) -> str:
|
|
842
|
+
error_parts = [f"Job {split_job_id} failed with status: {job.status}"]
|
|
843
|
+
if job.error_message:
|
|
844
|
+
error_parts.append(f"Error: {job.error_message}")
|
|
845
|
+
return " | ".join(error_parts)
|
|
846
|
+
|
|
847
|
+
return await poll_until_complete_async(
|
|
848
|
+
get_status_fn=get_status,
|
|
849
|
+
is_complete_fn=is_complete,
|
|
850
|
+
is_error_fn=is_error,
|
|
851
|
+
get_error_message_fn=get_error_message,
|
|
852
|
+
polling_interval=polling_interval,
|
|
853
|
+
max_interval=max_interval,
|
|
854
|
+
timeout=timeout,
|
|
855
|
+
backoff=backoff,
|
|
856
|
+
verbose=verbose,
|
|
857
|
+
)
|
|
858
|
+
|
|
859
|
+
|
|
860
|
+
class SplitResourceWithRawResponse:
|
|
861
|
+
def __init__(self, split: SplitResource) -> None:
|
|
862
|
+
self._split = split
|
|
863
|
+
|
|
864
|
+
self.create = to_raw_response_wrapper(
|
|
865
|
+
split.create,
|
|
866
|
+
)
|
|
867
|
+
self.list = to_raw_response_wrapper(
|
|
868
|
+
split.list,
|
|
869
|
+
)
|
|
870
|
+
self.get = to_raw_response_wrapper(
|
|
871
|
+
split.get,
|
|
872
|
+
)
|
|
873
|
+
|
|
874
|
+
|
|
875
|
+
class AsyncSplitResourceWithRawResponse:
|
|
876
|
+
def __init__(self, split: AsyncSplitResource) -> None:
|
|
877
|
+
self._split = split
|
|
878
|
+
|
|
879
|
+
self.create = async_to_raw_response_wrapper(
|
|
880
|
+
split.create,
|
|
881
|
+
)
|
|
882
|
+
self.list = async_to_raw_response_wrapper(
|
|
883
|
+
split.list,
|
|
884
|
+
)
|
|
885
|
+
self.get = async_to_raw_response_wrapper(
|
|
886
|
+
split.get,
|
|
887
|
+
)
|
|
888
|
+
|
|
889
|
+
|
|
890
|
+
class SplitResourceWithStreamingResponse:
|
|
891
|
+
def __init__(self, split: SplitResource) -> None:
|
|
892
|
+
self._split = split
|
|
893
|
+
|
|
894
|
+
self.create = to_streamed_response_wrapper(
|
|
895
|
+
split.create,
|
|
896
|
+
)
|
|
897
|
+
self.list = to_streamed_response_wrapper(
|
|
898
|
+
split.list,
|
|
899
|
+
)
|
|
900
|
+
self.get = to_streamed_response_wrapper(
|
|
901
|
+
split.get,
|
|
902
|
+
)
|
|
903
|
+
|
|
904
|
+
|
|
905
|
+
class AsyncSplitResourceWithStreamingResponse:
|
|
906
|
+
def __init__(self, split: AsyncSplitResource) -> None:
|
|
907
|
+
self._split = split
|
|
908
|
+
|
|
909
|
+
self.create = async_to_streamed_response_wrapper(
|
|
910
|
+
split.create,
|
|
911
|
+
)
|
|
912
|
+
self.list = async_to_streamed_response_wrapper(
|
|
913
|
+
split.list,
|
|
914
|
+
)
|
|
915
|
+
self.get = async_to_streamed_response_wrapper(
|
|
916
|
+
split.get,
|
|
917
|
+
)
|