Skip to content

feat(providers): add CoreWeave Serverless Inference provider plugin - #44250

Closed
juan-lee wants to merge 1 commit into
NousResearch:mainfrom
juan-lee:feat/coreweave-inference-provider
Closed

juan-lee wants to merge 1 commit into
NousResearch:mainfrom
juan-lee:feat/coreweave-inference-provider

Conversation

@juan-lee

@juan-lee juan-lee commented Jun 11, 2026

Copy link
Copy Markdown

CoreWeave Serverless Inference (formerly W&B Inference) is a standard OpenAI-compatible endpoint serving open models on CoreWeave. Adds it via the fast-path plugin pattern (zero core edits): a ProviderProfile under plugins/model-providers/coreweave/ with COREWEAVE_API_KEY auth, base URL https://api.inference.wandb.ai/v1, and live /v1/models catalog.

The optional openai-project header (only needed for accounts whose default project lacks Inference access) is handled via the existing model.default_headers config escape hatch, documented in the provider docs.

What does this PR do?

Adds CoreWeave Serverless Inference (formerly W&B Inference) as a first-class
model provider via the documented fast-path plugin pattern — a declarative
ProviderProfile under plugins/model-providers/coreweave/ with zero core
edits
. It's a standard OpenAI-compatible endpoint, so it auto-wires into
credential resolution, the --provider flag, the /model picker, provider:model
alias syntax, and hermes setup. The /v1/models catalog is fetched live;
fallback_models is only a safety net. First-class treatment (vs. the generic
custom path) is justified by the picker entry, alias syntax, and live catalog,
matching how Novita/GMI are integrated.

Related Issue

Fixes #43964

Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 🔒 Security fix
  • 📝 Documentation update
  • ✅ Tests (adding or improving test coverage)
  • ♻️ Refactor (no behavior change)
  • 🎯 New skill (bundled or hub)

Changes Made

  • plugins/model-providers/coreweave/__init__.py — new ProviderProfile
    (id coreweave; aliases coreweave-inference, coreweave-serverless;
    COREWEAVE_API_KEY auth; base URL https://api.inference.wandb.ai/v1)
  • plugins/model-providers/coreweave/plugin.yaml — manifest
  • website/docs/integrations/providers.md — table row, section, COREWEAVE_BASE_URL
    override note, and project-attribution-header guidance (set via
    model.default_headers in config.yaml — not a new env var)
  • tests/providers/test_profile_wiring.py — resolution + alias invariant test

How to Test

  1. Resolution/aliases (no key): python -c "from providers import get_provider_profile as g; p=g('coreweave'); assert g('coreweave-inference') is p; print(p.base_url)"
  2. scripts/run_tests.sh tests/providers/ → 107 passed
  3. Live (needs COREWEAVE_API_KEY in ~/.hermes/.env): hermes model shows
    "CoreWeave Serverless Inference"; hermes chat --provider coreweave --model meta-llama/Llama-3.3-70B-Instruct

Checklist

Code

  • I've read the Contributing Guide
  • My commit messages follow Conventional Commits (fix(scope):, feat(scope):, etc.)
  • I searched for existing PRs to make sure this isn't a duplicate
  • My PR contains only changes related to this fix/feature (no unrelated commits)
  • I've run pytest tests/ -q and all tests pass
  • I've added tests for my changes (required for bug fixes, strongly encouraged for features)
  • I've tested on my platform:

Documentation & Housekeeping

  • I've updated relevant documentation (README, docs/, docstrings) — or N/A
  • [N/A] I've updated cli-config.yaml.example if I added/changed config keys — or N/A
  • [N/A] I've updated CONTRIBUTING.md or AGENTS.md if I changed architecture or workflows — or N/A
  • I've considered cross-platform impact (Windows, macOS) per the compatibility guide — or N/A
  • [N/A] I've updated tool descriptions/schemas if I changed tool behavior — or N/A

For New Skills

Screenshots / Logs

image image image image

@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have comp/plugins Plugin system and bundled plugins labels Jun 11, 2026
@Morad37

Morad37 commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Clean provider profile. The optional openai-project header handled via _apply_user_default_headers rather than a hardcoded default is the right call — keeps the provider portable for users who don't need it. The fallback_models list is well stocked too.

@juan-lee
juan-lee force-pushed the feat/coreweave-inference-provider branch 6 times, most recently from 034537c to d7446c7 Compare June 16, 2026 15:52
@juan-lee
juan-lee force-pushed the feat/coreweave-inference-provider branch from d7446c7 to fd69e9e Compare June 22, 2026 16:46
@juan-lee

Copy link
Copy Markdown
Author

https://artificialanalysis.ai/providers/coreweave
https://artificialanalysis.ai/models/glm-5-2/providers

Providing some data on CoreWeave as an inference provider. Any additional feedback for this PR? @mohamedorigami-jpg @alt-glitch

@altryne

altryne commented Jun 25, 2026

Copy link
Copy Markdown

Thanks @juan-lee for opening this! (alex from CW team here)

Just adding more color here, W&B / CoreWeave currently servers the fastest GLM 5.2 according to OpenRouter tables (not artificla analysis, tho we're 4-5 there also)

CleanShot 2026-06-25 at 12 28 31@2x

@WolframRavenwolf

Copy link
Copy Markdown
Contributor

Thanks @juan-lee - I reviewed this with Amy while testing CoreWeave Serverless Inference from a Hermes install.

The provider profile itself looks good, and I was able to validate it against the live CoreWeave/W&B /v1/models catalog using our project header.

While reviewing this, I found two generic Hermes provider-framework gaps that affect this PR but are not CoreWeave-specific, so I split them out instead of bloating your provider PR:

Both generic PRs are currently green on CI.

Recommended small follow-up for this PR once #52550 is available: update the openai-project docs/docstring from model.default_headers to model.provider_headers.coreweave, e.g.:

model:
  provider: "coreweave"
  default: "meta-llama/Llama-3.3-70B-Instruct"
  provider_headers:
    coreweave:
      openai-project: "your-team/your-project"

Reason: openai-project is CoreWeave-specific attribution/billing metadata and should not be sent to unrelated OpenAI-compatible providers.

I prepared a tiny docs/docstring patch for that and can push it to the branch or paste the diff if you want.

Happy to adapt this however maintainers prefer - the main point is to keep your CoreWeave provider PR focused and let the generic Hermes plumbing land separately.

@juan-lee
juan-lee force-pushed the feat/coreweave-inference-provider branch from 78ff7e5 to 9ab934f Compare June 26, 2026 20:58
CoreWeave Serverless Inference (formerly W&B Inference) is a standard
OpenAI-compatible endpoint serving open models on CoreWeave. Adds it via the
fast-path plugin pattern (zero core edits): a ProviderProfile under
plugins/model-providers/coreweave/ with COREWEAVE_API_KEY auth, base URL
https://api.inference.wandb.ai/v1, and live /v1/models catalog.

The optional openai-project header (only needed for accounts whose default
project lacks Inference access) is handled via the existing model.default_headers
config escape hatch, documented in the provider docs.
@teknium1

Copy link
Copy Markdown
Collaborator

Thanks for the focused provider profile and documentation work.

This automated hermes-sweeper review is closing this under the standing in-tree-provider-integration policy:

  • The PR adds CoreWeave as a new third-party LLM-provider plugin under plugins/model-providers/coreweave/ (commit 82b14a15057d).
  • In-tree third-party provider integrations are not accepted because they create an ongoing core-repository maintenance obligation.
  • Hermes already supports the intended distribution route: providers/__init__.py:91-99,163-171 discovers provider plugins from $HERMES_HOME/plugins/model-providers/ and lets them override bundled profiles.

Please publish this as a standalone CoreWeave provider-plugin repository or pip entry point for installation into ~/.hermes/plugins/. The existing profile, manifest, documentation, and tests should be directly reusable there; it can also be promoted in the Nous Research Discord #plugins-skills-and-skins channel.


Closed as not-planned per standing maintainer policy (in-tree-provider-integration). This is a design-direction decision, not a code-quality judgment — see the Contribution Rubric in AGENTS.md for what the project is looking for. If you believe this policy was misapplied to your change, comment here and a maintainer will take a look.

@teknium1 teknium1 closed this Jul 14, 2026
@teknium1 teknium1 added the sweeper:not-planned Sweeper: closed per standing maintainer policy (design direction) label Jul 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/plugins Plugin system and bundled plugins P3 Low — cosmetic, nice to have sweeper:not-planned Sweeper: closed per standing maintainer policy (design direction) type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Add CoreWeave Serverless Inference as a model provider

6 participants