flowcept 0.9.8__tar.gz → 0.9.10__tar.gz
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.
- {flowcept-0.9.8 → flowcept-0.9.10}/Makefile +1 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/PKG-INFO +2 -1
- {flowcept-0.9.8 → flowcept-0.9.10}/docs/api-reference.rst +13 -19
- {flowcept-0.9.8 → flowcept-0.9.10}/docs/architecture.rst +4 -6
- {flowcept-0.9.8 → flowcept-0.9.10}/docs/conf.py +5 -1
- flowcept-0.9.10/docs/img/PROV-AGENT.svg +226 -0
- flowcept-0.9.10/docs/large_data.rst +20 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/docs/prov_capture.rst +156 -93
- {flowcept-0.9.8 → flowcept-0.9.10}/docs/prov_query.rst +12 -10
- {flowcept-0.9.8 → flowcept-0.9.10}/docs/quick_start.rst +7 -11
- flowcept-0.9.10/docs/schemas.rst +51 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/docs/setup.rst +129 -15
- {flowcept-0.9.8 → flowcept-0.9.10}/pyproject.toml +1 -1
- {flowcept-0.9.8 → flowcept-0.9.10}/resources/sample_settings.yaml +1 -1
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/__init__.py +6 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/gui/agent_gui.py +6 -3
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/prompts/general_prompts.py +1 -1
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/prompts/in_memory_query_prompts.py +2 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/tools/general_tools.py +38 -2
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/cli.py +2 -2
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/vocabulary.py +20 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/configs.py +2 -2
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowcept_api/flowcept_controller.py +8 -9
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/instrumentation/flowcept_loop.py +3 -2
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/version.py +1 -1
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/adapters/test_file_observer.py +1 -1
- flowcept-0.9.8/docs/schemas.rst +0 -11
- {flowcept-0.9.8 → flowcept-0.9.10}/.github/workflows/checks.yml +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/.github/workflows/create-release-n-publish.yml +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/.github/workflows/run-llm-tests.yml +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/.github/workflows/run-tests-all-dbs.yml +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/.github/workflows/run-tests-in-container.yml +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/.github/workflows/run-tests-kafka.yml +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/.github/workflows/run-tests-py313.yml +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/.github/workflows/run-tests-simple.yml +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/.github/workflows/run-tests.yml +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/.github/workflows/run_examples.sh +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/.github/workflows/version_bumper.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/.gitignore +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/.readthedocs.yaml +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/CONTRIBUTING.md +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/LICENSE +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/README.md +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/deployment/Dockerfile +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/deployment/compose-grafana.yml +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/deployment/compose-kafka.yml +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/deployment/compose-mofka.yml +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/deployment/compose-mongo.yml +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/deployment/compose.yml +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/docs/cli-reference.rst +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/docs/contributing.rst +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/docs/img/architecture-diagram.png +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/docs/img/flowcept-logo-dark.png +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/docs/img/flowcept-logo.png +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/docs/index.rst +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/docs/prov_storage.rst +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/docs/task_schema.rst +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/docs/telemetry_capture.rst +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/docs/workflow_schema.rst +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/agents/a2a/README.md +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/agents/a2a/agent1.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/agents/a2a/agent2.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/agents/aec_agent_context_manager.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/agents/aec_agent_mock.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/agents/aec_prompts.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/agents/opt_driver_mock.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/consumers/ping_pong_example.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/consumers/simple_consumer.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/consumers/simple_publisher.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/convergence_loop_example.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/dask_example.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/distributed_consumer_example.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/instrumented_loop_example.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/instrumented_simple_example.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/llm_complex/README.md +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/llm_complex/custom_provenance_id_mapping.yaml +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/llm_complex/llm_dataprep.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/llm_complex/llm_main_example.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/llm_complex/llm_model.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/llm_complex/llm_test_runner.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/mlflow_example.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/mqtt_example.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/single_layer_perceptron_example.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/start_here.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/tensorboard_example.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/unmanaged/main.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/examples/unmanaged/simple_task.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/notebooks/analytics.ipynb +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/notebooks/dask.ipynb +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/notebooks/dask_from_CLI.ipynb +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/notebooks/mlflow.ipynb +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/notebooks/reset_dask_nb_exec_counts.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/notebooks/tensorboard.ipynb +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/resources/mofka/bedrock_setup.sh +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/resources/mofka/consumer.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/resources/mofka/mofka-requirements.yaml +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/resources/mofka/mofka_config.json +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/resources/simple_redis_consumer.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/agent_client.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/agents_utils.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/dynamic_schema_tracker.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/flowcept_agent.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/flowcept_ctx_manager.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/gui/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/gui/audio_utils.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/gui/gui_utils.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/llms/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/llms/claude_gcp.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/llms/gemini25.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/prompts/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/tools/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/tools/in_memory_queries/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/tools/in_memory_queries/in_memory_queries_tools.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/tools/in_memory_queries/pandas_agent_utils.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/analytics/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/analytics/analytics_utils.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/analytics/data_augmentation.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/analytics/plot.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/autoflush_buffer.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/docdb_dao/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/docdb_dao/docdb_dao_base.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/docdb_dao/lmdb_dao.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/docdb_dao/mongodb_dao.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/keyvalue_dao.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/mq_dao/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/mq_dao/mq_dao_base.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/mq_dao/mq_dao_kafka.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/mq_dao/mq_dao_mofka.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/mq_dao/mq_dao_redis.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/redis_conn.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/flowcept_dataclasses/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/flowcept_dataclasses/base_settings_dataclasses.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/flowcept_dataclasses/task_object.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/flowcept_dataclasses/telemetry.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/flowcept_dataclasses/workflow_object.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/flowcept_logger.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/query_utils.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/settings_factory.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/task_data_preprocess.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/utils.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowcept_api/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowcept_api/db_api.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowcept_api/task_query_api.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowcept_webserver/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowcept_webserver/app.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowcept_webserver/resources/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowcept_webserver/resources/query_rsrc.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowcept_webserver/resources/task_messages_rsrc.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/base_interceptor.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/brokers/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/brokers/mqtt_interceptor.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/dask/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/dask/dask_dataclasses.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/dask/dask_interceptor.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/dask/dask_plugins.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/instrumentation_interceptor.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/interceptor_state_manager.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/mlflow/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/mlflow/interception_event_handler.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/mlflow/mlflow_dao.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/mlflow/mlflow_dataclasses.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/mlflow/mlflow_interceptor.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/tensorboard/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/tensorboard/tensorboard_dataclasses.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/tensorboard/tensorboard_interceptor.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/consumers/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/consumers/agent/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/consumers/agent/base_agent_context_manager.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/consumers/base_consumer.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/consumers/consumer_utils.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/consumers/document_inserter.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/telemetry_capture.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/instrumentation/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/instrumentation/flowcept_agent_task.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/instrumentation/flowcept_decorator.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/instrumentation/flowcept_task.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/instrumentation/flowcept_torch.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/instrumentation/task_capture.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/adapters/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/adapters/dask_test_utils.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/adapters/test_broker.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/adapters/test_dask.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/adapters/test_dask_with_context_mgmt.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/adapters/test_mlflow.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/adapters/test_tensorboard.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/api/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/api/db_api_test.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/api/flowcept_api_test.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/api/sample_data.json +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/api/sample_data_with_telemetry_and_rai.json +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/api/task_query_api_test.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/doc_db_inserter/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/doc_db_inserter/doc_db_inserter_test.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/instrumentation_tests/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/instrumentation_tests/flowcept_explicit_tasks.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/instrumentation_tests/flowcept_loop_test.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/instrumentation_tests/flowcept_task_decorator_test.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/instrumentation_tests/ml_tests/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/instrumentation_tests/ml_tests/dl_trainer.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/instrumentation_tests/ml_tests/ml_decorator_dask_test.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/instrumentation_tests/ml_tests/ml_decorator_test.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/misc_tests/__init__.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/misc_tests/log_test.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/misc_tests/singleton_test.py +0 -0
- {flowcept-0.9.8 → flowcept-0.9.10}/tests/misc_tests/telemetry_test.py +0 -0
|
@@ -45,6 +45,7 @@ clean:
|
|
|
45
45
|
@find . -type d -name "*output_data*" -exec sh -c 'rm -rf "$$@" 2>/dev/null || true' sh {} +
|
|
46
46
|
@find . -type f -name "*nohup*" -exec sh -c 'rm -f "$$@" 2>/dev/null || true' sh {} +
|
|
47
47
|
@sh -c 'sphinx-build -M clean docs docs/_build > /dev/null 2>&1 || true'
|
|
48
|
+
@sh -c 'rm -f docs/generated/* 2>/dev/null || true'
|
|
48
49
|
|
|
49
50
|
# Build the HTML documentation using Sphinx
|
|
50
51
|
.PHONY: docs
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flowcept
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.10
|
|
4
4
|
Summary: Capture and query workflow provenance data using data observability
|
|
5
5
|
Author: Oak Ridge National Laboratory
|
|
6
6
|
License-Expression: MIT
|
|
@@ -56,6 +56,7 @@ Requires-Dist: tensorflow; extra == 'all'
|
|
|
56
56
|
Requires-Dist: tomli; extra == 'all'
|
|
57
57
|
Requires-Dist: watchdog; extra == 'all'
|
|
58
58
|
Provides-Extra: analytics
|
|
59
|
+
Requires-Dist: matplotlib; extra == 'analytics'
|
|
59
60
|
Requires-Dist: plotly; extra == 'analytics'
|
|
60
61
|
Requires-Dist: scipy; extra == 'analytics'
|
|
61
62
|
Requires-Dist: seaborn; extra == 'analytics'
|
|
@@ -1,27 +1,17 @@
|
|
|
1
1
|
API Reference
|
|
2
2
|
=============
|
|
3
3
|
|
|
4
|
-
.. autosummary::
|
|
5
|
-
:toctree: generated/
|
|
6
|
-
:recursive:
|
|
7
|
-
|
|
8
|
-
flowcept.Flowcept
|
|
9
|
-
flowcept.flowcept_api.db_api.DBAPI
|
|
10
|
-
flowcept.TaskObject
|
|
11
|
-
flowcept.WorkflowObject
|
|
12
|
-
flowcept.FlowceptTask
|
|
13
|
-
flowcept.FlowceptLoop
|
|
14
|
-
flowcept.FlowceptLightweightLoop
|
|
15
4
|
|
|
16
5
|
Main Flowcept Object
|
|
17
6
|
--------------------
|
|
18
7
|
|
|
8
|
+
See also: `Flowcept object <https://flowcept.readthedocs.io/en/latest/prov_capture.html>`_ in provenance capture methods.
|
|
9
|
+
|
|
19
10
|
.. autoclass:: flowcept.Flowcept
|
|
20
11
|
:members:
|
|
21
12
|
:special-members: __init__
|
|
22
13
|
:exclude-members: __weakref__, __dict__, __module__
|
|
23
|
-
|
|
24
|
-
|
|
14
|
+
:noindex:
|
|
25
15
|
|
|
26
16
|
Flowcept.db: Querying the Database
|
|
27
17
|
----------------------------------
|
|
@@ -49,18 +39,20 @@ Typical usage:
|
|
|
49
39
|
:members:
|
|
50
40
|
:undoc-members:
|
|
51
41
|
:show-inheritance:
|
|
52
|
-
|
|
42
|
+
:noindex:
|
|
53
43
|
|
|
54
44
|
Main Message Objects
|
|
55
45
|
---------------------
|
|
56
46
|
|
|
57
47
|
.. autoclass:: flowcept.TaskObject
|
|
58
48
|
:members:
|
|
49
|
+
:noindex:
|
|
59
50
|
|
|
60
51
|
.. autoclass:: flowcept.WorkflowObject
|
|
61
52
|
:members:
|
|
53
|
+
:noindex:
|
|
62
54
|
|
|
63
|
-
FlowceptTask
|
|
55
|
+
FlowceptTask
|
|
64
56
|
-------------------
|
|
65
57
|
|
|
66
58
|
.. autoclass:: flowcept.FlowceptTask
|
|
@@ -68,8 +60,9 @@ FlowceptTask object
|
|
|
68
60
|
:special-members: __init__
|
|
69
61
|
:undoc-members:
|
|
70
62
|
:show-inheritance:
|
|
63
|
+
:noindex:
|
|
71
64
|
|
|
72
|
-
FlowceptLoop
|
|
65
|
+
FlowceptLoop
|
|
73
66
|
-------------------
|
|
74
67
|
|
|
75
68
|
.. autoclass:: flowcept.FlowceptLoop
|
|
@@ -77,13 +70,14 @@ FlowceptLoop object
|
|
|
77
70
|
:special-members: __init__
|
|
78
71
|
:undoc-members:
|
|
79
72
|
:show-inheritance:
|
|
73
|
+
:noindex:
|
|
80
74
|
|
|
81
|
-
|
|
82
|
-
FlowceptLightweightLoop object
|
|
75
|
+
FlowceptLightweightLoop
|
|
83
76
|
------------------------------
|
|
84
77
|
|
|
85
78
|
.. autoclass:: flowcept.FlowceptLightweightLoop
|
|
86
79
|
:members:
|
|
87
80
|
:special-members: __init__
|
|
88
81
|
:undoc-members:
|
|
89
|
-
:show-inheritance:
|
|
82
|
+
:show-inheritance:
|
|
83
|
+
:noindex:
|
|
@@ -8,9 +8,7 @@ Flowcept Architecture
|
|
|
8
8
|
Overview
|
|
9
9
|
--------
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
(Figure below) that follows established distributed design principles and is extensible to support
|
|
13
|
-
LLM-based provenance agents.
|
|
11
|
+
Flowcept follows established distributed design principles and is extensible to support multiple MQs as backends, multiple database models (e.g., Document, Relational, Graph), and LLM-based agents.
|
|
14
12
|
This provides a flexible, loosely coupled framework that scales from small centralized workflows
|
|
15
13
|
to large HPC workflows across the **Edge–Cloud–HPC (ECH)** continuum.
|
|
16
14
|
|
|
@@ -19,8 +17,6 @@ to large HPC workflows across the **Edge–Cloud–HPC (ECH)** continuum.
|
|
|
19
17
|
:align: center
|
|
20
18
|
:width: 100%
|
|
21
19
|
|
|
22
|
-
Reference architecture for distributed workflow provenance with a provenance AI agent.
|
|
23
|
-
|
|
24
20
|
Capture Mechanisms
|
|
25
21
|
------------------
|
|
26
22
|
|
|
@@ -59,7 +55,7 @@ They can store provenance into different backends, depending on performance and
|
|
|
59
55
|
|
|
60
56
|
- **MongoDB** → efficient bulk writes and flexible aggregation queries.
|
|
61
57
|
- **LMDB** → lightweight key–value store, optimized for high-frequency inserts.
|
|
62
|
-
- **
|
|
58
|
+
- **Custom** → Other storage mechanisms can be implemented by following Flowcept's Base Consumer class. See `here <https://flowcept.readthedocs.io/en/latest/prov_storage.html#provenance-consumer>`_.
|
|
63
59
|
|
|
64
60
|
Access and Querying
|
|
65
61
|
-------------------
|
|
@@ -70,6 +66,8 @@ Users can access provenance data through multiple interfaces:
|
|
|
70
66
|
- **Grafana dashboards** for monitoring and visualization
|
|
71
67
|
- **Natural language queries** through Flowcept’s LLM-powered agent (introduced in this work)
|
|
72
68
|
|
|
69
|
+
See more about `querying <https://flowcept.readthedocs.io/en/latest/prov_query.html>`_.
|
|
70
|
+
|
|
73
71
|
Deployment Flexibility
|
|
74
72
|
----------------------
|
|
75
73
|
|
|
@@ -13,8 +13,12 @@ author = "Oak Ridge National Lab"
|
|
|
13
13
|
# -- General configuration ---------------------------------------------------
|
|
14
14
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
|
15
15
|
|
|
16
|
-
extensions = [
|
|
16
|
+
extensions = [
|
|
17
|
+
"sphinx.ext.autodoc",
|
|
18
|
+
"sphinx.ext.autosummary",
|
|
19
|
+
]
|
|
17
20
|
|
|
21
|
+
autosummary_generate = True
|
|
18
22
|
templates_path = ["_templates"]
|
|
19
23
|
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
|
|
20
24
|
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="620pt" height="666pt" viewBox="0.00 0.00 619.79 665.60">
|
|
2
|
+
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 661.6)">
|
|
3
|
+
<title>AIAgentProvenance</title>
|
|
4
|
+
<polygon fill="white" stroke="none" points="-4,4 -4,-661.6 615.79,-661.6 615.79,4 -4,4"/>
|
|
5
|
+
<!-- DataObject -->
|
|
6
|
+
<g id="node1" class="node">
|
|
7
|
+
<title>DataObject</title>
|
|
8
|
+
<ellipse fill="lightyellow" stroke="black" cx="270.92" cy="-373.2" rx="59.34" ry="18"/>
|
|
9
|
+
<text text-anchor="middle" x="270.92" y="-369" font-family="Helvetica,sans-Serif" font-size="14.00">DataObject</text>
|
|
10
|
+
</g>
|
|
11
|
+
<!-- ToolExecution -->
|
|
12
|
+
<g id="node11" class="node">
|
|
13
|
+
<title>ToolExecution</title>
|
|
14
|
+
<polygon fill="lightblue" stroke="black" points="312.83,-302.4 233.01,-302.4 233.01,-266.4 312.83,-266.4 312.83,-302.4"/>
|
|
15
|
+
<text text-anchor="middle" x="272.92" y="-280.2" font-family="Helvetica,sans-Serif" font-size="14.00">AgentTool</text>
|
|
16
|
+
</g>
|
|
17
|
+
<!-- DataObject->ToolExecution -->
|
|
18
|
+
<g id="edge8" class="edge">
|
|
19
|
+
<title>DataObject->ToolExecution</title>
|
|
20
|
+
<path fill="none" stroke="black" d="M245,-356.58C232.59,-346.96 221.72,-333.91 228.29,-320.4 230.02,-316.84 232.31,-313.53 234.94,-310.49"/>
|
|
21
|
+
<polygon fill="black" stroke="black" points="237.24,-313.14 241.98,-303.67 232.37,-308.11 237.24,-313.14"/>
|
|
22
|
+
<text text-anchor="middle" x="276.11" y="-324.6" font-family="Times,serif" font-size="14.00">wasGeneratedBy</text>
|
|
23
|
+
</g>
|
|
24
|
+
<!-- AIAgent -->
|
|
25
|
+
<g id="node13" class="node">
|
|
26
|
+
<title>AIAgent</title>
|
|
27
|
+
<polygon fill="orange" stroke="black" points="447.03,-23.56 390.92,-36 334.81,-23.56 356.24,-3.44 425.6,-3.44 447.03,-23.56"/>
|
|
28
|
+
<text text-anchor="middle" x="390.92" y="-13.8" font-family="Helvetica,sans-Serif" font-size="14.00">AIAgent</text>
|
|
29
|
+
</g>
|
|
30
|
+
<!-- DataObject->AIAgent -->
|
|
31
|
+
<g id="edge9" class="edge">
|
|
32
|
+
<title>DataObject->AIAgent</title>
|
|
33
|
+
<path fill="none" stroke="black" d="M323.39,-364.52C395.64,-352.44 516.92,-326.1 516.92,-285.4 516.92,-285.4 516.92,-285.4 516.92,-105.8 516.92,-66.68 475.22,-43.85 439.8,-31.5"/>
|
|
34
|
+
<polygon fill="black" stroke="black" points="441.1,-28.24 430.5,-28.47 438.93,-34.9 441.1,-28.24"/>
|
|
35
|
+
<text text-anchor="middle" x="564.35" y="-191.4" font-family="Times,serif" font-size="14.00">wasAttributedTo</text>
|
|
36
|
+
</g>
|
|
37
|
+
<!-- Model -->
|
|
38
|
+
<g id="node2" class="node">
|
|
39
|
+
<title>Model</title>
|
|
40
|
+
<ellipse fill="lightyellow" stroke="black" cx="316.92" cy="-106.8" rx="46.46" ry="18"/>
|
|
41
|
+
<text text-anchor="middle" x="316.92" y="-102.6" font-family="Helvetica,sans-Serif" font-size="14.00">AIModel</text>
|
|
42
|
+
</g>
|
|
43
|
+
<!-- DomainData -->
|
|
44
|
+
<g id="node3" class="node">
|
|
45
|
+
<title>DomainData</title>
|
|
46
|
+
<ellipse fill="lightyellow" stroke="black" cx="188.92" cy="-462" rx="64.71" ry="18"/>
|
|
47
|
+
<text text-anchor="middle" x="188.92" y="-457.8" font-family="Helvetica,sans-Serif" font-size="14.00">DomainData</text>
|
|
48
|
+
</g>
|
|
49
|
+
<!-- DomainData->DataObject -->
|
|
50
|
+
<g id="edge17" class="edge">
|
|
51
|
+
<title>DomainData->DataObject</title>
|
|
52
|
+
<path fill="none" stroke="gray" stroke-dasharray="5,2" d="M204.73,-444.26C216.87,-431.42 233.82,-413.48 247.52,-398.97"/>
|
|
53
|
+
<polygon fill="gray" stroke="gray" points="249.8,-401.66 254.12,-391.98 244.71,-396.85 249.8,-401.66"/>
|
|
54
|
+
</g>
|
|
55
|
+
<!-- Task -->
|
|
56
|
+
<g id="node10" class="node">
|
|
57
|
+
<title>Task</title>
|
|
58
|
+
<polygon fill="lightblue" stroke="black" points="328.92,-568.8 274.92,-568.8 274.92,-532.8 328.92,-532.8 328.92,-568.8"/>
|
|
59
|
+
<text text-anchor="middle" x="301.92" y="-546.6" font-family="Helvetica,sans-Serif" font-size="14.00">Task</text>
|
|
60
|
+
</g>
|
|
61
|
+
<!-- DomainData->Task -->
|
|
62
|
+
<g id="edge11" class="edge">
|
|
63
|
+
<title>DomainData->Task</title>
|
|
64
|
+
<path fill="none" stroke="black" d="M180.09,-479.95C175.74,-490.89 172.83,-504.89 180.29,-514.8 199.26,-539.99 235.18,-547.94 263.08,-550.06"/>
|
|
65
|
+
<polygon fill="black" stroke="black" points="262.8,-553.55 272.97,-550.57 263.16,-546.56 262.8,-553.55"/>
|
|
66
|
+
<text text-anchor="middle" x="228.11" y="-502.2" font-family="Times,serif" font-size="14.00">wasGeneratedBy</text>
|
|
67
|
+
</g>
|
|
68
|
+
<!-- Telemetry -->
|
|
69
|
+
<g id="node4" class="node">
|
|
70
|
+
<title>Telemetry</title>
|
|
71
|
+
<ellipse fill="lightyellow" stroke="black" cx="522.92" cy="-462" rx="74.36" ry="18"/>
|
|
72
|
+
<text text-anchor="middle" x="522.92" y="-457.8" font-family="Helvetica,sans-Serif" font-size="14.00">TelemetryData</text>
|
|
73
|
+
</g>
|
|
74
|
+
<!-- Telemetry->DataObject -->
|
|
75
|
+
<g id="edge18" class="edge">
|
|
76
|
+
<title>Telemetry->DataObject</title>
|
|
77
|
+
<path fill="none" stroke="gray" stroke-dasharray="5,2" d="M481.31,-446.67C436.92,-431.38 366.66,-407.18 319.7,-391"/>
|
|
78
|
+
<polygon fill="gray" stroke="gray" points="320.91,-387.72 310.31,-387.77 318.63,-394.33 320.91,-387.72"/>
|
|
79
|
+
</g>
|
|
80
|
+
<!-- Telemetry->Task -->
|
|
81
|
+
<g id="edge12" class="edge">
|
|
82
|
+
<title>Telemetry->Task</title>
|
|
83
|
+
<path fill="none" stroke="black" d="M499.8,-479.44C483.03,-490.74 459.41,-505.34 436.92,-514.8 405.57,-527.98 367.99,-537.23 340.45,-542.9"/>
|
|
84
|
+
<polygon fill="black" stroke="black" points="339.92,-539.43 330.79,-544.81 341.28,-546.3 339.92,-539.43"/>
|
|
85
|
+
<text text-anchor="middle" x="516.72" y="-502.2" font-family="Times,serif" font-size="14.00">wasGeneratedBy</text>
|
|
86
|
+
</g>
|
|
87
|
+
<!-- SchedulingData -->
|
|
88
|
+
<g id="node5" class="node">
|
|
89
|
+
<title>SchedulingData</title>
|
|
90
|
+
<ellipse fill="lightyellow" stroke="black" cx="350.92" cy="-462" rx="79.22" ry="18"/>
|
|
91
|
+
<text text-anchor="middle" x="350.92" y="-457.8" font-family="Helvetica,sans-Serif" font-size="14.00">SchedulingData</text>
|
|
92
|
+
</g>
|
|
93
|
+
<!-- SchedulingData->DataObject -->
|
|
94
|
+
<g id="edge19" class="edge">
|
|
95
|
+
<title>SchedulingData->DataObject</title>
|
|
96
|
+
<path fill="none" stroke="gray" stroke-dasharray="5,2" d="M335.49,-444.26C323.65,-431.42 307.12,-413.48 293.75,-398.97"/>
|
|
97
|
+
<polygon fill="gray" stroke="gray" points="296.67,-396.98 287.32,-392 291.53,-401.72 296.67,-396.98"/>
|
|
98
|
+
</g>
|
|
99
|
+
<!-- SchedulingData->Task -->
|
|
100
|
+
<g id="edge10" class="edge">
|
|
101
|
+
<title>SchedulingData->Task</title>
|
|
102
|
+
<path fill="none" stroke="black" d="M344.84,-480.33C340.91,-490.65 335.33,-503.84 328.92,-514.8 327.25,-517.66 325.37,-520.54 323.41,-523.37"/>
|
|
103
|
+
<polygon fill="black" stroke="black" points="320.61,-521.28 317.48,-531.4 326.24,-525.44 320.61,-521.28"/>
|
|
104
|
+
<text text-anchor="middle" x="385.18" y="-502.2" font-family="Times,serif" font-size="14.00">wasGeneratedBy</text>
|
|
105
|
+
</g>
|
|
106
|
+
<!-- Prompt -->
|
|
107
|
+
<g id="node6" class="node">
|
|
108
|
+
<title>Prompt</title>
|
|
109
|
+
<ellipse fill="lightyellow" stroke="black" cx="209.92" cy="-106.8" rx="42.16" ry="18"/>
|
|
110
|
+
<text text-anchor="middle" x="209.92" y="-102.6" font-family="Helvetica,sans-Serif" font-size="14.00">Prompt</text>
|
|
111
|
+
</g>
|
|
112
|
+
<!-- Prompt->DataObject -->
|
|
113
|
+
<g id="edge20" class="edge">
|
|
114
|
+
<title>Prompt->DataObject</title>
|
|
115
|
+
<path fill="none" stroke="gray" stroke-dasharray="5,2" d="M177.76,-118.85C159.79,-125.75 140.01,-134.8 134.92,-142.8 130.91,-149.1 133.23,-152.33 134.92,-159.6 154.77,-245.23 165.09,-270.15 221.92,-337.2 225.85,-341.84 230.52,-346.17 235.39,-350.1"/>
|
|
116
|
+
<polygon fill="gray" stroke="gray" points="232.94,-352.64 243.05,-355.82 237.13,-347.03 232.94,-352.64"/>
|
|
117
|
+
</g>
|
|
118
|
+
<!-- ResponseData -->
|
|
119
|
+
<g id="node7" class="node">
|
|
120
|
+
<title>ResponseData</title>
|
|
121
|
+
<ellipse fill="lightyellow" stroke="black" cx="74.92" cy="-106.8" rx="74.92" ry="18"/>
|
|
122
|
+
<text text-anchor="middle" x="74.92" y="-102.6" font-family="Helvetica,sans-Serif" font-size="14.00">ResponseData</text>
|
|
123
|
+
</g>
|
|
124
|
+
<!-- ResponseData->DataObject -->
|
|
125
|
+
<g id="edge21" class="edge">
|
|
126
|
+
<title>ResponseData->DataObject</title>
|
|
127
|
+
<path fill="none" stroke="gray" stroke-dasharray="5,2" d="M80.55,-125.14C92.61,-160.7 123.44,-243.45 166.92,-302.4 182.67,-323.76 207.04,-340.61 228.23,-352.41"/>
|
|
128
|
+
<polygon fill="gray" stroke="gray" points="226.51,-355.46 236.98,-357.07 229.81,-349.28 226.51,-355.46"/>
|
|
129
|
+
</g>
|
|
130
|
+
<!-- LLMInvocation -->
|
|
131
|
+
<g id="node12" class="node">
|
|
132
|
+
<title>LLMInvocation</title>
|
|
133
|
+
<polygon fill="lightblue" stroke="black" points="338.51,-213.6 207.33,-213.6 207.33,-177.6 338.51,-177.6 338.51,-213.6"/>
|
|
134
|
+
<text text-anchor="middle" x="272.92" y="-191.4" font-family="Helvetica,sans-Serif" font-size="14.00">AIModelInvocation</text>
|
|
135
|
+
</g>
|
|
136
|
+
<!-- ResponseData->LLMInvocation -->
|
|
137
|
+
<g id="edge13" class="edge">
|
|
138
|
+
<title>ResponseData->LLMInvocation</title>
|
|
139
|
+
<path fill="none" stroke="black" d="M95.56,-124.45C110.34,-135.69 131.13,-150.15 151.29,-159.6 165.3,-166.16 180.81,-171.76 195.92,-176.43"/>
|
|
140
|
+
<polygon fill="black" stroke="black" points="194.8,-179.75 205.38,-179.24 196.79,-173.04 194.8,-179.75"/>
|
|
141
|
+
<text text-anchor="middle" x="199.11" y="-147" font-family="Times,serif" font-size="14.00">wasGeneratedBy</text>
|
|
142
|
+
</g>
|
|
143
|
+
<!-- ResponseData->AIAgent -->
|
|
144
|
+
<g id="edge14" class="edge">
|
|
145
|
+
<title>ResponseData->AIAgent</title>
|
|
146
|
+
<path fill="none" stroke="black" d="M122.91,-92.62C183.09,-76.09 285.53,-47.95 344.81,-31.67"/>
|
|
147
|
+
<polygon fill="black" stroke="black" points="345.54,-35.1 354.25,-29.07 343.68,-28.35 345.54,-35.1"/>
|
|
148
|
+
<text text-anchor="middle" x="308.66" y="-58.2" font-family="Times,serif" font-size="14.00">wasAttributedTo</text>
|
|
149
|
+
</g>
|
|
150
|
+
<!-- Campaign -->
|
|
151
|
+
<g id="node8" class="node">
|
|
152
|
+
<title>Campaign</title>
|
|
153
|
+
<polygon fill="lightblue" stroke="black" points="164.83,-657.6 85.01,-657.6 85.01,-621.6 164.83,-621.6 164.83,-657.6"/>
|
|
154
|
+
<text text-anchor="middle" x="124.92" y="-635.4" font-family="Helvetica,sans-Serif" font-size="14.00">Campaign</text>
|
|
155
|
+
</g>
|
|
156
|
+
<!-- Workflow -->
|
|
157
|
+
<g id="node9" class="node">
|
|
158
|
+
<title>Workflow</title>
|
|
159
|
+
<polygon fill="lightblue" stroke="black" points="161.7,-568.8 88.14,-568.8 88.14,-532.8 161.7,-532.8 161.7,-568.8"/>
|
|
160
|
+
<text text-anchor="middle" x="124.92" y="-546.6" font-family="Helvetica,sans-Serif" font-size="14.00">Workflow</text>
|
|
161
|
+
</g>
|
|
162
|
+
<!-- Campaign->Workflow -->
|
|
163
|
+
<g id="edge1" class="edge">
|
|
164
|
+
<title>Campaign->Workflow</title>
|
|
165
|
+
<path fill="none" stroke="black" d="M124.92,-621.45C124.92,-609.76 124.92,-593.99 124.92,-580.42"/>
|
|
166
|
+
<polygon fill="black" stroke="black" points="128.42,-580.72 124.92,-570.72 121.42,-580.72 128.42,-580.72"/>
|
|
167
|
+
<text text-anchor="middle" x="158.74" y="-591" font-family="Times,serif" font-size="14.00">hadMember</text>
|
|
168
|
+
</g>
|
|
169
|
+
<!-- Workflow->Task -->
|
|
170
|
+
<g id="edge2" class="edge">
|
|
171
|
+
<title>Workflow->Task</title>
|
|
172
|
+
<path fill="none" stroke="black" d="M162.02,-550.8C191.74,-550.8 233.27,-550.8 263.36,-550.8"/>
|
|
173
|
+
<polygon fill="black" stroke="black" points="263.17,-554.3 273.17,-550.8 263.17,-547.3 263.17,-554.3"/>
|
|
174
|
+
<text text-anchor="middle" x="218.31" y="-558" font-family="Times,serif" font-size="14.00">hadMember</text>
|
|
175
|
+
</g>
|
|
176
|
+
<!-- Workflow->ToolExecution -->
|
|
177
|
+
<g id="edge3" class="edge">
|
|
178
|
+
<title>Workflow->ToolExecution</title>
|
|
179
|
+
<path fill="none" stroke="black" d="M118.7,-532.33C112.06,-510.84 103.9,-473.56 114.92,-444 137.13,-384.41 195.5,-336.2 234.73,-309.17"/>
|
|
180
|
+
<polygon fill="black" stroke="black" points="236.66,-312.09 243,-303.6 232.75,-306.28 236.66,-312.09"/>
|
|
181
|
+
<text text-anchor="middle" x="165.2" y="-413.4" font-family="Times,serif" font-size="14.00">hadMember</text>
|
|
182
|
+
</g>
|
|
183
|
+
<!-- Task->DomainData -->
|
|
184
|
+
<g id="edge4" class="edge">
|
|
185
|
+
<title>Task->DomainData</title>
|
|
186
|
+
<path fill="none" stroke="black" d="M298.25,-532.41C295.09,-521.28 289.48,-507.23 279.92,-498 271.16,-489.54 260.13,-483.06 248.8,-478.13"/>
|
|
187
|
+
<polygon fill="black" stroke="black" points="250.37,-474.99 239.78,-474.58 247.81,-481.5 250.37,-474.99"/>
|
|
188
|
+
<text text-anchor="middle" x="304.12" y="-502.2" font-family="Times,serif" font-size="14.00">used</text>
|
|
189
|
+
</g>
|
|
190
|
+
<!-- ToolExecution->DataObject -->
|
|
191
|
+
<g id="edge7" class="edge">
|
|
192
|
+
<title>ToolExecution->DataObject</title>
|
|
193
|
+
<path fill="none" stroke="black" d="M310.58,-302.78C324.57,-311.84 335.41,-323.81 327.92,-337.2 324.72,-342.91 320.17,-347.81 315.01,-351.97"/>
|
|
194
|
+
<polygon fill="black" stroke="black" points="313.37,-348.85 307.14,-357.42 317.35,-354.6 313.37,-348.85"/>
|
|
195
|
+
<text text-anchor="middle" x="343.19" y="-324.6" font-family="Times,serif" font-size="14.00">used</text>
|
|
196
|
+
</g>
|
|
197
|
+
<!-- ToolExecution->LLMInvocation -->
|
|
198
|
+
<g id="edge16" class="edge">
|
|
199
|
+
<title>ToolExecution->LLMInvocation</title>
|
|
200
|
+
<path fill="none" stroke="black" d="M272.92,-266.25C272.92,-254.56 272.92,-238.79 272.92,-225.22"/>
|
|
201
|
+
<polygon fill="black" stroke="black" points="276.42,-225.52 272.92,-215.52 269.42,-225.52 276.42,-225.52"/>
|
|
202
|
+
<text text-anchor="middle" x="318.02" y="-235.8" font-family="Times,serif" font-size="14.00">wasInformedBy</text>
|
|
203
|
+
</g>
|
|
204
|
+
<!-- ToolExecution->AIAgent -->
|
|
205
|
+
<g id="edge15" class="edge">
|
|
206
|
+
<title>ToolExecution->AIAgent</title>
|
|
207
|
+
<path fill="none" stroke="black" d="M313,-278.36C332.31,-273.78 354.01,-265.05 366.92,-248.4 390.69,-217.72 392.22,-101.98 391.57,-47.58"/>
|
|
208
|
+
<polygon fill="black" stroke="black" points="395.07,-47.81 391.41,-37.87 388.07,-47.92 395.07,-47.81"/>
|
|
209
|
+
<text text-anchor="middle" x="445.03" y="-147" font-family="Times,serif" font-size="14.00">wasAssociatedWith</text>
|
|
210
|
+
</g>
|
|
211
|
+
<!-- LLMInvocation->Model -->
|
|
212
|
+
<g id="edge6" class="edge">
|
|
213
|
+
<title>LLMInvocation->Model</title>
|
|
214
|
+
<path fill="none" stroke="black" d="M288.18,-177.24C292.39,-171.84 296.69,-165.7 299.92,-159.6 303.79,-152.29 307,-143.94 309.54,-136.11"/>
|
|
215
|
+
<polygon fill="black" stroke="black" points="312.86,-137.22 312.37,-126.64 306.16,-135.22 312.86,-137.22"/>
|
|
216
|
+
<text text-anchor="middle" x="319.93" y="-147" font-family="Times,serif" font-size="14.00">used</text>
|
|
217
|
+
</g>
|
|
218
|
+
<!-- LLMInvocation->Prompt -->
|
|
219
|
+
<g id="edge5" class="edge">
|
|
220
|
+
<title>LLMInvocation->Prompt</title>
|
|
221
|
+
<path fill="none" stroke="black" d="M267.8,-177.23C264.16,-166.65 258.55,-153.2 250.92,-142.8 247.63,-138.32 243.66,-134.03 239.51,-130.1"/>
|
|
222
|
+
<polygon fill="black" stroke="black" points="241.84,-127.49 232.01,-123.54 237.24,-132.76 241.84,-127.49"/>
|
|
223
|
+
<text text-anchor="middle" x="273.1" y="-147" font-family="Times,serif" font-size="14.00">used</text>
|
|
224
|
+
</g>
|
|
225
|
+
</g>
|
|
226
|
+
</svg>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Handling Large Data
|
|
2
|
+
|
|
3
|
+
As a provenance-based tool, Flowcept leverages provenance data (typically seen as metadata) to keep track of data, including large datasets or data files, workflows, and ML models.
|
|
4
|
+
|
|
5
|
+
There are various ways to handle large data in Flowcept
|
|
6
|
+
|
|
7
|
+
## Sending large blob data as messages
|
|
8
|
+
|
|
9
|
+
### Sending as files
|
|
10
|
+
|
|
11
|
+
Importance of MimeType and the custom_metadata for files
|
|
12
|
+
|
|
13
|
+
## Managing blob data
|
|
14
|
+
|
|
15
|
+
## Managing PyTorch models
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|