Introduction — LLMs on NRP

Teaching: 25 min · Exercises: 0 min · Total: 25 min

Questions
  • What LLM resources does NRP provide for CMS researchers?
  • How do I get access?
  • What can I do with these resources?
Objectives
  • Understand what the NRP managed LLM service is and what models are available.
  • Know how to obtain an API token and reach the endpoint.
  • Identify the browser-based and programmatic entry points.

Overview

The National Research Platform (NRP) makes large language models available to the entire US-CMS community through a managed, OpenAI-compatible inference endpoint. You do not need to rent cloud credits, install model weights, or request a GPU — you just point any OpenAI-compatible tool at NRP's URL and authenticate with a personal token.

This lesson covers what is available, how to get access, and the different ways you can interact with the models.


What NRP Provides

NRP exposes two complementary AI/LLM resources:

1. Managed LLM Service

A rotating catalog of open-weights models hosted on NRP GPUs, reachable two ways:

`` https://ellm.nrp-nautilus.io/v1 ``

You authenticate with a bearer token (see Getting Access below). The endpoint speaks the OpenAI API, so any tool that supports a custom base_url works out of the box.

Currently available models (see live list):

ModelHuggingFace IDParametersContextToolsVisionNotes
qwen3Qwen/Qwen3.5-397B-A17B-FP8397B (17B active MoE)1.01Mimage, videoLargest context
qwen3-smallQwen/Qwen3.6-27B27B1.01Mimage, video
gpt-ossopenai/gpt-oss-120b120B131KStrong at code
gemmagoogle/gemma-4-31B-it-qat-w4a16-ct31B262Kimage, video
gemma-smallgoogle/gemma-4-12B-it-qat-w4a16-ct12B262Kimage, videoEvaluating — fast, good default
minimax-m2MiniMaxAI/MiniMax-M2.7230B204KEvaluating — strong reasoning
glm-5nvidia/GLM-5.2-NVFP4744B300KEvaluating
deepseek-v4-flashdeepseek-ai/DeepSeek-V4-Flash-0731304B1.05MEvaluating
kimimoonshotai/Kimi-K2.7-Code1T MoE131Kimage, videoEvaluating
qwen3-embeddingQwen/Qwen3-VL-Embedding-8B8B262Kimage, videoEmbeddings only — semantic search/RAG

Evaluating models are under active testing — configuration can change without notice; stick to the others for anything you need to be stable through the workshop.

Tip

For most tasks, start with gemma-small (fast) or minimax-m2 (strong reasoning). Switch to qwen3 when you need the largest context window.

Models occasionally restart or roll over to a new version — check what's currently up at the LLM status dashboard.

2. Bring-Your-Own GPU

For workloads requiring full model control — custom weights, fine-tuning, custom quantization, or private inference — you can request your own GPU pod in your namespace and run any inference server (vLLM, TGI, Ollama, etc.). This is covered in other NRP training sessions.


Getting Access

Step 1: NRP Account

You need an NRP account associated with your institutional credentials (CERN SSO works for CMS members). If you don't have one yet, follow Getting Started with NRP.

For this training, you should be a member of the us-cms namespace. Contact the training organizers if you have not been added.

Step 2: Get an API Token

Go to https://nrp.ai/llmtoken and click Get LLM token. A personal bearer token will be sent to your email or displayed on the page.

Getting a personal LLM token from nrp.ai/llmtoken

Important

Treat your personal token like a password. Do not commit it to git or share it publicly. In notebooks and scripts, read it from an environment variable (OPENAI_API_KEY) rather than hard-coding it.

Whether you're on the NRP USCMS Analysis Facility or your own machine, export your own personal token and the endpoint URL yourself:

Bash
export OPENAI_API_BASE="https://ellm.nrp-nautilus.io/v1"
export OPENAI_API_KEY="<paste-your-token-here>"

Setting these from inside a notebook works a little differently — see the setup check at the start of Lesson 2.

Step 3: Verify Access

From a terminal (JupyterHub terminal or local machine with curl), send a real chat request — this actually exercises the model, not just the endpoint, so it's a more meaningful check than listing models:

Bash
curl -s -X POST "$OPENAI_API_BASE/chat/completions" \
     -H "Authorization: Bearer $OPENAI_API_KEY" \
     -H "Content-Type: application/json" \
     -d '{"model": "minimax-m2", "messages": [{"role": "user", "content": "Where is the CMS experiment located?"}]}'

You should get back a JSON response with a real answer buried in it (something about CERN, near Geneva, on the LHC).

For a cleaner look, pipe it through Python to pull out just the reply text:

Bash
curl -s -X POST "$OPENAI_API_BASE/chat/completions" \
     -H "Authorization: Bearer $OPENAI_API_KEY" \
     -H "Content-Type: application/json" \
     -d '{"model": "minimax-m2", "messages": [{"role": "user", "content": "Where is the CMS experiment located?"}]}' \
  | python3 -c 'import json, sys; print(json.load(sys.stdin)["choices"][0]["message"]["content"])'

You can also list the full model catalog:

Bash
curl -s -H "Authorization: Bearer $OPENAI_API_KEY" \
     "$OPENAI_API_BASE/models" \
  | python3 -m json.tool | head -20

Entry Points at a Glance

MethodWhereWhen to Use
Open WebUIBrowserQuick questions, no coding
Python openai SDKNotebook / scriptProgrammatic use, RAG, embeddings
curlTerminalQuick smoke tests, scripting
Agentic tools (opencode, VS Code, Claude Code)Terminal / IDEAI-assisted coding and research

How to Get Help


Run the Notebooks

You can run the notebooks for this training either on the NRP US-CMS Analysis Hub or on your own machine locally — the Analysis Hub is recommended since the packages are already installed for you. You'll still need your own personal API token either way (see Getting Access above).

Launch the workspace in JupyterHub

▶ Launch the workspace in JupyterHub — signs you in at uscms-af.nrp-nautilus.io, pulls the tutorial workspace, and opens JupyterLab with the notebooks for this training.

Key Points
  • NRP runs an OpenAI-compatible managed LLM endpoint at https://ellm.nrp-nautilus.io/v1.
  • Access requires an NRP account and a personal token from https://nrp.ai/llmtoken.
  • The Open WebUI browser UI requires no token — sign in with your NRP/CERN account.
  • The same openai Python SDK works against NRP, commercial providers, and your own GPU pods.