Skip to content

docs(tutorials): add Lab 12 — Serve Models from a KitOps ModelKit on HAMi#655

Open
rudrakshkarpe wants to merge 4 commits into
Project-HAMi:masterfrom
rudrakshkarpe:lab/kitops-modelkit-on-hami
Open

docs(tutorials): add Lab 12 — Serve Models from a KitOps ModelKit on HAMi#655
rudrakshkarpe wants to merge 4 commits into
Project-HAMi:masterfrom
rudrakshkarpe:lab/kitops-modelkit-on-hami

Conversation

@rudrakshkarpe

@rudrakshkarpe rudrakshkarpe commented Jul 23, 2026

Copy link
Copy Markdown

What type of PR is this?

/kind documentation

What this PR does / why we need it:

Adds Lab 12: Serve Models from a KitOps ModelKit on HAMi — a new intermediate tutorial that packages a model as a KitOps ModelKit (a versioned OCI artifact) and downloads it from an OCI registry (Jozu Hub) into the Pod, then serves it locally on HAMi GPU shares. It shows the enterprise, registry-native model supply chain requested in the issue: package the model once, version and store it on Jozu Hub, and pull it into the workload as an OCI artifact.

The lab walks through:

  • Inspecting a public KitOps ModelKit (kit inspect --remote)
  • Building a small kitunpacker init image and a custom SGLang serve image (both scripts included)
  • Deploying a Pod where a kitops-init initContainer unpacks the ModelKit into a shared volume and the main container serves it from a local path
  • Scheduling the workload on HAMi with nvidia.com/gpumem / nvidia.com/gpucores caps and verifying them in-Pod
  • An optional co-resident vLLM engine serving the same ModelKit pattern, plus a reference Kitfile for packaging your own ModelKit

It builds on Lab 11 (SGLang) / Lab 6 (vLLM): the inference engines run on HAMi resources, and here the model supply chain is registry-native — packaged as a ModelKit, stored on Jozu Hub, pulled by the initContainer, and served from a local directory. Manifests are inline and self-contained; commands/outputs are captured from a verification run on a kind + NVIDIA H100 80GB cluster (verified: 2026-07-23) using a public Jozu Hub ModelKit.

Also adds the sidebar entry in sidebars-tutorials.js; the overview card is generated automatically from frontmatter.

Which issue(s) this PR fixes:

Addresses #561

The issue notes @shivaylamba planned to build this lab. This PR is offered in coordination — @shivaylamba is a co-author here. Happy to merge, adapt, or fold it into your version, whichever the maintainers prefer; using "Addresses" rather than "Fixes" so it doesn't auto-close ahead of that call.

Checklist:

  • npm run lint and npm run format:check pass
  • npm run build succeeds for both en and zh
  • Chinese translation updated if English docs changed (or noted why not)
  • Commits are signed off (git commit -s)

Notes for reviewers:

  • npm run build verified locally for both en and zh (broken-link check passes).
  • This lab is self-contained; its references to Lab 11 are plain text so it builds independently of docs(tutorials): add Lab 11 — Run SGLang on HAMi GPU Shares #654. Once both merge, those can be upgraded to internal links.
  • Chinese translation not yet added — happy to follow up under i18n/zh/.../labs/ once the English lab is reviewed.
  • cc @shivaylamba.

rudrakshkarpe and others added 2 commits July 24, 2026 03:53
…HAMi

Add a new intermediate lab that replaces the runtime Hugging Face model
download with a KitOps ModelKit pulled from an OCI registry. A kitunpacker
initContainer unpacks the ModelKit into a shared volume, and a custom
SGLang image (with an optional co-resident vLLM example) serves the model
from that local path — no Hugging Face download in the main container —
while HAMi enforces nvidia.com/gpumem and nvidia.com/gpucores caps.

This is the model-supply-chain counterpart to Lab 11 (SGLang) and Lab 6
(vLLM). All commands and outputs are captured from a verification run on a
kind cluster backed by a single NVIDIA H100 80GB, using a public Jozu Hub
ModelKit.

Addresses Project-HAMi#561

Co-authored-by: Shivay Lamba <19529592+shivaylamba@users.noreply.github.com>
Signed-off-by: rudrakshkarpe <rudraksh.karpe@gmail.com>
…idebar

Add the labs/hami-kitops entry to sidebars-tutorials.js so the new lab
appears in the Labs category navigation.

Co-authored-by: Shivay Lamba <19529592+shivaylamba@users.noreply.github.com>
Signed-off-by: rudrakshkarpe <rudraksh.karpe@gmail.com>
@hami-robot

hami-robot Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

@rudrakshkarpe: The label(s) kind/documentation cannot be applied, because the repository doesn't have them.

Details

In response to this:

What type of PR is this?

/kind documentation

What this PR does / why we need it:

Adds Lab 12: Serve Models from a KitOps ModelKit on HAMi — a new intermediate tutorial that replaces the runtime Hugging Face download with a KitOps ModelKit pulled from an OCI registry (Jozu Hub). This is the enterprise model-supply-chain pattern requested in the issue: package the model once as a versioned OCI artifact, then deliver it into the Pod instead of fetching it from Hugging Face at serving time.

The lab walks through:

  • Inspecting a public KitOps ModelKit (kit inspect --remote)
  • Building a small kitunpacker init image and a custom SGLang serve image (both scripts included)
  • Deploying a Pod where a kitops-init initContainer unpacks the ModelKit into a shared volume and the main container serves it from a local path — no Hugging Face download in the main container
  • Scheduling the workload on HAMi with nvidia.com/gpumem / nvidia.com/gpucores caps and verifying them in-Pod
  • An optional co-resident vLLM engine serving the same ModelKit pattern, plus a reference Kitfile for repacking your own ModelKit

It builds directly on Lab 11 (SGLang) / Lab 6 (vLLM): the inference engines still run on HAMi resources — only the model supply chain changes from engine serve <hf-repo> to unpack ModelKit → serve local path. Manifests are inline and self-contained; commands/outputs are captured from a verification run on a kind + NVIDIA H100 80GB cluster (verified: 2026-07-23) using a public Jozu Hub ModelKit.

Also adds the sidebar entry in sidebars-tutorials.js; the overview card is generated automatically from frontmatter.

Which issue(s) this PR fixes:

Addresses #561

The issue notes @shivaylamba planned to build this lab. This PR is offered in coordination — @shivaylamba is a co-author here. Happy to merge, adapt, or fold it into your version, whichever the maintainers prefer; using "Addresses" rather than "Fixes" so it doesn't auto-close ahead of that call.

Checklist:

  • npm run lint and npm run format:check pass
  • npm run build succeeds for both en and zh
  • Chinese translation updated if English docs changed (or noted why not)
  • Commits are signed off (git commit -s)

Notes for reviewers:

  • Chinese translation not yet added — happy to follow up under i18n/zh/.../labs/ once the English lab is reviewed.
  • Opened as a draft pending a local npm run build/lint pass; will mark ready once the checklist above is green.
  • cc @shivaylamba.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@hami-robot

hami-robot Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: rudrakshkarpe
Once this PR has been reviewed and has the lgtm label, please assign windsonsea for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@netlify

netlify Bot commented Jul 23, 2026

Copy link
Copy Markdown

Deploy Preview for project-hami ready!

Name Link
🔨 Latest commit d5f6624
🔍 Latest deploy log https://app.netlify.com/projects/project-hami/deploys/6a629e53ed72bf000806e362
😎 Deploy Preview https://deploy-preview-655--project-hami.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai

coderabbitai Bot commented Jul 23, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@rudrakshkarpe, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 42 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 6795d58b-6928-46e2-8227-785a26c69656

📥 Commits

Reviewing files that changed from the base of the PR and between f4db4f8 and d5f6624.

📒 Files selected for processing (2)
  • sidebars-tutorials.js
  • tutorials/labs/hami-kitops.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@hami-robot hami-robot Bot added the size/XL label Jul 23, 2026
Three references to Lab 11 linked to ./hami-sglang, which does not exist
on master yet, so `docusaurus build` failed its broken-link check. Make
them plain-text references so this lab is self-contained and independently
buildable; they can be upgraded to internal links once Lab 11 has merged.

Co-authored-by: Shivay Lamba <19529592+shivaylamba@users.noreply.github.com>
Signed-off-by: rudrakshkarpe <rudraksh.karpe@gmail.com>
@rudrakshkarpe
rudrakshkarpe marked this pull request as ready for review July 23, 2026 22:52
@hami-robot
hami-robot Bot requested a review from rootsongjc July 23, 2026 22:52
Reword the lab so KitOps + Jozu Hub is presented as a first-class,
registry-native way to package and deliver a model, rather than as a
replacement for a Hugging Face download. Drops the "replace" / "instead of
Hugging Face" / "no HF download" framing throughout (prose, script comments,
log lines, and the verification table) in favour of describing how the model
is packaged as a ModelKit, stored on Jozu Hub, pulled by the initContainer,
and served from a local path. Neutralises incidental "HF-format" wording to
"safetensors layout". Log strings and their shown output are kept in sync.

Co-authored-by: Shivay Lamba <19529592+shivaylamba@users.noreply.github.com>
Signed-off-by: rudrakshkarpe <rudraksh.karpe@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant