Skip to content

docs(nemo-retriever): document Nemotron Parse hosted vs self-hosted contract selection - #2397

Merged
charlesbluca merged 7 commits into
NVIDIA:mainfrom
kheiss-uwzoo:kheiss/nemotron-parse-nim-build-divergence
Jul 27, 2026
Merged

docs(nemo-retriever): document Nemotron Parse hosted vs self-hosted contract selection#2397
charlesbluca merged 7 commits into
NVIDIA:mainfrom
kheiss-uwzoo:kheiss/nemotron-parse-nim-build-divergence

Conversation

@kheiss-uwzoo

@kheiss-uwzoo kheiss-uwzoo commented Jul 23, 2026

Copy link
Copy Markdown
Collaborator

Summary

Documents Nemotron Parse hosted Build vs self-hosted request-contract selection after library-side compatibility landed in #2398.

Hosted NVIDIA Build and self-hosted nemotron-parse-v1.2 still use different request contracts, but the library now selects the matching contract automatically. Hosted Build is a supported path.

Changes

  • prerequisites-support-matrix.md — Default NVCF endpoints: annotate the nemotron-parse row and add a configuration note covering automatic model/contract selection, when to set nemotron_parse_invoke_url / nemotron_parse_model, and the mixed-endpoint rule. Uses public method="nemotron_parse" (not extract_method).
  • troubleshoot.md — model/endpoint mismatch entry for the residual HTTP 400 / text-input failure when an incompatible tagged or v1.2 model is sent to Build; resolution is omit nemotron_parse_model or set nvidia/nemotron-parse.

Scope

Docs-only. Runtime contract selection is already in #2398.

Self-review

  • Reflects post-Fix hosted Nemotron Parse contract #2398 supported Build path (not the old unavoidable failure mode)
  • Uses method= for public API guidance added by this PR
  • Page-role / link-CTA check passed (check-nrl-doc-leakage.ps1)
  • Cross-links and anchors consistent

… NIM API divergence

The hosted NVIDIA Build endpoint (model nvidia/nemotron-parse) currently
expects a different request contract than the self-hosted nemotron-parse-v1.2
NIM the library targets, so extract_method="nemotron_parse" against the hosted
Build endpoint can fail with HTTP 400 ("model does not support text input").

Document the divergence and workaround (self-hosted Helm NIM, local HF, or
default pdfium) in the support matrix NVCF endpoints section, and add a matching
troubleshooting entry for the error symptom.
@kheiss-uwzoo
kheiss-uwzoo requested review from a team as code owners July 23, 2026 16:16
@kheiss-uwzoo
kheiss-uwzoo requested a review from jioffe502 July 23, 2026 16:16
@greptile-apps

greptile-apps Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This docs-only PR documents the hosted NVIDIA Build vs self-hosted Nemotron Parse request-contract selection that landed in #2398, and globally renames extract_method= to method= to reflect the updated public API surface.

  • Global rename: extract_method=\"nemotron_parse\"method=\"nemotron_parse\" applied consistently across eight files (docs, READMEs, Helm reference).
  • New callout in prerequisites-support-matrix.md: explains that hosted Build and self-hosted nemotron-parse-v1.2 use different request contracts, that the library auto-selects the matching contract, and when to set nemotron_parse_invoke_url / nemotron_parse_model explicitly.
  • New troubleshooting entry in troubleshoot.md: describes the HTTP 400 "Content cannot be a plain string" failure from a contract mismatch and provides resolution steps.

Confidence Score: 5/5

Safe to merge; all changes are documentation-only with no runtime code modified.

The rename of extract_method to method is applied uniformly across all eight changed files, cross-links and anchors are consistent, and the new callout and troubleshooting content accurately reflects the contract-selection behaviour described in #2398. Two minor prose clarity issues exist in the new callout but neither introduces incorrect guidance that would break a user's deployment.

Files Needing Attention: The new callout block in prerequisites-support-matrix.md (lines 114-123) is the only area needing a second read for prose clarity; the rest of the changes are mechanical renames.

Important Files Changed

