Expose which model settings are supported and how Dive applies them - #273
Expose which model settings are supported and how Dive applies them#273myzie wants to merge 8 commits into
Conversation
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 8 minutes Limit details: You’ve used the included review currently available. Your 74 included PR review attempts over the past 7 days set your current allowance at 1 review per hour. You’re in a promotional period — use the checkbox below to run this review for free:
On-demand reviews are free for the next 29 days. After that, they cost $0.25 per reviewed file. How can I continue?Run this review now using the option above, or comment You can also wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (23)
Comment |
What this does
Different model APIs accept different controls for reasoning and temperature, and they often interpret the same setting differently. Dive already handles those differences when it builds requests. Until now, an application that wanted to show valid settings or validate a configuration had to copy those provider rules and keep them in sync.
This PR makes that behavior available directly from Dive, without sending a network request.
Applications can now ask three practical questions:
Providers()— Which provider packages have registered model information in this program?ClassificationFor(provider, model)— Which controls are supported by this exact model from the provider catalog, and on which API was that information verified?Explain(provider, config)— What will Dive do with these requested settings before it builds the provider request?For a concrete configuration,
Explaincan report that Dive will:The result also includes the final, provider-neutral settings that request construction will use.
How it stays accurate
Explainuses the same provider code that real request construction uses. It is not a second compatibility table with a separate set of rules.Published support is intentionally limited to exact model IDs in each provider catalog. A future model, fine-tune, gateway model, or custom deployment does not inherit a published guarantee just because its name shares a prefix with a known model.
Verification is tied to the API that was actually tested. For example, evidence from Vertex AI is not presented as evidence for the public Gemini API.
This PR includes model information for OpenAI, Grok, Anthropic, and Google.
What does not change
This is an additive inspection API. Existing request behavior remains the same:
The PR also includes the reviewed design document, a usage guide, a documentation index entry, a changelog entry, and tests that confirm the explanation matches real request construction.
Validation
All local checks passed:
make checkgo test ./...inproviders/openaigo test ./...inproviders/googlego test ./...inproviders/grokgo vet ./...in all three nested provider modulesgo test -race ./providers/modelcapsgit diff --check origin/main...HEAD