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.
Files changed (703) hide show
  1. {nemo_retriever-2026.8.13.dev182/src/nemo_retriever.egg-info → nemo_retriever-2026.8.14.dev183}/PKG-INFO +27 -13
  2. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/README.md +26 -12
  3. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/pyproject.toml +3 -1
  4. nemo_retriever-2026.8.14.dev183/src/nemo_retriever/_build_info.py +4 -0
  5. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/query/app.py +5 -2
  6. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/query/options.py +15 -3
  7. {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
  8. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/txt/split.py +0 -1
  9. nemo_retriever-2026.8.14.dev183/src/nemo_retriever/common/stage_errors.py +46 -0
  10. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/vdb/records.py +67 -10
  11. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/ingest/plan.py +9 -0
  12. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/ingestor/core.py +7 -0
  13. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/ingestor/graph_ingestor.py +35 -38
  14. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/hf_model_registry.py +2 -2
  15. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/store_operator.py +43 -1
  16. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/query/agentic.py +3 -1
  17. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/service_ingestor.py +2 -0
  18. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183/src/nemo_retriever.egg-info}/PKG-INFO +27 -13
  19. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever.egg-info/SOURCES.txt +1 -0
  20. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever.egg-info/requires.txt +1 -1
  21. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_agentic_eval.py +68 -0
  22. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_hf_model_registry.py +10 -0
  23. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_ingest_interface.py +80 -0
  24. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_ingest_manifest.py +28 -0
  25. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nemotron_parse_v1_2.py +16 -0
  26. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nv_ingest_vdb_operator.py +51 -5
  27. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_root_cli_workflow.py +1 -0
  28. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_root_query_cli.py +82 -0
  29. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_ingest_async.py +1 -1
  30. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_pipeline_spec.py +20 -4
  31. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_save_to_disk.py +4 -4
  32. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_store_pipeline_stages.py +51 -0
  33. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_txt_split.py +18 -0
  34. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_vdb_records.py +39 -0
  35. nemo_retriever-2026.8.13.dev182/src/nemo_retriever/_build_info.py +0 -4
  36. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/LICENSE +0 -0
  37. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/setup.cfg +0 -0
  38. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/__init__.py +0 -0
  39. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/__main__.py +0 -0
  40. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/__init__.py +0 -0
  41. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/__init__.py +0 -0
  42. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/agent.py +0 -0
  43. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/cache_propagation.py +0 -0
  44. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/llm/__init__.py +0 -0
  45. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/llm/base_backend.py +0 -0
  46. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/llm/callable_backend.py +0 -0
  47. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/llm/error_classification.py +0 -0
  48. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/llm/errors.py +0 -0
  49. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/llm/helpers.py +0 -0
  50. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/llm/litellm_backend.py +0 -0
  51. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/llm/result.py +0 -0
  52. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/llm/usage.py +0 -0
  53. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/loop.py +0 -0
  54. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/prompts/__init__.py +0 -0
  55. {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
  56. {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
  57. {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
  58. {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
  59. {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
  60. {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
  61. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/results.py +0 -0
  62. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/selection_agent.py +0 -0
  63. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/tools/__init__.py +0 -0
  64. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/tools/base_tool.py +0 -0
  65. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/tools/end_tools.py +0 -0
  66. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/tools/retrieve.py +0 -0
  67. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/_agentic/nemo_agent/tools/think_tool.py +0 -0
  68. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/__init__.py +0 -0
  69. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/evidence.py +0 -0
  70. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/ingest/__init__.py +0 -0
  71. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/ingest/app.py +0 -0
  72. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/ingest/graph_commands.py +0 -0
  73. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/ingest/options.py +0 -0
  74. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/ingest/service.py +0 -0
  75. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/ingest/shared.py +0 -0
  76. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/ingest_workflow.py +0 -0
  77. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/main.py +0 -0
  78. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/query/__init__.py +0 -0
  79. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/query_workflow.py +0 -0
  80. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/cli/shared.py +0 -0
  81. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/__init__.py +0 -0
  82. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/__init__.py +0 -0
  83. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/__init__.py +0 -0
  84. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/enums/__init__.py +0 -0
  85. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/enums/common.py +0 -0
  86. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/extract/__init__.py +0 -0
  87. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/mutate/__init__.py +0 -0
  88. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/mutate/deduplicate.py +0 -0
  89. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/primitives/__init__.py +0 -0
  90. {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
  91. {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
  92. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/primitives/tracing/__init__.py +0 -0
  93. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/primitives/tracing/logging.py +0 -0
  94. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/primitives/tracing/tagging.py +0 -0
  95. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/schemas/__init__.py +0 -0
  96. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/schemas/extract/__init__.py +0 -0
  97. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/schemas/meta/__init__.py +0 -0
  98. {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
  99. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/schemas/mixins.py +0 -0
  100. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/internal/schemas/mutate/__init__.py +0 -0
  101. {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
  102. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/__init__.py +0 -0
  103. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/control_message/__init__.py +0 -0
  104. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/control_message/validators.py +0 -0
  105. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/converters/__init__.py +0 -0
  106. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/converters/bytetools.py +0 -0
  107. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/converters/datetools.py +0 -0
  108. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/detectors/__init__.py +0 -0
  109. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/detectors/language.py +0 -0
  110. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/exception_handlers/__init__.py +0 -0
  111. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/exception_handlers/converters.py +0 -0
  112. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/exception_handlers/decorators.py +0 -0
  113. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/exception_handlers/detectors.py +0 -0
  114. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/exception_handlers/pdf.py +0 -0
  115. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/image_processing/__init__.py +0 -0
  116. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/image_processing/clustering.py +0 -0
  117. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/image_processing/transforms.py +0 -0
  118. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/metadata/__init__.py +0 -0
  119. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/metadata/aggregators.py +0 -0
  120. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/pdf/__init__.py +0 -0
  121. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/pdf/pdfium.py +0 -0
  122. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/api/util/string_processing/__init__.py +0 -0
  123. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/config_utils.py +0 -0
  124. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/inline_text.py +0 -0
  125. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/input_files.py +0 -0
  126. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/io/__init__.py +0 -0
  127. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/io/dataframe.py +0 -0
  128. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/io/export.py +0 -0
  129. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/io/image_store.py +0 -0
  130. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/io/markdown.py +0 -0
  131. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/__init__.py +0 -0
  132. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/audio/__init__.py +0 -0
  133. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/audio/media_interface.py +0 -0
  134. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/caption/__init__.py +0 -0
  135. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/caption/model_profiles.py +0 -0
  136. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/content_transforms.py +0 -0
  137. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/convert/__init__.py +0 -0
  138. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/convert/to_pdf.py +0 -0
  139. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/html/__init__.py +0 -0
  140. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/html/convert.py +0 -0
  141. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/image/__init__.py +0 -0
  142. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/image/load.py +0 -0
  143. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/ocr/__init__.py +0 -0
  144. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/ocr/config.py +0 -0
  145. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/ocr/shared.py +0 -0
  146. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/page_elements/__init__.py +0 -0
  147. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/page_elements/local.py +0 -0
  148. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/page_elements/shared.py +0 -0
  149. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/parse/__init__.py +0 -0
  150. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/parse/nemotron_parse_postprocessing.py +0 -0
  151. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/pipeline/__init__.py +0 -0
  152. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/pipeline/content.py +0 -0
  153. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/pipeline/embedding.py +0 -0
  154. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/table/__init__.py +0 -0
  155. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/table/shared.py +0 -0
  156. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/table_and_chart.py +0 -0
  157. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/txt/__init__.py +0 -0
  158. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/txt/tokenizer_provider.py +0 -0
  159. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/video/__init__.py +0 -0
  160. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/modality/video/_content_types.py +0 -0
  161. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/nvtx.py +0 -0
  162. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/params/__init__.py +0 -0
  163. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/params/models.py +0 -0
  164. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/params/utils.py +0 -0
  165. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/policy.py +0 -0
  166. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/ray_resource_hueristics.py +0 -0
  167. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/ray_runtime.py +0 -0
  168. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/remote_auth.py +0 -0
  169. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/schemas/__init__.py +0 -0
  170. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/schemas/base.py +0 -0
  171. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/schemas/collections.py +0 -0
  172. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/schemas/document.py +0 -0
  173. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/schemas/job.py +0 -0
  174. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/schemas/pipeline_spec.py +0 -0
  175. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/schemas/requests.py +0 -0
  176. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/schemas/responses.py +0 -0
  177. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/vdb/__init__.py +0 -0
  178. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/vdb/adt_vdb.py +0 -0
  179. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/vdb/factory.py +0 -0
  180. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/vdb/lancedb.py +0 -0
  181. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/vdb/lancedb_bulk.py +0 -0
  182. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/vdb/lancedb_capabilities.py +0 -0
  183. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/vdb/lancedb_collections.py +0 -0
  184. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/vdb/lancedb_schema.py +0 -0
  185. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/common/vdb/sidecar_metadata.py +0 -0
  186. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/graph/__init__.py +0 -0
  187. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/graph/designer.py +0 -0
  188. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/graph/executor.py +0 -0
  189. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/graph/graph_pipeline_registry.py +0 -0
  190. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/graph/ingestor_runtime.py +0 -0
  191. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/graph/operator_resolution.py +0 -0
  192. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/graph/pipeline_graph.py +0 -0
  193. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/graph/retriever.py +0 -0
  194. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/graph/retriever_utils.py +0 -0
  195. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/__init__.py +0 -0
  196. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/__main__.py +0 -0
  197. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/artifact_writer.py +0 -0
  198. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/artifacts.py +0 -0
  199. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/beir_runner.py +0 -0
  200. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/benchmark_registry.py +0 -0
  201. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/benchmark_specs.py +0 -0
  202. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/cli.py +0 -0
  203. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/config.py +0 -0
  204. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/contracts.py +0 -0
  205. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/dataset_paths.py +0 -0
  206. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/diff.py +0 -0
  207. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/environment.py +0 -0
  208. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/execution.py +0 -0
  209. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/helm_config.py +0 -0
  210. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/helm_manager.py +0 -0
  211. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/helm_runner.py +0 -0
  212. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/history.py +0 -0
  213. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/json_io.py +0 -0
  214. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/metric_gates.py +0 -0
  215. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/metrics.py +0 -0
  216. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/__init__.py +0 -0
  217. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/app.py +0 -0
  218. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/mcp_registry.py +0 -0
  219. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/mcp_server.py +0 -0
  220. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/mcp_tools.py +0 -0
  221. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/index.html +0 -0
  222. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/nvidia-logo.svg +0 -0
  223. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/alerts.jsx +0 -0
  224. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/analytics.jsx +0 -0
  225. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/app.jsx +0 -0
  226. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/database.jsx +0 -0
  227. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/datasets.jsx +0 -0
  228. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/designer.jsx +0 -0
  229. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/icons.jsx +0 -0
  230. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/ingestion.jsx +0 -0
  231. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/layout.jsx +0 -0
  232. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/log-viewer.jsx +0 -0
  233. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/mcp.jsx +0 -0
  234. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/models.jsx +0 -0
  235. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/presets.jsx +0 -0
  236. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/reporting.jsx +0 -0
  237. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/retrieval.jsx +0 -0
  238. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/run-detail.jsx +0 -0
  239. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/runners.jsx +0 -0
  240. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/runs.jsx +0 -0
  241. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/scheduling.jsx +0 -0
  242. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/settings.jsx +0 -0
  243. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/trigger.jsx +0 -0
  244. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/portal/static/views/utils.jsx +0 -0
  245. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/release_reference.py +0 -0
  246. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/resolution.py +0 -0
  247. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/revamp_runner.py +0 -0
  248. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/runfile.py +0 -0
  249. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/runsets.py +0 -0
  250. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/scheduler.py +0 -0
  251. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/slack.py +0 -0
  252. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/harness/vidore_access.py +0 -0
  253. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/ingest/__init__.py +0 -0
  254. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/ingest/execution.py +0 -0
  255. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/ingest/service.py +0 -0
  256. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/ingestor/__init__.py +0 -0
  257. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/ingestor/branch_extraction.py +0 -0
  258. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/ingestor/manifest.py +0 -0
  259. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/ingestor/plans.py +0 -0
  260. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/ingestor/results.py +0 -0
  261. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/__init__.py +0 -0
  262. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/embed_model_spec.py +0 -0
  263. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/hf_cache.py +0 -0
  264. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/inference/__init__.py +0 -0
  265. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/inference/main_text_embed.py +0 -0
  266. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/inference/runtime.py +0 -0
  267. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/inference/shared.py +0 -0
  268. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/inference/vllm.py +0 -0
  269. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/llm/__init__.py +0 -0
  270. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/llm/clients/__init__.py +0 -0
  271. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/llm/clients/judge.py +0 -0
  272. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/llm/clients/litellm.py +0 -0
  273. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/llm/tasks/__init__.py +0 -0
  274. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/llm/tasks/base.py +0 -0
  275. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/llm/tasks/generic.py +0 -0
  276. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/llm/tasks/rag_answer.py +0 -0
  277. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/llm/tasks/summarize.py +0 -0
  278. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/llm/text_utils.py +0 -0
  279. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/llm/types.py +0 -0
  280. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/__init__.py +0 -0
  281. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/agent_llm.py +0 -0
  282. {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
  283. {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
  284. {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
  285. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/nemotron_ocr_v1.py +0 -0
  286. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/nemotron_ocr_v2.py +0 -0
  287. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/nemotron_page_elements_v3.py +0 -0
  288. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/nemotron_parse_v1_2.py +0 -0
  289. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/nemotron_rerank_v2.py +0 -0
  290. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/nemotron_rerank_vl_v2.py +0 -0
  291. {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
  292. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/nemotron_table_structure_v1.py +0 -0
  293. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/local/nemotron_vlm_captioner.py +0 -0
  294. {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
  295. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/model.py +0 -0
  296. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/__init__.py +0 -0
  297. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/chat_completions.py +0 -0
  298. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/error_reporter.py +0 -0
  299. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/nim.py +0 -0
  300. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/primitives/__init__.py +0 -0
  301. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/primitives/default_values.py +0 -0
  302. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/primitives/model_interface/__init__.py +0 -0
  303. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/primitives/model_interface/decorators.py +0 -0
  304. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/primitives/model_interface/helpers.py +0 -0
  305. {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
  306. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/primitives/model_interface/parakeet.py +0 -0
  307. {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
  308. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/primitives/model_interface/vlm.py +0 -0
  309. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/primitives/model_interface/yolox.py +0 -0
  310. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/primitives/nim_client.py +0 -0
  311. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/primitives/nim_model_interface.py +0 -0
  312. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/probe.py +0 -0
  313. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/nim/util/__init__.py +0 -0
  314. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/models/warmup_registry.py +0 -0
  315. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/__init__.py +0 -0
  316. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/abstract_operator.py +0 -0
  317. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/base.py +0 -0
  318. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/content.py +0 -0
  319. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/cpu_operator.py +0 -0
  320. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/dedup.py +0 -0
  321. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/embed/__init__.py +0 -0
  322. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/embed/cpu_operator.py +0 -0
  323. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/embed/gpu_operator.py +0 -0
  324. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/embed/operators.py +0 -0
  325. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/embed/text_embed.py +0 -0
  326. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/embedding.py +0 -0
  327. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/__init__.py +0 -0
  328. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/audio/__init__.py +0 -0
  329. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/audio/asr_actor.py +0 -0
  330. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/audio/chunk_actor.py +0 -0
  331. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/audio/cpu_actor.py +0 -0
  332. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/audio/gpu_actor.py +0 -0
  333. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/caption/__init__.py +0 -0
  334. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/caption/caption.py +0 -0
  335. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/html/__init__.py +0 -0
  336. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/html/ray_data.py +0 -0
  337. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/image/__init__.py +0 -0
  338. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/image/ray_data.py +0 -0
  339. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/ocr/__init__.py +0 -0
  340. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/ocr/cpu_ocr.py +0 -0
  341. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/ocr/cpu_parse.py +0 -0
  342. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/ocr/gpu_ocr.py +0 -0
  343. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/ocr/gpu_parse.py +0 -0
  344. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/ocr/ocr.py +0 -0
  345. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/page_elements/__init__.py +0 -0
  346. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/page_elements/cpu_actor.py +0 -0
  347. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/page_elements/gpu_actor.py +0 -0
  348. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/page_elements/page_elements.py +0 -0
  349. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/parse/__init__.py +0 -0
  350. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/parse/nemotron_parse.py +0 -0
  351. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/pdf/__init__.py +0 -0
  352. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/pdf/extract.py +0 -0
  353. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/pdf/split.py +0 -0
  354. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/table/__init__.py +0 -0
  355. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/table/cpu_actor.py +0 -0
  356. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/table/gpu_actor.py +0 -0
  357. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/table/table_detection.py +0 -0
  358. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/txt/__init__.py +0 -0
  359. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/txt/ray_data.py +0 -0
  360. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/video/__init__.py +0 -0
  361. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/video/audio_visual_fuser.py +0 -0
  362. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/video/frame_actor.py +0 -0
  363. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/video/ocr_actor.py +0 -0
  364. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/video/split.py +0 -0
  365. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/extract/video/text_dedup.py +0 -0
  366. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/generation/__init__.py +0 -0
  367. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/generation/base.py +0 -0
  368. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/generation/generic.py +0 -0
  369. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/generation/summarization.py +0 -0
  370. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/gpu_operator.py +0 -0
  371. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/__init__.py +0 -0
  372. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/content_operators.py +0 -0
  373. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/custom_operator.py +0 -0
  374. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/eval_operator.py +0 -0
  375. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/file_loader_operator.py +0 -0
  376. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/lancedb_write_operator.py +0 -0
  377. {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
  378. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/react_agent_operator.py +0 -0
  379. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/rrf_aggregator_operator.py +0 -0
  380. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/scoring_operator.py +0 -0
  381. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/selection_agent_operator.py +0 -0
  382. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/subquery_operator.py +0 -0
  383. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/graph_ops/webhook_operator.py +0 -0
  384. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/operator_archetype.py +0 -0
  385. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/rerank.py +0 -0
  386. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/operators/vdb.py +0 -0
  387. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/query/__init__.py +0 -0
  388. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/query/agentic_options.py +0 -0
  389. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/query/evidence.py +0 -0
  390. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/query/options.py +0 -0
  391. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/query/service.py +0 -0
  392. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/query/shaping.py +0 -0
  393. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/query/workflow.py +0 -0
  394. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/__init__.py +0 -0
  395. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/agentic_query.py +0 -0
  396. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/app.py +0 -0
  397. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/auth.py +0 -0
  398. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/cli.py +0 -0
  399. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/client.py +0 -0
  400. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/config.py +0 -0
  401. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/errors.py +0 -0
  402. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/mcp_server.py +0 -0
  403. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/query_schema.py +0 -0
  404. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/retriever-service.yaml +0 -0
  405. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/routers/__init__.py +0 -0
  406. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/routers/admin.py +0 -0
  407. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/routers/collections.py +0 -0
  408. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/routers/dashboard.py +0 -0
  409. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/routers/ingest.py +0 -0
  410. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/routers/metrics.py +0 -0
  411. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/routers/work.py +0 -0
  412. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/services/__init__.py +0 -0
  413. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/services/event_bus.py +0 -0
  414. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/services/job_tracker.py +0 -0
  415. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/services/metrics.py +0 -0
  416. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/services/pipeline_executor.py +0 -0
  417. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/services/pipeline_pool.py +0 -0
  418. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/services/prometheus.py +0 -0
  419. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/services/proxy.py +0 -0
  420. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/services/sidecar_store.py +0 -0
  421. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/services/work_queue.py +0 -0
  422. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/services/worker_result_store.py +0 -0
  423. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/tracing.py +0 -0
  424. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/utils/__init__.py +0 -0
  425. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/utils/file_type.py +0 -0
  426. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/service/vectordb_app.py +0 -0
  427. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/__init__.py +0 -0
  428. {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
  429. {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
  430. {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
  431. {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
  432. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/dev_tools/debug_ingest.py +0 -0
  433. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/dev_tools/duckdb_connector.py +0 -0
  434. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/__init__.py +0 -0
  435. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/dal/__init__.py +0 -0
  436. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/dal/db_dal.py +0 -0
  437. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/dal/queries_dal.py +0 -0
  438. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/dal/schemas_dal.py +0 -0
  439. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/dal/utils_dal.py +0 -0
  440. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/extract_data.py +0 -0
  441. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/indexes.py +0 -0
  442. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/model/__init__.py +0 -0
  443. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/model/neo4j_node.py +0 -0
  444. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/model/query.py +0 -0
  445. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/model/reserved_words.py +0 -0
  446. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/model/schema.py +0 -0
  447. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/parsers/__init__.py +0 -0
  448. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/parsers/query_comparator.py +0 -0
  449. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/parsers/schemas_parser.py +0 -0
  450. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/parsers/sqlglot_extractor.py +0 -0
  451. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/services/__init__.py +0 -0
  452. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/services/queries.py +0 -0
  453. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/services/schema.py +0 -0
  454. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/utils.py +0 -0
  455. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/ingestion/write_to_graph.py +0 -0
  456. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/neo4j/__init__.py +0 -0
  457. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/neo4j/neo4j_connection.py +0 -0
  458. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/operators/__init__.py +0 -0
  459. {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
  460. {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
  461. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/__init__.py +0 -0
  462. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/data_access/__init__.py +0 -0
  463. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/data_access/candidates.py +0 -0
  464. {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
  465. {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
  466. {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
  467. {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
  468. {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
  469. {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
  470. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/generate_sql.py +0 -0
  471. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/retrieval/llm_invoke.py +0 -0
  472. {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
  473. {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
  474. {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
  475. {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
  476. {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
  477. {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
  478. {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
  479. {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
  480. {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
  481. {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
  482. {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
  483. {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
  484. {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
  485. {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
  486. {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
  487. {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
  488. {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
  489. {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
  490. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tabular_data/sql_database.py +0 -0
  491. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/__init__.py +0 -0
  492. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/benchmark/__init__.py +0 -0
  493. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/benchmark/__main__.py +0 -0
  494. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/benchmark/all_actor.py +0 -0
  495. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/benchmark/audio_extract_actor.py +0 -0
  496. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/benchmark/common.py +0 -0
  497. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/benchmark/extract_actor.py +0 -0
  498. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/benchmark/ocr_actor.py +0 -0
  499. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/benchmark/page_elements_actor.py +0 -0
  500. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/benchmark/split_actor.py +0 -0
  501. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/__init__.py +0 -0
  502. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/cli.py +0 -0
  503. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/config.py +0 -0
  504. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/generation.py +0 -0
  505. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/ground_truth.py +0 -0
  506. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/judging.py +0 -0
  507. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/live_retrieval.py +0 -0
  508. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/orchestrator.py +0 -0
  509. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/retrieval_loader.py +0 -0
  510. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/retrievers.py +0 -0
  511. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/runner.py +0 -0
  512. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/evaluation/scoring.py +0 -0
  513. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/recall/__init__.py +0 -0
  514. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/recall/__main__.py +0 -0
  515. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/recall/beir.py +0 -0
  516. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/recall/beir_eval.py +0 -0
  517. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/recall/core.py +0 -0
  518. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/recall/recall_eval.py +0 -0
  519. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/recall/vdb_recall.py +0 -0
  520. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/__init__.py +0 -0
  521. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/__main__.py +0 -0
  522. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/cli.py +0 -0
  523. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/configs/__init__.py +0 -0
  524. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/configs/skill_eval.yaml +0 -0
  525. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/dataset.py +0 -0
  526. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/prompts/__init__.py +0 -0
  527. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/prompts/setup_nl.j2 +0 -0
  528. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/prompts/setup_slash.j2 +0 -0
  529. {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
  530. {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
  531. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/report.py +0 -0
  532. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/runner.py +0 -0
  533. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/score.py +0 -0
  534. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/tools/skill_eval/trace_summarizer.py +0 -0
  535. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever/version.py +0 -0
  536. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever.egg-info/dependency_links.txt +0 -0
  537. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever.egg-info/entry_points.txt +0 -0
  538. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/src/nemo_retriever.egg-info/top_level.txt +0 -0
  539. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_actor_operators.py +0 -0
  540. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_agentic_local_llm.py +0 -0
  541. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_agentic_operators.py +0 -0
  542. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_agentic_source_hygiene.py +0 -0
  543. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_asr_actor.py +0 -0
  544. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_audio_benchmark.py +0 -0
  545. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_audio_chunk_actor.py +0 -0
  546. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_audio_pipeline_batch.py +0 -0
  547. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_audio_visual_fuser.py +0 -0
  548. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_beir_evaluation.py +0 -0
  549. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_caption.py +0 -0
  550. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_caption_model_profiles.py +0 -0
  551. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_ci_workflows.py +0 -0
  552. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_collection_management_api.py +0 -0
  553. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_common_datetools.py +0 -0
  554. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_compose_nim_2_contracts.py +0 -0
  555. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_container_ffmpeg_install.py +0 -0
  556. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_cpu_module_import_safety.py +0 -0
  557. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_create_local_embedder.py +0 -0
  558. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_dashboard_static_trace_ui.py +0 -0
  559. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_dedup.py +0 -0
  560. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_doc_to_pdf_actor.py +0 -0
  561. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_embed_model_spec.py +0 -0
  562. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_embed_params.py +0 -0
  563. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_evaluation_config.py +0 -0
  564. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_evaluation_orchestrator.py +0 -0
  565. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_evaluation_retrievers.py +0 -0
  566. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_evidence.py +0 -0
  567. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_executor_arrow_pandas.py +0 -0
  568. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_fidelity.py +0 -0
  569. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_generation_hardening.py +0 -0
  570. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_generation_tasks.py +0 -0
  571. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_graph_ingestion_error_diagnostics.py +0 -0
  572. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_graph_pipeline_registry.py +0 -0
  573. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_harness_agentic_eval.py +0 -0
  574. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_harness_artifacts.py +0 -0
  575. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_harness_benchmark_registry.py +0 -0
  576. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_harness_helm_cli.py +0 -0
  577. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_harness_helm_nightly.py +0 -0
  578. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_harness_nightly_git_selection.py +0 -0
  579. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_harness_nightly_launcher.py +0 -0
  580. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_harness_runfiles.py +0 -0
  581. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_harness_slack.py +0 -0
  582. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_harness_vidore_access.py +0 -0
  583. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_answer_llm_generation.py +0 -0
  584. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_auth.py +0 -0
  585. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_caption_endpoint.py +0 -0
  586. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_embed_model_provider_prefix.py +0 -0
  587. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_max_upload_bytes.py +0 -0
  588. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_nemotron_parse_endpoint.py +0 -0
  589. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_nim_2_contracts.py +0 -0
  590. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_nimcache_model_profile.py +0 -0
  591. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_nimservice_resources.py +0 -0
  592. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_optional_nims_disabled_by_default.py +0 -0
  593. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_shared_results.py +0 -0
  594. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_tracing_zipkin.py +0 -0
  595. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_vectordb_embed_required.py +0 -0
  596. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_helm_work_queue.py +0 -0
  597. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_hf_cache.py +0 -0
  598. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_hf_embedder_padding.py +0 -0
  599. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_html_convert.py +0 -0
  600. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_image_load.py +0 -0
  601. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_ingest_empty_validation.py +0 -0
  602. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_ingest_plans.py +0 -0
  603. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_ingest_results.py +0 -0
  604. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_ingest_retrieve_multimodal_pdf_integration.py +0 -0
  605. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_ingest_service.py +0 -0
  606. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_inline_text_ingest.py +0 -0
  607. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_internal_auth.py +0 -0
  608. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_io_dataframe.py +0 -0
  609. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_io_image_store.py +0 -0
  610. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_io_markdown.py +0 -0
  611. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_lancedb_capabilities.py +0 -0
  612. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_lancedb_collections.py +0 -0
  613. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_lancedb_ivf_partitions.py +0 -0
  614. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_lancedb_retrieval_where.py +0 -0
  615. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_lancedb_row_metadata.py +0 -0
  616. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_lancedb_write_policy.py +0 -0
  617. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_live_rag.py +0 -0
  618. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_llm_params.py +0 -0
  619. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_media_dependency_availability.py +0 -0
  620. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_multimodal_embed.py +0 -0
  621. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nemo_agent_callable_contract.py +0 -0
  622. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nemo_agent_error_classification.py +0 -0
  623. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nemo_agent_llm_config.py +0 -0
  624. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nemo_agent_llm_helpers.py +0 -0
  625. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nemotron_ocr_v2_nightly.py +0 -0
  626. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nemotron_rerank_v2.py +0 -0
  627. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nemotron_rerank_vl_v2.py +0 -0
  628. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nemotron_rerank_vl_v2_hf.py +0 -0
  629. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nim_chat_completion_step.py +0 -0
  630. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_nim_tracing.py +0 -0
  631. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_ocr_cross_page_batching.py +0 -0
  632. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_ocr_version_selection.py +0 -0
  633. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_operator_flags_and_cpu_actors.py +0 -0
  634. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_page_elements_postprocess.py +0 -0
  635. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_parakeet_ctc_hf_compat.py +0 -0
  636. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_parakeet_infer_mode.py +0 -0
  637. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_params_models.py +0 -0
  638. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_params_utils.py +0 -0
  639. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_pdf_render_params_wiring.py +0 -0
  640. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_pdf_render_scale.py +0 -0
  641. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_pipeline_graph.py +0 -0
  642. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_pipeline_image_caption_concurrency.py +0 -0
  643. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_private_agent_packaging.py +0 -0
  644. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_probe_event_recording.py +0 -0
  645. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_query_comparator.py +0 -0
  646. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_query_workflow_options.py +0 -0
  647. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_readme_typical_use.py +0 -0
  648. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_readme_video_pipeline_example.py +0 -0
  649. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_recall_core.py +0 -0
  650. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_recall_summary.py +0 -0
  651. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_remote_auth.py +0 -0
  652. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_resource_heuristics.py +0 -0
  653. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_retriever_queries.py +0 -0
  654. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_semantic_search_metadata_filter_format.py +0 -0
  655. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_agentic_query.py +0 -0
  656. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_answer_generation.py +0 -0
  657. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_caption.py +0 -0
  658. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_client_compat.py +0 -0
  659. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_ingest_router.py +0 -0
  660. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_ingestor_compat.py +0 -0
  661. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_job_callback_diagnostics.py +0 -0
  662. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_job_tracker.py +0 -0
  663. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_local_models.py +0 -0
  664. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_mcp.py +0 -0
  665. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_media_dependency_gate.py +0 -0
  666. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_metrics_lifecycle.py +0 -0
  667. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_packaging.py +0 -0
  668. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_pipeline_tracing.py +0 -0
  669. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_pool_metrics.py +0 -0
  670. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_pool_tracing.py +0 -0
  671. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_proxy_tracing.py +0 -0
  672. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_query_client.py +0 -0
  673. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_query_rerank.py +0 -0
  674. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_sidecar.py +0 -0
  675. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_sinks.py +0 -0
  676. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_sse.py +0 -0
  677. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_tracing.py +0 -0
  678. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_vectordb_app.py +0 -0
  679. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_vectordb_evidence_integration.py +0 -0
  680. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_vectordb_hybrid_integration.py +0 -0
  681. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_work_queue.py +0 -0
  682. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_service_worker_callback.py +0 -0
  683. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_sidecar_metadata.py +0 -0
  684. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_slim_imports_no_triton.py +0 -0
  685. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_split_config.py +0 -0
  686. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_split_config_integration.py +0 -0
  687. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_sqlglot_extractor.py +0 -0
  688. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_src_documentation_snippets.py +0 -0
  689. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_table_structure.py +0 -0
  690. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_table_structure_nim_empty_bbox.py +0 -0
  691. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_tabular_pipeline.py +0 -0
  692. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_tabular_table_type.py +0 -0
  693. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_tokenizer_provider.py +0 -0
  694. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_type_aliases.py +0 -0
  695. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_vdb_collection_contract.py +0 -0
  696. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_video_frame_actor.py +0 -0
  697. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_video_frame_ocr_actor.py +0 -0
  698. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_video_pipeline_batch.py +0 -0
  699. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_video_recall.py +0 -0
  700. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_video_text_dedup.py +0 -0
  701. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_vllm_embed.py +0 -0
  702. {nemo_retriever-2026.8.13.dev182 → nemo_retriever-2026.8.14.dev183}/tests/test_warmup_registry.py +0 -0
  703. {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.13.dev182
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>=0.21.1
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
- Point `retriever ingest` at a **directory** of PDFs to produce a ready-to-query
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
- > **Corpus size matters.** LanceDB's default IVF index needs at least 16
295
- > chunks to train its 16 k-means partitions. Single-PDF ingestion will fail
296
- > at the indexing step; point `retriever ingest` at a directory with enough
297
- > documents to clear that threshold. Replace `/your-example-dir` below with
298
- > the path to your own corpus.
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 /your-example-dir \
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. Use enough documents in the directory to clear the LanceDB IVF
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 /your-example-dir \
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
- Point `retriever ingest` at a **directory** of PDFs to produce a ready-to-query
182
- LanceDB table.
183
-
184
- > **Corpus size matters.** LanceDB's default IVF index needs at least 16
185
- > chunks to train its 16 k-means partitions. Single-PDF ingestion will fail
186
- > at the indexing step; point `retriever ingest` at a directory with enough
187
- > documents to clear that threshold. Replace `/your-example-dir` below with
188
- > the path to your own corpus.
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 /your-example-dir \
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. Use enough documents in the directory to clear the LanceDB IVF
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 /your-example-dir \
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
- "tokenizers>=0.21.1",
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
 
@@ -0,0 +1,4 @@
1
+ """Build metadata written by CI before packaging."""
2
+
3
+ BUILD_GIT_SHA = "95309b7c1f5b4b61109bd538f94a9b064af8476c"
4
+ BUILD_DATE = "2026-08-14T23:39:45Z"
@@ -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 = False,
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
- rerank = rerank or bool(reranker_invoke_url) or bool(reranker_model_name) or bool(reranker_backend)
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. Implicitly enabled when "
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
- When no row survives conversion, returns ``[]`` — a falsy value so
344
- ``if not records`` skips :meth:`~nemo_retriever.vdb.adt_vdb.VDB.run`.
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 ``ValueError`` when no
348
- row survives conversion. Genuinely empty input continues to return ``[]``.
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
- return rows
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 any(_row_has_uploadable_content_without_embedding(row) for row in graph_rows):
362
- raise ValueError(
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 = ("error", "errors", "exception", "traceback", "failed")
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
- if value is None:
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
- if isinstance(value, dict):
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 batch_df in batches:
1211
- available_columns = getattr(batch_df, "columns", None)
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
- # ``iterrows`` materializes the full frame through NumPy, which is
1220
- # unsafe for Ray pickled-object columns containing empty arrays.
1221
- row_values = batch_df.itertuples(index=False, name=None)
1222
- for row_index, values in zip(batch_df.index, row_values):
1223
- row = dict(zip(available_columns, values))
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": "b4caa8456edd360b3b4e938d94ed4398dd437fad",
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": "edc083f4b3a433d65287cbca916759c9f88fa887",
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",