Filename Overview
docs/docs/extraction/prerequisites-support-matrix.md Renames extract_method to method in table/notes, and adds a new hosted Build vs self-hosted NIM callout; one sentence uses undefined "endpoint lists" terminology that may confuse readers.
docs/docs/extraction/troubleshoot.md Renames extract_method to method in one existing entry, and adds a new Nemotron Parse model/endpoint mismatch troubleshooting section.
docs/docs/extraction/customize-extend.md Single-line rename of extract_method to method; consistent with the rest of the PR.
docs/docs/extraction/faq.md Single-line rename of extract_method to method; consistent.
docs/docs/extraction/multimodal-extraction.md Renames extract_method to method in three locations; all consistent.
docs/docs/extraction/overview.md Renames extract_method to method in two locations; consistent.
nemo_retriever/README.md Single-line rename of extract_method to method; consistent.
nemo_retriever/helm/README.md Single-line rename of extract_method to method in the Helm value description; consistent.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[User sets method=nemotron_parse] --> B{nemotron_parse_invoke_url set?}
    B -- No --> C[Use default hosted Build URL]
    B -- Yes --> D{Points to Build endpoint?}
    D -- Yes --> C
    D -- No --> E[Use self-hosted chat endpoint]
    C --> F{nemotron_parse_model set?}
    F -- No --> G[Auto-select nvidia/nemotron-parse]
    F -- Yes --> H{Model matches Build contract?}
    H -- Yes --> I[Use image-only tool-call contract]
    H -- No versioned v1.2 model --> J[HTTP 400 Content cannot be a plain string]
    G --> I
    E --> K{nemotron_parse_model set?}
    K -- No --> L[Auto-select nvidia/nemotron-parse-v1.2]
    K -- Yes --> M[Use specified model]
    L --> N[Use tagged text-prompt contract]
    M --> N
Loading

Reviews (4): Last reviewed commit: "docs(nemo-retriever): standardize extrac..." | Re-trigger Greptile

@kheiss-uwzoo kheiss-uwzoo self-assigned this Jul 23, 2026
@kheiss-uwzoo kheiss-uwzoo added 26.07 doc Improvements or additions to documentation labels Jul 23, 2026
@kheiss-uwzoo
kheiss-uwzoo marked this pull request as draft July 23, 2026 16:31
@kheiss-uwzoo

Copy link
Copy Markdown
Collaborator Author

Holding this as draft pending Charles's engineering compat changes so we handle each nemotron-parse version properly. Will refresh the doc wording against that PR once it lands (easier to contextualize then).

@charlesbluca charlesbluca left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for holding this until #2398 landed. The hosted and self-hosted deployments still use different request contracts, but #2398 added library-side compatibility, making hosted Build a supported path. The inline comments identify the places that still describe the old failure mode, along with one invalid public parameter name.

The PR title and description also need to be refreshed: they currently state that hosted extraction fails and that dual-API support remains future work. They should instead describe the supported contract-selection behavior and any configuration guidance retained by this PR.

Once the docs and PR metadata reflect #2398, I did not find another content blocker in this diff; the anchors and cross-links are consistent.

Comment thread docs/docs/extraction/prerequisites-support-matrix.md Outdated
Comment thread docs/docs/extraction/prerequisites-support-matrix.md Outdated
Comment thread docs/docs/extraction/troubleshoot.md Outdated
…ontract selection

After NVIDIA#2398, the library supports both NVIDIA Build and self-hosted
nemotron-parse contracts. Refresh the support-matrix note and
troubleshooting entry to describe automatic contract selection and
model/endpoint mismatch guidance instead of the pre-NVIDIA#2398 failure mode.
Use method="nemotron_parse" for the public ExtractParams parameter.
@kheiss-uwzoo kheiss-uwzoo changed the title docs(nemo-retriever): note Nemotron Parse hosted Build vs self-hosted NIM API divergence docs(nemo-retriever): document Nemotron Parse hosted vs self-hosted contract selection Jul 27, 2026
@kheiss-uwzoo
kheiss-uwzoo marked this pull request as ready for review July 27, 2026 18:57
Comment thread docs/docs/extraction/troubleshoot.md Outdated
Normalize remaining extract_method="nemotron_parse" references to
method="nemotron_parse" in the support matrix and troubleshoot pages.
ExtractParams exposes method; .extract() rejects extract_method.
@charlesbluca

Copy link
Copy Markdown
Collaborator

Thanks for cleaning up the touched pages, and apologies—I was not clear that I meant the remaining Nemotron Parse/general extraction-selector references across the customer-facing docs as well. These can be updated directly from extract_method to method:

  • docs/docs/extraction/multimodal-extraction.md: lines 27, 30, 55, 61
  • docs/docs/extraction/overview.md: lines 26, 30
  • docs/docs/extraction/faq.md: line 39
  • docs/docs/extraction/customize-extend.md: line 26
  • nemo_retriever/README.md: line 73
  • nemo_retriever/helm/README.md: line 477

One caveat: nemo_retriever/README.md:129 uses extract_method="audio"; please do not mechanically change that to method="audio". Audio uses a different API path (.extract_audio()), so that occurrence should be handled separately rather than included in this replacement.

…r docs

Replace remaining Nemotron Parse and general extraction-selector
extract_method references with method across the touched customer-facing
pages. Leave extract_method="audio" in the package README unchanged;
audio uses .extract_audio() rather than .extract(method=...).
@charlesbluca
charlesbluca merged commit 3b3972d into NVIDIA:main Jul 27, 2026
9 checks passed
@kheiss-uwzoo kheiss-uwzoo added 26.08 and removed 26.07 labels Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

26.08 doc Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants