nemo-retriever 2026.8.13.dev182__tar.gz → 2026.8.14.dev183__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.
- {nemo_retriever-2026.8.13.dev182/src/nemo_retriever.egg-info → nemo_retriever-2026.8.14.dev183}/PKG-INFO +27 -13
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/README.md +26 -12
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/pyproject.toml +3 -1
- nemo_retriever-2026.8.14.dev183/src/nemo_retriever/_build_info.py +4 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/query/app.py +5 -2
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/query/options.py +15 -3
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/schemas/meta/metadata_schema.py +3 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/txt/split.py +0 -1
- nemo_retriever-2026.8.14.dev183/src/nemo_retriever/common/stage_errors.py +46 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/vdb/records.py +67 -10
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/ingest/plan.py +9 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/ingestor/core.py +7 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/ingestor/graph_ingestor.py +35 -38
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/hf_model_registry.py +2 -2
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/store_operator.py +43 -1
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/query/agentic.py +3 -1
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/service_ingestor.py +2 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183/src/nemo_retriever.egg-info}/PKG-INFO +27 -13
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever.egg-info/SOURCES.txt +1 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever.egg-info/requires.txt +1 -1
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_agentic_eval.py +68 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_hf_model_registry.py +10 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_ingest_interface.py +80 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_ingest_manifest.py +28 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nemotron_parse_v1_2.py +16 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nv_ingest_vdb_operator.py +51 -5
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_root_cli_workflow.py +1 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_root_query_cli.py +82 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_ingest_async.py +1 -1
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_pipeline_spec.py +20 -4
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_save_to_disk.py +4 -4
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_store_pipeline_stages.py +51 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_txt_split.py +18 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_vdb_records.py +39 -0
- nemo_retriever-2026.8.13.dev182/src/nemo_retriever/_build_info.py +0 -4
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/LICENSE +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/setup.cfg +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/__main__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/agent.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/cache_propagation.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/llm/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/llm/base_backend.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/llm/callable_backend.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/llm/error_classification.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/llm/errors.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/llm/helpers.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/llm/litellm_backend.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/llm/result.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/llm/usage.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/loop.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/prompts/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/prompts/templates/00_default.j2 +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/prompts/templates/01_v0.j2 +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/prompts/templates/02_v1.j2 +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/prompts/templates/06_select_lean_v1.j2 +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/prompts/templates/selection/00_demo.j2 +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/prompts/templates/selection/01_v0.j2 +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/results.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/selection_agent.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/tools/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/tools/base_tool.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/tools/end_tools.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/tools/retrieve.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/tools/think_tool.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/evidence.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/ingest/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/ingest/app.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/ingest/graph_commands.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/ingest/options.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/ingest/service.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/ingest/shared.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/ingest_workflow.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/main.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/query/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/query_workflow.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/shared.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/enums/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/enums/common.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/extract/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/mutate/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/mutate/deduplicate.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/primitives/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/primitives/control_message_task.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/primitives/ingest_control_message.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/primitives/tracing/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/primitives/tracing/logging.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/primitives/tracing/tagging.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/schemas/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/schemas/extract/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/schemas/meta/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/schemas/meta/base_model_noext.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/schemas/mixins.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/schemas/mutate/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/schemas/mutate/mutate_image_dedup_schema.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/control_message/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/control_message/validators.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/converters/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/converters/bytetools.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/converters/datetools.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/detectors/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/detectors/language.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/exception_handlers/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/exception_handlers/converters.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/exception_handlers/decorators.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/exception_handlers/detectors.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/exception_handlers/pdf.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/image_processing/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/image_processing/clustering.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/image_processing/transforms.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/metadata/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/metadata/aggregators.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/pdf/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/pdf/pdfium.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/string_processing/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/config_utils.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/inline_text.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/input_files.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/io/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/io/dataframe.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/io/export.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/io/image_store.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/io/markdown.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/audio/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/audio/media_interface.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/caption/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/caption/model_profiles.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/content_transforms.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/convert/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/convert/to_pdf.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/html/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/html/convert.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/image/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/image/load.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/ocr/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/ocr/config.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/ocr/shared.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/page_elements/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/page_elements/local.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/page_elements/shared.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/parse/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/parse/nemotron_parse_postprocessing.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/pipeline/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/pipeline/content.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/pipeline/embedding.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/table/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/table/shared.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/table_and_chart.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/txt/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/txt/tokenizer_provider.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/video/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/video/_content_types.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/nvtx.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/params/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/params/models.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/params/utils.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/policy.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/ray_resource_hueristics.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/ray_runtime.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/remote_auth.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/schemas/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/schemas/base.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/schemas/collections.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/schemas/document.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/schemas/job.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/schemas/pipeline_spec.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/schemas/requests.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/schemas/responses.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/vdb/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/vdb/adt_vdb.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/vdb/factory.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/vdb/lancedb.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/vdb/lancedb_bulk.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/vdb/lancedb_capabilities.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/vdb/lancedb_collections.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/vdb/lancedb_schema.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/vdb/sidecar_metadata.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/graph/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/graph/designer.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/graph/executor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/graph/graph_pipeline_registry.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/graph/ingestor_runtime.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/graph/operator_resolution.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/graph/pipeline_graph.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/graph/retriever.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/graph/retriever_utils.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/__main__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/artifact_writer.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/artifacts.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/beir_runner.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/benchmark_registry.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/benchmark_specs.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/cli.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/config.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/contracts.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/dataset_paths.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/diff.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/environment.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/execution.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/helm_config.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/helm_manager.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/helm_runner.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/history.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/json_io.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/metric_gates.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/metrics.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/app.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/mcp_registry.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/mcp_server.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/mcp_tools.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/index.html +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/nvidia-logo.svg +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/alerts.jsx +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/analytics.jsx +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/app.jsx +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/database.jsx +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/datasets.jsx +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/designer.jsx +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/icons.jsx +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/ingestion.jsx +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/layout.jsx +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/log-viewer.jsx +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/mcp.jsx +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/models.jsx +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/presets.jsx +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/reporting.jsx +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/retrieval.jsx +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/run-detail.jsx +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/runners.jsx +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/runs.jsx +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/scheduling.jsx +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/settings.jsx +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/trigger.jsx +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/utils.jsx +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/release_reference.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/resolution.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/revamp_runner.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/runfile.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/runsets.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/scheduler.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/slack.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/vidore_access.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/ingest/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/ingest/execution.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/ingest/service.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/ingestor/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/ingestor/branch_extraction.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/ingestor/manifest.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/ingestor/plans.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/ingestor/results.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/embed_model_spec.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/hf_cache.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/inference/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/inference/main_text_embed.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/inference/runtime.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/inference/shared.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/inference/vllm.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/llm/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/llm/clients/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/llm/clients/judge.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/llm/clients/litellm.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/llm/tasks/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/llm/tasks/base.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/llm/tasks/generic.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/llm/tasks/rag_answer.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/llm/tasks/summarize.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/llm/text_utils.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/llm/types.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/agent_llm.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/llama_nemotron_embed_1b_v2_embedder.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/llama_nemotron_embed_1b_v2_hf_embedder.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/llama_nemotron_embed_vl_1b_v2_embedder.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/nemotron_ocr_v1.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/nemotron_ocr_v2.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/nemotron_page_elements_v3.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/nemotron_parse_v1_2.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/nemotron_rerank_v2.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/nemotron_rerank_vl_v2.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/nemotron_rerank_vl_v2_hf.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/nemotron_table_structure_v1.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/nemotron_vlm_captioner.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/parakeet_ctc_1_1b_asr.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/model.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/chat_completions.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/error_reporter.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/nim.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/primitives/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/primitives/default_values.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/primitives/model_interface/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/primitives/model_interface/decorators.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/primitives/model_interface/helpers.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/primitives/model_interface/nemotron_parse.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/primitives/model_interface/parakeet.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/primitives/model_interface/text_embedding.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/primitives/model_interface/vlm.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/primitives/model_interface/yolox.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/primitives/nim_client.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/primitives/nim_model_interface.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/probe.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/util/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/warmup_registry.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/abstract_operator.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/base.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/content.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/cpu_operator.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/dedup.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/embed/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/embed/cpu_operator.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/embed/gpu_operator.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/embed/operators.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/embed/text_embed.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/embedding.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/audio/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/audio/asr_actor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/audio/chunk_actor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/audio/cpu_actor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/audio/gpu_actor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/caption/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/caption/caption.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/html/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/html/ray_data.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/image/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/image/ray_data.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/ocr/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/ocr/cpu_ocr.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/ocr/cpu_parse.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/ocr/gpu_ocr.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/ocr/gpu_parse.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/ocr/ocr.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/page_elements/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/page_elements/cpu_actor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/page_elements/gpu_actor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/page_elements/page_elements.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/parse/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/parse/nemotron_parse.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/pdf/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/pdf/extract.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/pdf/split.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/table/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/table/cpu_actor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/table/gpu_actor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/table/table_detection.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/txt/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/txt/ray_data.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/video/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/video/audio_visual_fuser.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/video/frame_actor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/video/ocr_actor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/video/split.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/video/text_dedup.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/generation/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/generation/base.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/generation/generic.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/generation/summarization.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/gpu_operator.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/content_operators.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/custom_operator.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/eval_operator.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/file_loader_operator.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/lancedb_write_operator.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/multi_type_extract_operator.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/react_agent_operator.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/rrf_aggregator_operator.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/scoring_operator.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/selection_agent_operator.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/subquery_operator.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/webhook_operator.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/operator_archetype.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/rerank.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/vdb.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/query/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/query/agentic_options.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/query/evidence.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/query/options.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/query/service.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/query/shaping.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/query/workflow.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/agentic_query.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/app.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/auth.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/cli.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/client.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/config.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/errors.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/mcp_server.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/query_schema.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/retriever-service.yaml +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/routers/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/routers/admin.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/routers/collections.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/routers/dashboard.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/routers/ingest.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/routers/metrics.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/routers/work.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/services/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/services/event_bus.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/services/job_tracker.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/services/metrics.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/services/pipeline_executor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/services/pipeline_pool.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/services/prometheus.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/services/proxy.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/services/sidecar_store.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/services/work_queue.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/services/worker_result_store.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/tracing.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/utils/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/utils/file_type.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/vectordb_app.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/dev_tools/benchmarks/bird/loader.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/dev_tools/benchmarks/bird/setup.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/dev_tools/benchmarks/spider2/loader.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/dev_tools/benchmarks/spider2/setup.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/dev_tools/debug_ingest.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/dev_tools/duckdb_connector.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/dal/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/dal/db_dal.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/dal/queries_dal.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/dal/schemas_dal.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/dal/utils_dal.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/extract_data.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/indexes.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/model/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/model/neo4j_node.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/model/query.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/model/reserved_words.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/model/schema.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/parsers/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/parsers/query_comparator.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/parsers/schemas_parser.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/parsers/sqlglot_extractor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/services/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/services/queries.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/services/schema.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/utils.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/write_to_graph.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/neo4j/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/neo4j/neo4j_connection.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/operators/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/operators/tabular_fetch_embeddings_operator.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/operators/tabular_schema_extract_operator.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/data_access/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/data_access/candidates.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/data_access/custom_analyses.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/data_access/foreign_keys.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/data_access/graph_schemas.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/data_access/relevant_tables.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/data_access/response_formatting.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/data_access/semantic_search.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/generate_sql.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/llm_invoke.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/text_to_sql/agents/candidates_preparation.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/text_to_sql/agents/candidates_retrieval.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/text_to_sql/agents/entities_extraction.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/text_to_sql/agents/intent_validation.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/text_to_sql/agents/response.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/text_to_sql/agents/sql_execution.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/text_to_sql/agents/sql_from_semantic.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/text_to_sql/agents/sql_from_tables.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/text_to_sql/agents/sql_parse_validation.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/text_to_sql/agents/sql_reconstruction.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/text_to_sql/agents/sql_unconstructable.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/text_to_sql/base.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/text_to_sql/connector_routing.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/text_to_sql/main.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/text_to_sql/models.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/text_to_sql/prompts.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/text_to_sql/state.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/text_to_sql/text_to_sql_graph.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/sql_database.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/benchmark/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/benchmark/__main__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/benchmark/all_actor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/benchmark/audio_extract_actor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/benchmark/common.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/benchmark/extract_actor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/benchmark/ocr_actor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/benchmark/page_elements_actor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/benchmark/split_actor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/cli.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/config.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/generation.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/ground_truth.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/judging.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/live_retrieval.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/orchestrator.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/retrieval_loader.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/retrievers.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/runner.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/scoring.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/recall/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/recall/__main__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/recall/beir.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/recall/beir_eval.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/recall/core.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/recall/recall_eval.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/recall/vdb_recall.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/__main__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/cli.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/configs/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/configs/skill_eval.yaml +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/dataset.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/prompts/__init__.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/prompts/setup_nl.j2 +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/prompts/setup_slash.j2 +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/prompts/trial_user_nl.j2 +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/prompts/trial_user_slash.j2 +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/report.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/runner.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/score.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/trace_summarizer.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/version.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever.egg-info/dependency_links.txt +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever.egg-info/entry_points.txt +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever.egg-info/top_level.txt +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_actor_operators.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_agentic_local_llm.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_agentic_operators.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_agentic_source_hygiene.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_asr_actor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_audio_benchmark.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_audio_chunk_actor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_audio_pipeline_batch.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_audio_visual_fuser.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_beir_evaluation.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_caption.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_caption_model_profiles.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_ci_workflows.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_collection_management_api.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_common_datetools.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_compose_nim_2_contracts.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_container_ffmpeg_install.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_cpu_module_import_safety.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_create_local_embedder.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_dashboard_static_trace_ui.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_dedup.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_doc_to_pdf_actor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_embed_model_spec.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_embed_params.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_evaluation_config.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_evaluation_orchestrator.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_evaluation_retrievers.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_evidence.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_executor_arrow_pandas.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_fidelity.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_generation_hardening.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_generation_tasks.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_graph_ingestion_error_diagnostics.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_graph_pipeline_registry.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_harness_agentic_eval.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_harness_artifacts.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_harness_benchmark_registry.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_harness_helm_cli.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_harness_helm_nightly.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_harness_nightly_git_selection.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_harness_nightly_launcher.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_harness_runfiles.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_harness_slack.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_harness_vidore_access.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_answer_llm_generation.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_auth.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_caption_endpoint.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_embed_model_provider_prefix.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_max_upload_bytes.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_nemotron_parse_endpoint.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_nim_2_contracts.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_nimcache_model_profile.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_nimservice_resources.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_optional_nims_disabled_by_default.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_shared_results.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_tracing_zipkin.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_vectordb_embed_required.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_work_queue.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_hf_cache.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_hf_embedder_padding.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_html_convert.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_image_load.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_ingest_empty_validation.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_ingest_plans.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_ingest_results.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_ingest_retrieve_multimodal_pdf_integration.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_ingest_service.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_inline_text_ingest.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_internal_auth.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_io_dataframe.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_io_image_store.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_io_markdown.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_lancedb_capabilities.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_lancedb_collections.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_lancedb_ivf_partitions.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_lancedb_retrieval_where.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_lancedb_row_metadata.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_lancedb_write_policy.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_live_rag.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_llm_params.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_media_dependency_availability.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_multimodal_embed.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nemo_agent_callable_contract.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nemo_agent_error_classification.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nemo_agent_llm_config.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nemo_agent_llm_helpers.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nemotron_ocr_v2_nightly.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nemotron_rerank_v2.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nemotron_rerank_vl_v2.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nemotron_rerank_vl_v2_hf.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nim_chat_completion_step.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nim_tracing.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_ocr_cross_page_batching.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_ocr_version_selection.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_operator_flags_and_cpu_actors.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_page_elements_postprocess.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_parakeet_ctc_hf_compat.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_parakeet_infer_mode.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_params_models.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_params_utils.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_pdf_render_params_wiring.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_pdf_render_scale.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_pipeline_graph.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_pipeline_image_caption_concurrency.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_private_agent_packaging.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_probe_event_recording.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_query_comparator.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_query_workflow_options.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_readme_typical_use.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_readme_video_pipeline_example.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_recall_core.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_recall_summary.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_remote_auth.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_resource_heuristics.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_retriever_queries.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_semantic_search_metadata_filter_format.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_agentic_query.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_answer_generation.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_caption.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_client_compat.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_ingest_router.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_ingestor_compat.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_job_callback_diagnostics.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_job_tracker.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_local_models.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_mcp.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_media_dependency_gate.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_metrics_lifecycle.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_packaging.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_pipeline_tracing.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_pool_metrics.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_pool_tracing.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_proxy_tracing.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_query_client.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_query_rerank.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_sidecar.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_sinks.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_sse.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_tracing.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_vectordb_app.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_vectordb_evidence_integration.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_vectordb_hybrid_integration.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_work_queue.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_worker_callback.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_sidecar_metadata.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_slim_imports_no_triton.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_split_config.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_split_config_integration.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_sqlglot_extractor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_src_documentation_snippets.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_table_structure.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_table_structure_nim_empty_bbox.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_tabular_pipeline.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_tabular_table_type.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_tokenizer_provider.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_type_aliases.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_vdb_collection_contract.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_video_frame_actor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_video_frame_ocr_actor.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_video_pipeline_batch.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_video_recall.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_video_text_dedup.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_vllm_embed.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_warmup_registry.py +0 -0
- {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_webhook_operator.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nemo-retriever
|
|
3
|
-
Version: 2026.8.
|
|
3
|
+
Version: 2026.8.14.dev183
|
|
4
4
|
Summary: A modern RAG ingestion pipeline from Nvidia
|
|
5
5
|
Author-email: Jeremy Dyer <jdyer@nvidia.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -45,7 +45,7 @@ Requires-Dist: markitdown
|
|
|
45
45
|
Requires-Dist: langchain-nvidia-ai-endpoints>=1.4.0
|
|
46
46
|
Requires-Dist: lancedb
|
|
47
47
|
Requires-Dist: nvidia-riva-client>=2.25.1
|
|
48
|
-
Requires-Dist: tokenizers
|
|
48
|
+
Requires-Dist: tokenizers<0.23,>=0.21.1
|
|
49
49
|
Requires-Dist: huggingface-hub>=0.34.0
|
|
50
50
|
Provides-Extra: service
|
|
51
51
|
Requires-Dist: backoff; extra == "service"
|
|
@@ -288,17 +288,21 @@ chunks = ingestor.ingest() # pandas.DataFrame (batch and inprocess)
|
|
|
288
288
|
|
|
289
289
|
### Ingest a test corpus (CLI)
|
|
290
290
|
|
|
291
|
-
|
|
292
|
-
LanceDB table.
|
|
291
|
+
`retriever ingest` accepts a file or a directory and writes a ready-to-query
|
|
292
|
+
LanceDB table. From a clone of this repository, `./data/multimodal_test.pdf`
|
|
293
|
+
is a valid first-run input. Replace `/path/to/file-or-directory` below with
|
|
294
|
+
that PDF or with your own file or directory.
|
|
293
295
|
|
|
294
|
-
> **
|
|
295
|
-
>
|
|
296
|
-
>
|
|
297
|
-
>
|
|
298
|
-
>
|
|
296
|
+
> **Small corpora are supported.** The NeMo Retriever LanceDB adapter requests
|
|
297
|
+
> 16 IVF partitions by default. When the table has fewer rows, the adapter
|
|
298
|
+
> clamps that count to one less than the row count. An ingest that produces
|
|
299
|
+
> 2 through 15 rows still builds an IVF index. A one-row table is stored
|
|
300
|
+
> without a vector index, and ingest succeeds. An ingest that produces zero rows
|
|
301
|
+
> is a separate empty-result error. Use a larger corpus when you want more
|
|
302
|
+
> representative retrieval quality.
|
|
299
303
|
|
|
300
304
|
```bash
|
|
301
|
-
retriever ingest /
|
|
305
|
+
retriever ingest /path/to/file-or-directory \
|
|
302
306
|
--lancedb-uri lancedb \
|
|
303
307
|
--table-name nemo-retriever
|
|
304
308
|
```
|
|
@@ -306,8 +310,7 @@ retriever ingest /your-example-dir \
|
|
|
306
310
|
Chunks land at `./lancedb/nemo-retriever`, which matches the storage settings
|
|
307
311
|
used in [Run a recall query](#run-a-recall-query) below. With the
|
|
308
312
|
`[local]` extra installed (see setup), defaults point at local-GPU extraction
|
|
309
|
-
and embedding.
|
|
310
|
-
training threshold described above.
|
|
313
|
+
and embedding.
|
|
311
314
|
|
|
312
315
|
**No local GPU?** Set [`NVIDIA_API_KEY`](https://nvidia.github.io/NeMo-Retriever/extraction/api-keys/#nvidia-api-key) (refer to [Authentication and API keys](https://nvidia.github.io/NeMo-Retriever/extraction/api-keys/)) and route extraction and embedding
|
|
313
316
|
through [build.nvidia.com](https://build.nvidia.com/) NIMs instead:
|
|
@@ -315,7 +318,7 @@ through [build.nvidia.com](https://build.nvidia.com/) NIMs instead:
|
|
|
315
318
|
```bash
|
|
316
319
|
export NVIDIA_API_KEY=nvapi-...
|
|
317
320
|
|
|
318
|
-
retriever ingest /
|
|
321
|
+
retriever ingest /path/to/file-or-directory \
|
|
319
322
|
--lancedb-uri lancedb \
|
|
320
323
|
--table-name nemo-retriever \
|
|
321
324
|
--page-elements-invoke-url https://ai.api.nvidia.com/v1/cv/nvidia/nemotron-page-elements-v3 \
|
|
@@ -467,6 +470,8 @@ embedding endpoint.
|
|
|
467
470
|
**Local in-process vLLM agent LLM.** Omit `--agentic-invoke-url` to load the
|
|
468
471
|
supported local agent LLM directly in the Python process. `nemotron-8b` is the
|
|
469
472
|
default; `super-49b` is also supported when the process has enough visible GPUs.
|
|
473
|
+
For `super-49b`, set `--agentic-local-tensor-parallel-size 2` with two visible
|
|
474
|
+
GPUs (for example `CUDA_VISIBLE_DEVICES=0,1`).
|
|
470
475
|
|
|
471
476
|
```bash
|
|
472
477
|
CUDA_VISIBLE_DEVICES=0 retriever query "Given their activities, which animal is responsible for the typos in my documents?" \
|
|
@@ -476,6 +481,15 @@ CUDA_VISIBLE_DEVICES=0 retriever query "Given their activities, which animal is
|
|
|
476
481
|
--embed-model-name nvidia/llama-nemotron-embed-1b-v2
|
|
477
482
|
```
|
|
478
483
|
|
|
484
|
+
```bash
|
|
485
|
+
CUDA_VISIBLE_DEVICES=0,1 retriever query "Given their activities, which animal is responsible for the typos in my documents?" \
|
|
486
|
+
--agentic \
|
|
487
|
+
--agentic-llm-model super-49b \
|
|
488
|
+
--agentic-local-tensor-parallel-size 2 \
|
|
489
|
+
--lancedb-uri lancedb \
|
|
490
|
+
--table-name nemo-retriever \
|
|
491
|
+
--embed-model-name nvidia/llama-nemotron-embed-vl-1b-v2
|
|
492
|
+
```
|
|
479
493
|
**OpenAI-compatible agent endpoint.** Pass `--agentic-invoke-url` when you want a
|
|
480
494
|
custom model or a separately hosted chat-completions server, such as vLLM server
|
|
481
495
|
mode or a self-hosted NIM. When an invoke URL is provided, `--agentic-llm-model`
|
|
@@ -178,17 +178,21 @@ chunks = ingestor.ingest() # pandas.DataFrame (batch and inprocess)
|
|
|
178
178
|
|
|
179
179
|
### Ingest a test corpus (CLI)
|
|
180
180
|
|
|
181
|
-
|
|
182
|
-
LanceDB table.
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
>
|
|
187
|
-
>
|
|
188
|
-
>
|
|
181
|
+
`retriever ingest` accepts a file or a directory and writes a ready-to-query
|
|
182
|
+
LanceDB table. From a clone of this repository, `./data/multimodal_test.pdf`
|
|
183
|
+
is a valid first-run input. Replace `/path/to/file-or-directory` below with
|
|
184
|
+
that PDF or with your own file or directory.
|
|
185
|
+
|
|
186
|
+
> **Small corpora are supported.** The NeMo Retriever LanceDB adapter requests
|
|
187
|
+
> 16 IVF partitions by default. When the table has fewer rows, the adapter
|
|
188
|
+
> clamps that count to one less than the row count. An ingest that produces
|
|
189
|
+
> 2 through 15 rows still builds an IVF index. A one-row table is stored
|
|
190
|
+
> without a vector index, and ingest succeeds. An ingest that produces zero rows
|
|
191
|
+
> is a separate empty-result error. Use a larger corpus when you want more
|
|
192
|
+
> representative retrieval quality.
|
|
189
193
|
|
|
190
194
|
```bash
|
|
191
|
-
retriever ingest /
|
|
195
|
+
retriever ingest /path/to/file-or-directory \
|
|
192
196
|
--lancedb-uri lancedb \
|
|
193
197
|
--table-name nemo-retriever
|
|
194
198
|
```
|
|
@@ -196,8 +200,7 @@ retriever ingest /your-example-dir \
|
|
|
196
200
|
Chunks land at `./lancedb/nemo-retriever`, which matches the storage settings
|
|
197
201
|
used in [Run a recall query](#run-a-recall-query) below. With the
|
|
198
202
|
`[local]` extra installed (see setup), defaults point at local-GPU extraction
|
|
199
|
-
and embedding.
|
|
200
|
-
training threshold described above.
|
|
203
|
+
and embedding.
|
|
201
204
|
|
|
202
205
|
**No local GPU?** Set [`NVIDIA_API_KEY`](https://nvidia.github.io/NeMo-Retriever/extraction/api-keys/#nvidia-api-key) (refer to [Authentication and API keys](https://nvidia.github.io/NeMo-Retriever/extraction/api-keys/)) and route extraction and embedding
|
|
203
206
|
through [build.nvidia.com](https://build.nvidia.com/) NIMs instead:
|
|
@@ -205,7 +208,7 @@ through [build.nvidia.com](https://build.nvidia.com/) NIMs instead:
|
|
|
205
208
|
```bash
|
|
206
209
|
export NVIDIA_API_KEY=nvapi-...
|
|
207
210
|
|
|
208
|
-
retriever ingest /
|
|
211
|
+
retriever ingest /path/to/file-or-directory \
|
|
209
212
|
--lancedb-uri lancedb \
|
|
210
213
|
--table-name nemo-retriever \
|
|
211
214
|
--page-elements-invoke-url https://ai.api.nvidia.com/v1/cv/nvidia/nemotron-page-elements-v3 \
|
|
@@ -357,6 +360,8 @@ embedding endpoint.
|
|
|
357
360
|
**Local in-process vLLM agent LLM.** Omit `--agentic-invoke-url` to load the
|
|
358
361
|
supported local agent LLM directly in the Python process. `nemotron-8b` is the
|
|
359
362
|
default; `super-49b` is also supported when the process has enough visible GPUs.
|
|
363
|
+
For `super-49b`, set `--agentic-local-tensor-parallel-size 2` with two visible
|
|
364
|
+
GPUs (for example `CUDA_VISIBLE_DEVICES=0,1`).
|
|
360
365
|
|
|
361
366
|
```bash
|
|
362
367
|
CUDA_VISIBLE_DEVICES=0 retriever query "Given their activities, which animal is responsible for the typos in my documents?" \
|
|
@@ -366,6 +371,15 @@ CUDA_VISIBLE_DEVICES=0 retriever query "Given their activities, which animal is
|
|
|
366
371
|
--embed-model-name nvidia/llama-nemotron-embed-1b-v2
|
|
367
372
|
```
|
|
368
373
|
|
|
374
|
+
```bash
|
|
375
|
+
CUDA_VISIBLE_DEVICES=0,1 retriever query "Given their activities, which animal is responsible for the typos in my documents?" \
|
|
376
|
+
--agentic \
|
|
377
|
+
--agentic-llm-model super-49b \
|
|
378
|
+
--agentic-local-tensor-parallel-size 2 \
|
|
379
|
+
--lancedb-uri lancedb \
|
|
380
|
+
--table-name nemo-retriever \
|
|
381
|
+
--embed-model-name nvidia/llama-nemotron-embed-vl-1b-v2
|
|
382
|
+
```
|
|
369
383
|
**OpenAI-compatible agent endpoint.** Pass `--agentic-invoke-url` when you want a
|
|
370
384
|
custom model or a separately hosted chat-completions server, such as vLLM server
|
|
371
385
|
mode or a self-hosted NIM. When an invoke URL is provided, `--agentic-llm-model`
|
|
@@ -100,7 +100,9 @@ dependencies = [
|
|
|
100
100
|
# targets the public NVCF Parakeet endpoint (the default) or any remote NIM.
|
|
101
101
|
"nvidia-riva-client>=2.25.1",
|
|
102
102
|
# Exact tokenizer-only TXT/HTML chunking (no transformers, torch, or weights).
|
|
103
|
-
|
|
103
|
+
# Nemotron Parse 2.0's published tokenizer contains NFKC-equivalent added
|
|
104
|
+
# tokens that tokenizers 0.23 rejects with DuplicatePatternError.
|
|
105
|
+
"tokenizers>=0.21.1,<0.23",
|
|
104
106
|
"huggingface-hub>=0.34.0",
|
|
105
107
|
]
|
|
106
108
|
|
|
@@ -182,7 +182,7 @@ def _local_command(
|
|
|
182
182
|
reranker_api_key_env: opts.RerankerApiKeyEnvOption = None,
|
|
183
183
|
reranker_model_name: opts.RerankerModelNameOption = None,
|
|
184
184
|
reranker_backend: opts.RerankerBackendOption = None,
|
|
185
|
-
rerank: opts.RerankOption =
|
|
185
|
+
rerank: opts.RerankOption = None,
|
|
186
186
|
retrieval_mode: opts.RetrievalModeOption = "auto",
|
|
187
187
|
output_format: opts.OutputFormatOption = "hits",
|
|
188
188
|
max_text_chars: opts.MaxTextCharsOption = None,
|
|
@@ -193,12 +193,14 @@ def _local_command(
|
|
|
193
193
|
agentic_react_max_steps: opts.AgenticReactMaxStepsOption = 50,
|
|
194
194
|
agentic_text_truncation: opts.AgenticTextTruncationOption = 0,
|
|
195
195
|
agentic_temperature: opts.AgenticTemperatureOption = None,
|
|
196
|
+
agentic_local_tensor_parallel_size: opts.AgenticLocalTensorParallelSizeOption = 1,
|
|
196
197
|
agentic_llm_client: opts.AgenticLlmClientOption = None,
|
|
197
198
|
) -> None:
|
|
198
199
|
_validate_output_options(output_format, max_text_chars)
|
|
199
200
|
if reranker_invoke_url is None:
|
|
200
201
|
reranker_invoke_url = os.environ.get("RERANKER_INVOKE_URL") or None
|
|
201
|
-
|
|
202
|
+
if rerank is None:
|
|
203
|
+
rerank = bool(reranker_invoke_url) or bool(reranker_model_name) or bool(reranker_backend)
|
|
202
204
|
silence_noisy_libraries()
|
|
203
205
|
if agentic:
|
|
204
206
|
# Relaxed model gating: an explicit model is required only for the remote
|
|
@@ -276,6 +278,7 @@ def _local_command(
|
|
|
276
278
|
react_max_steps=agentic_react_max_steps,
|
|
277
279
|
text_truncation=agentic_text_truncation,
|
|
278
280
|
temperature=agentic_temperature,
|
|
281
|
+
local_tensor_parallel_size=agentic_local_tensor_parallel_size,
|
|
279
282
|
llm_client=agentic_llm_client,
|
|
280
283
|
),
|
|
281
284
|
)
|
|
@@ -122,12 +122,12 @@ RerankerBackendOption = Annotated[
|
|
|
122
122
|
),
|
|
123
123
|
]
|
|
124
124
|
RerankOption = Annotated[
|
|
125
|
-
bool,
|
|
125
|
+
bool | None,
|
|
126
126
|
typer.Option(
|
|
127
127
|
"--rerank/--no-rerank",
|
|
128
128
|
help=(
|
|
129
|
-
"Enable reranking after vector retrieval. Default off.
|
|
130
|
-
"any of --reranker-invoke-url / --reranker-model-name / --reranker-backend is set."
|
|
129
|
+
"Enable reranking after vector retrieval. Default off. When neither flag is passed, implicitly enabled "
|
|
130
|
+
"when any of --reranker-invoke-url / --reranker-model-name / --reranker-backend is set."
|
|
131
131
|
),
|
|
132
132
|
),
|
|
133
133
|
]
|
|
@@ -216,6 +216,18 @@ AgenticTemperatureOption = Annotated[
|
|
|
216
216
|
),
|
|
217
217
|
),
|
|
218
218
|
]
|
|
219
|
+
AgenticLocalTensorParallelSizeOption = Annotated[
|
|
220
|
+
int,
|
|
221
|
+
typer.Option(
|
|
222
|
+
"--agentic-local-tensor-parallel-size",
|
|
223
|
+
min=1,
|
|
224
|
+
help=(
|
|
225
|
+
"vLLM tensor_parallel_size for the in-process agent LLM. "
|
|
226
|
+
"Use 2 (with two visible GPUs) for local super-49b; ignored when "
|
|
227
|
+
"--agentic-invoke-url is set."
|
|
228
|
+
),
|
|
229
|
+
),
|
|
230
|
+
]
|
|
219
231
|
AgenticLlmClientOption = Annotated[
|
|
220
232
|
str | None,
|
|
221
233
|
typer.Option(
|
|
@@ -189,6 +189,9 @@ class ImageMetadataSchema(BaseModelNoExt):
|
|
|
189
189
|
uploaded_image_url: str = ""
|
|
190
190
|
"""A mirror of source_metadata.source_location."""
|
|
191
191
|
|
|
192
|
+
uploaded_image_uri: str = ""
|
|
193
|
+
"""The URI of the stored image asset, when image storage is configured."""
|
|
194
|
+
|
|
192
195
|
width: int = 0
|
|
193
196
|
"""The width of the image."""
|
|
194
197
|
|
|
@@ -166,7 +166,6 @@ def split_df(
|
|
|
166
166
|
meta["chunk_index"] = i
|
|
167
167
|
meta["chunk_count"] = len(chunks)
|
|
168
168
|
meta["content"] = chunk
|
|
169
|
-
new_row["page_number"] = i + 1
|
|
170
169
|
# Only the first chunk keeps structured content so that
|
|
171
170
|
# downstream explode does not duplicate tables/charts/etc.
|
|
172
171
|
if i > 0:
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES.
|
|
2
|
+
# All rights reserved.
|
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
|
|
5
|
+
"""Shared detection of structured row-level stage errors."""
|
|
6
|
+
|
|
7
|
+
from __future__ import annotations
|
|
8
|
+
|
|
9
|
+
from collections.abc import Iterator
|
|
10
|
+
from typing import Any
|
|
11
|
+
|
|
12
|
+
ERROR_FIELD_KEYS = ("error", "errors", "exception", "traceback", "failed")
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def is_populated_error_field(key: str, value: Any) -> bool:
|
|
16
|
+
"""Return whether a conventional stage-error field contains a failure."""
|
|
17
|
+
if value is None:
|
|
18
|
+
return False
|
|
19
|
+
if key == "failed" and isinstance(value, bool):
|
|
20
|
+
return value
|
|
21
|
+
if isinstance(value, str):
|
|
22
|
+
return bool(value.strip())
|
|
23
|
+
if isinstance(value, (list, tuple, set, dict)):
|
|
24
|
+
return len(value) > 0
|
|
25
|
+
return bool(value)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def iter_stage_errors_from_value(value: Any, *, path: str = "") -> Iterator[dict[str, Any]]:
|
|
29
|
+
"""Yield populated error fields recursively with their value paths."""
|
|
30
|
+
if isinstance(value, dict):
|
|
31
|
+
for key in ERROR_FIELD_KEYS:
|
|
32
|
+
if key in value and is_populated_error_field(key, value.get(key)):
|
|
33
|
+
yield {
|
|
34
|
+
"path": f"{path}.{key}" if path else key,
|
|
35
|
+
"error": value.get(key),
|
|
36
|
+
}
|
|
37
|
+
for key, child in value.items():
|
|
38
|
+
if key in ERROR_FIELD_KEYS and is_populated_error_field(key, child):
|
|
39
|
+
continue
|
|
40
|
+
child_path = f"{path}.{key}" if path else str(key)
|
|
41
|
+
yield from iter_stage_errors_from_value(child, path=child_path)
|
|
42
|
+
return
|
|
43
|
+
if isinstance(value, (list, tuple)):
|
|
44
|
+
for index, child in enumerate(value):
|
|
45
|
+
child_path = f"{path}[{index}]" if path else f"[{index}]"
|
|
46
|
+
yield from iter_stage_errors_from_value(child, path=child_path)
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
from __future__ import annotations
|
|
8
8
|
|
|
9
9
|
import json
|
|
10
|
+
from collections import Counter
|
|
10
11
|
from collections.abc import Mapping
|
|
11
12
|
from pathlib import Path
|
|
12
13
|
from typing import Any, TypedDict
|
|
@@ -14,6 +15,7 @@ from typing import Any, TypedDict
|
|
|
14
15
|
from pydantic import ValidationError
|
|
15
16
|
|
|
16
17
|
from nemo_retriever.common.schemas.collections import QueryHit
|
|
18
|
+
from nemo_retriever.common.stage_errors import ERROR_FIELD_KEYS, iter_stage_errors_from_value
|
|
17
19
|
|
|
18
20
|
_CONTENT_TYPE_ALIASES: dict[str, str] = {
|
|
19
21
|
"chart_caption": "chart",
|
|
@@ -34,6 +36,10 @@ class RetrievalContractError(RuntimeError):
|
|
|
34
36
|
"""A backend retrieval result cannot satisfy the canonical hit contract."""
|
|
35
37
|
|
|
36
38
|
|
|
39
|
+
class VdbUploadError(ValueError):
|
|
40
|
+
"""A nonempty graph batch cannot produce any canonical VDB records."""
|
|
41
|
+
|
|
42
|
+
|
|
37
43
|
def validate_collection_retrieval_results(
|
|
38
44
|
result: Any,
|
|
39
45
|
*,
|
|
@@ -240,6 +246,16 @@ def _is_image_backed_row(row: dict[str, Any]) -> bool:
|
|
|
240
246
|
)
|
|
241
247
|
|
|
242
248
|
|
|
249
|
+
def _is_inherited_page_uri(row: dict[str, Any], stored_image_uri: str, content_type: str | None) -> bool:
|
|
250
|
+
"""Return whether a structured row only carries its page image URI."""
|
|
251
|
+
if content_type not in {"table", "chart", "infographic"}:
|
|
252
|
+
return False
|
|
253
|
+
|
|
254
|
+
page_image = row.get("page_image")
|
|
255
|
+
page_uri = page_image.get("stored_image_uri") if isinstance(page_image, dict) else None
|
|
256
|
+
return bool(_first_str(page_uri) == stored_image_uri)
|
|
257
|
+
|
|
258
|
+
|
|
243
259
|
def _derive_fidelity(content_type: Any, metadata: dict[str, Any], content_metadata: dict[str, Any]) -> str | None:
|
|
244
260
|
"""Map a chunk's modality + real provenance signals to a trust tier.
|
|
245
261
|
|
|
@@ -290,6 +306,8 @@ def _client_record_from_graph_row(row: dict[str, Any], *, require_embedding: boo
|
|
|
290
306
|
stored_image_uri = _first_str(row.get("_stored_image_uri"), row.get("stored_image_uri"))
|
|
291
307
|
if stored_image_uri:
|
|
292
308
|
content_metadata.setdefault("stored_image_uri", stored_image_uri)
|
|
309
|
+
if not _is_inherited_page_uri(row, stored_image_uri, content_type):
|
|
310
|
+
content_metadata.setdefault("uploaded_image_uri", stored_image_uri)
|
|
293
311
|
bbox = _bbox_from_graph_row(row)
|
|
294
312
|
if bbox is not None:
|
|
295
313
|
content_metadata.setdefault("bbox_xyxy_norm", bbox)
|
|
@@ -336,19 +354,61 @@ def _row_has_uploadable_content_without_embedding(row: dict[str, Any]) -> bool:
|
|
|
336
354
|
return bool(_text_from_graph_row(row, metadata)) or _is_image_backed_row(row)
|
|
337
355
|
|
|
338
356
|
|
|
357
|
+
def _stage_error_field(path: Any) -> str:
|
|
358
|
+
text = str(path or "")
|
|
359
|
+
for field in ERROR_FIELD_KEYS:
|
|
360
|
+
if text == field or text.endswith(f".{field}"):
|
|
361
|
+
return field
|
|
362
|
+
return "error"
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
def _raise_for_empty_vdb_conversion(graph_rows: list[dict[str, Any]]) -> None:
|
|
366
|
+
upstream_errors = [error for row in graph_rows for error in iter_stage_errors_from_value(row)]
|
|
367
|
+
if upstream_errors:
|
|
368
|
+
error_fields = Counter(_stage_error_field(error.get("path")) for error in upstream_errors)
|
|
369
|
+
summary = ", ".join(f"{field}={count}" for field, count in sorted(error_fields.items()))
|
|
370
|
+
raise VdbUploadError(
|
|
371
|
+
f"vdb_upload received {len(graph_rows)} row(s), but none were uploadable because upstream stages "
|
|
372
|
+
f"reported {len(upstream_errors)} structured row error(s) ({summary}); "
|
|
373
|
+
"error payloads are omitted because they may contain sensitive data."
|
|
374
|
+
)
|
|
375
|
+
|
|
376
|
+
reasons = Counter(
|
|
377
|
+
(
|
|
378
|
+
"missing embedding"
|
|
379
|
+
if _row_has_uploadable_content_without_embedding(row)
|
|
380
|
+
else "missing searchable text or image backing"
|
|
381
|
+
)
|
|
382
|
+
for row in graph_rows
|
|
383
|
+
)
|
|
384
|
+
if "missing embedding" in reasons:
|
|
385
|
+
summary = ", ".join(f"{reason}={count}" for reason, count in sorted(reasons.items()))
|
|
386
|
+
raise VdbUploadError(
|
|
387
|
+
"vdb_upload requires embedded records, but no embeddings were found. "
|
|
388
|
+
f"Received {len(graph_rows)} nonempty row(s); rejection reasons: {summary}. "
|
|
389
|
+
"Add an embed stage or provide a supported embedding column."
|
|
390
|
+
)
|
|
391
|
+
summary = ", ".join(f"{reason}={count}" for reason, count in sorted(reasons.items()))
|
|
392
|
+
raise VdbUploadError(
|
|
393
|
+
f"vdb_upload received {len(graph_rows)} row(s), but none were uploadable; rejection reasons: {summary}."
|
|
394
|
+
)
|
|
395
|
+
|
|
396
|
+
|
|
339
397
|
def to_client_vdb_records(rows: Any) -> list[list[dict[str, Any]]]:
|
|
340
398
|
"""Convert graph-ingest rows into the nested record shape expected by client VDBs.
|
|
341
399
|
|
|
342
400
|
Dense rows require an embedding and either nonblank text or concrete image backing.
|
|
343
|
-
|
|
344
|
-
|
|
401
|
+
Genuinely empty input returns ``[]`` so Ray can process empty partitions.
|
|
402
|
+
A nonempty graph batch that produces zero records raises
|
|
403
|
+
:class:`VdbUploadError` before a backend write is attempted.
|
|
345
404
|
When at least one row converts, returns ``[batch]`` with a single non-empty inner list
|
|
346
405
|
(never ``[[]]``, which would be truthy and could trip backends on an empty insert).
|
|
347
|
-
Uploadable graph content without an embedding raises ``
|
|
348
|
-
row survives conversion.
|
|
406
|
+
Uploadable graph content without an embedding raises ``VdbUploadError`` when
|
|
407
|
+
no row survives conversion.
|
|
349
408
|
"""
|
|
350
409
|
if isinstance(rows, list) and all(isinstance(batch, list) for batch in rows):
|
|
351
|
-
|
|
410
|
+
nonempty_batches = [batch for batch in rows if batch]
|
|
411
|
+
return rows if len(nonempty_batches) == len(rows) else nonempty_batches
|
|
352
412
|
if hasattr(rows, "to_pandas"):
|
|
353
413
|
rows = rows.to_pandas()
|
|
354
414
|
if hasattr(rows, "to_dict"):
|
|
@@ -358,11 +418,8 @@ def to_client_vdb_records(rows: Any) -> list[list[dict[str, Any]]]:
|
|
|
358
418
|
# would call _client_record_from_graph_row twice per row on large datasets.
|
|
359
419
|
# isinstance(row, dict): plain lists are not normalized like DataFrame rows; skip None/Series/etc.
|
|
360
420
|
inner = [record for row in graph_rows if (record := _client_record_from_graph_row(row)) is not None]
|
|
361
|
-
if not inner and
|
|
362
|
-
|
|
363
|
-
"vdb_upload requires embedded records, but no embeddings were found. "
|
|
364
|
-
"Add an embed stage or provide a supported embedding column."
|
|
365
|
-
)
|
|
421
|
+
if not inner and graph_rows:
|
|
422
|
+
_raise_for_empty_vdb_conversion(graph_rows)
|
|
366
423
|
# Preserve legacy contract: no uploadable rows → [], not [[]].
|
|
367
424
|
return [inner] if inner else []
|
|
368
425
|
|
|
@@ -604,6 +604,15 @@ def resolve_ingest_plan(request: IngestPlanRequest) -> ResolvedIngestPlan:
|
|
|
604
604
|
_validate_profile_manifest(validated_profile, branches)
|
|
605
605
|
|
|
606
606
|
extract_kwargs = profile_extract_defaults(validated_profile)
|
|
607
|
+
if (
|
|
608
|
+
validated_profile == "auto"
|
|
609
|
+
and extract.method is None
|
|
610
|
+
and (extract.ocr_version is not None or extract.ocr_lang is not None)
|
|
611
|
+
):
|
|
612
|
+
# An explicit OCR selector is an opt-in to scanned-page OCR. The
|
|
613
|
+
# default pdfium method only reads a native text layer, so select the
|
|
614
|
+
# hybrid method unless the caller chose a method explicitly.
|
|
615
|
+
extract_kwargs["method"] = "pdfium_hybrid"
|
|
607
616
|
extract_kwargs.update(
|
|
608
617
|
{
|
|
609
618
|
key: value
|
|
@@ -102,6 +102,13 @@ class ingestor:
|
|
|
102
102
|
f"{self.__class__.__name__}.{method_name}() is not implemented yet " f"(run_mode={self.RUN_MODE})."
|
|
103
103
|
)
|
|
104
104
|
|
|
105
|
+
def _validate_input_sources(self, inline_texts: Sequence[str] | None) -> None:
|
|
106
|
+
if self._documents or self._buffers or inline_texts:
|
|
107
|
+
return
|
|
108
|
+
raise ValueError(
|
|
109
|
+
"No input sources configured. Call files(), texts(), or buffers() with at least one source before ingest()."
|
|
110
|
+
)
|
|
111
|
+
|
|
105
112
|
def files(self, documents: Union[str, List[str]]) -> "ingestor":
|
|
106
113
|
"""Add document paths/URIs for processing."""
|
|
107
114
|
self._not_implemented("files")
|
|
@@ -84,13 +84,19 @@ from nemo_retriever.common.input_files import (
|
|
|
84
84
|
from nemo_retriever.common.remote_auth import resolve_remote_api_key
|
|
85
85
|
from nemo_retriever.common.ray_runtime import ensure_local_ray_runtime
|
|
86
86
|
from nemo_retriever.common.ray_resource_hueristics import gather_cluster_resources
|
|
87
|
+
from nemo_retriever.common.stage_errors import (
|
|
88
|
+
ERROR_FIELD_KEYS,
|
|
89
|
+
is_populated_error_field,
|
|
90
|
+
iter_stage_errors_from_value,
|
|
91
|
+
)
|
|
87
92
|
from nemo_retriever.common.modality.txt.split import empty_text_chunks_df
|
|
88
93
|
|
|
89
|
-
_ERROR_FIELD_KEYS =
|
|
94
|
+
_ERROR_FIELD_KEYS = ERROR_FIELD_KEYS
|
|
90
95
|
_REMOTE_EMBED_ENDPOINT_FIELDS = ("embedding_endpoint", "embed_invoke_url")
|
|
91
96
|
_DEFAULT_PAGE_ELEMENTS_COLUMN = "page_elements_v3"
|
|
92
97
|
_DEFAULT_EMBED_COLUMN = "text_embeddings_1b_v2"
|
|
93
98
|
_ERROR_MESSAGE_LIMIT = 256
|
|
99
|
+
_SOURCE_IDENTIFIER_COLUMNS = ("document_id", "path", "source_path", "metadata", "source_id", "source_name")
|
|
94
100
|
logger = logging.getLogger(__name__)
|
|
95
101
|
_HTTP_STATUS_FIELDS: tuple[str, ...] = ("status_code", "http_status", "status", "code")
|
|
96
102
|
_EXPLICIT_MODE_INPUT_TYPES: dict[str, frozenset[str]] = {
|
|
@@ -777,6 +783,7 @@ class GraphIngestor(ingestor):
|
|
|
777
783
|
service-style ``(source, error)`` tuples.
|
|
778
784
|
"""
|
|
779
785
|
return_failures = self._resolve_return_failures(params, kwargs)
|
|
786
|
+
self._validate_input_sources(self._inline_texts)
|
|
780
787
|
if not self._documents and not self._buffers and is_blank_inline_corpus(self._inline_texts):
|
|
781
788
|
result = empty_text_chunks_df()
|
|
782
789
|
if self._run_mode == "batch":
|
|
@@ -1104,35 +1111,11 @@ class GraphIngestor(ingestor):
|
|
|
1104
1111
|
|
|
1105
1112
|
@staticmethod
|
|
1106
1113
|
def _is_populated_error_field(key: str, value: Any) -> bool:
|
|
1107
|
-
|
|
1108
|
-
return False
|
|
1109
|
-
if key == "failed" and isinstance(value, bool):
|
|
1110
|
-
return value
|
|
1111
|
-
if isinstance(value, str):
|
|
1112
|
-
return bool(value.strip())
|
|
1113
|
-
if isinstance(value, (list, tuple, set, dict)):
|
|
1114
|
-
return len(value) > 0
|
|
1115
|
-
return bool(value)
|
|
1114
|
+
return is_populated_error_field(key, value)
|
|
1116
1115
|
|
|
1117
1116
|
@classmethod
|
|
1118
1117
|
def _iter_stage_errors_from_value(cls, value: Any, *, path: str = "") -> Iterator[dict[str, Any]]:
|
|
1119
|
-
|
|
1120
|
-
for key in _ERROR_FIELD_KEYS:
|
|
1121
|
-
if key in value and cls._is_populated_error_field(key, value.get(key)):
|
|
1122
|
-
yield {
|
|
1123
|
-
"path": f"{path}.{key}" if path else key,
|
|
1124
|
-
"error": value.get(key),
|
|
1125
|
-
}
|
|
1126
|
-
for key, child in value.items():
|
|
1127
|
-
if key in _ERROR_FIELD_KEYS and cls._is_populated_error_field(key, child):
|
|
1128
|
-
continue
|
|
1129
|
-
child_path = f"{path}.{key}" if path else str(key)
|
|
1130
|
-
yield from cls._iter_stage_errors_from_value(child, path=child_path)
|
|
1131
|
-
return
|
|
1132
|
-
if isinstance(value, (list, tuple)):
|
|
1133
|
-
for i, child in enumerate(value):
|
|
1134
|
-
child_path = f"{path}[{i}]" if path else f"[{i}]"
|
|
1135
|
-
yield from cls._iter_stage_errors_from_value(child, path=child_path)
|
|
1118
|
+
yield from iter_stage_errors_from_value(value, path=path)
|
|
1136
1119
|
|
|
1137
1120
|
@staticmethod
|
|
1138
1121
|
def _row_value(row: Any, key: str) -> Any:
|
|
@@ -1201,14 +1184,15 @@ class GraphIngestor(ingestor):
|
|
|
1201
1184
|
return []
|
|
1202
1185
|
requested_columns = list(columns) if columns is not None else None
|
|
1203
1186
|
|
|
1204
|
-
if callable(iter_batches)
|
|
1205
|
-
batches = (arrow_table_to_pandas(batch_df) for batch_df in iter_batches(batch_format="pyarrow"))
|
|
1206
|
-
else:
|
|
1207
|
-
batches = (batch,)
|
|
1187
|
+
batches = iter_batches(batch_format="pyarrow") if callable(iter_batches) else (batch,)
|
|
1208
1188
|
|
|
1209
1189
|
records: list[dict[str, Any]] = []
|
|
1210
|
-
for
|
|
1211
|
-
available_columns =
|
|
1190
|
+
for raw_batch in batches:
|
|
1191
|
+
available_columns = (
|
|
1192
|
+
getattr(raw_batch, "column_names", None)
|
|
1193
|
+
if callable(iter_batches)
|
|
1194
|
+
else getattr(raw_batch, "columns", None)
|
|
1195
|
+
)
|
|
1212
1196
|
if available_columns is None:
|
|
1213
1197
|
continue
|
|
1214
1198
|
target_columns = (
|
|
@@ -1216,11 +1200,24 @@ class GraphIngestor(ingestor):
|
|
|
1216
1200
|
if requested_columns is None
|
|
1217
1201
|
else [c for c in requested_columns if c in available_columns]
|
|
1218
1202
|
)
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1203
|
+
if not target_columns:
|
|
1204
|
+
continue
|
|
1205
|
+
# Finalization only needs diagnostic payloads and source context.
|
|
1206
|
+
# Reading the full frame can iterate unrelated Arrow-backed image
|
|
1207
|
+
# columns that pandas cannot safely materialize row by row.
|
|
1208
|
+
scan_columns = list(
|
|
1209
|
+
dict.fromkeys(
|
|
1210
|
+
[*target_columns, *(column for column in _SOURCE_IDENTIFIER_COLUMNS if column in available_columns)]
|
|
1211
|
+
)
|
|
1212
|
+
)
|
|
1213
|
+
batch_df = (
|
|
1214
|
+
arrow_table_to_pandas(raw_batch.select(scan_columns))
|
|
1215
|
+
if callable(iter_batches)
|
|
1216
|
+
else raw_batch.loc[:, scan_columns]
|
|
1217
|
+
)
|
|
1218
|
+
column_values = {column: batch_df[column].array for column in scan_columns}
|
|
1219
|
+
for row_position, row_index in enumerate(batch_df.index):
|
|
1220
|
+
row = {column: values[row_position] for column, values in column_values.items()}
|
|
1224
1221
|
source_identifier = cls._source_identifier_from_row(row, row_index)
|
|
1225
1222
|
for column in target_columns:
|
|
1226
1223
|
for record in cls._iter_stage_errors_from_value(row[column]):
|
|
@@ -25,14 +25,14 @@ logger = logging.getLogger(__name__)
|
|
|
25
25
|
|
|
26
26
|
HF_MODEL_REVISIONS: dict[str, str] = {
|
|
27
27
|
"nvidia/llama-3.2-nv-embedqa-1b-v2": "cefc2394cc541737b7867df197984cf23f05367f",
|
|
28
|
-
"nvidia/llama-nemotron-embed-1b-v2": "
|
|
28
|
+
"nvidia/llama-nemotron-embed-1b-v2": "113abe4acafa848e77ead9c0623205e511932348",
|
|
29
29
|
"nvidia/parakeet-ctc-1.1b": "a707e818195cb97c8f7da2fc36b221a29f69a5db",
|
|
30
30
|
"nvidia/NVIDIA-Nemotron-Parse-v1.2": "f42c8040b12ee64370922d108778ab655b722c5d",
|
|
31
31
|
"nvidia/llama-nemotron-embed-vl-1b-v2": "171968f5db67b2d16aac89b820d53b4eb6a7ab44",
|
|
32
32
|
"meta-llama/Llama-3.2-1B": "4e20de362430cd3b72f300e6b0f18e50e7166e08",
|
|
33
33
|
"intfloat/e5-large-unsupervised": "15af9288f69a6291f37bfb89b47e71abc747b206",
|
|
34
34
|
"nvidia/llama-nemotron-rerank-1b-v2": "8fd3e5d962d44cfe65d4ba0784eebed44cf136b0",
|
|
35
|
-
"nvidia/llama-nemotron-rerank-vl-1b-v2": "
|
|
35
|
+
"nvidia/llama-nemotron-rerank-vl-1b-v2": "9c20c4aedf9ec87b6b7346c3bc4754ea030dab35",
|
|
36
36
|
"nvidia/NVIDIA-Nemotron-Nano-12B-v2-VL-BF16": "5d250e2e111dc5e1434131bdf3d590c27a878ade",
|
|
37
37
|
"nvidia/NVIDIA-Nemotron-Nano-12B-v2-VL-FP8": "7394488badb786e1decc0e00e308de1cab9560e6",
|
|
38
38
|
"nvidia/NVIDIA-Nemotron-Nano-12B-v2-VL-NVFP4-QAD": "b8d3c170d9ee3a078917ef9bfd508eff988d6de7",
|