Add frontier free providers and AA-calibrated routing#80
Conversation
Reviewer's GuideAdds two new frontier free providers (Morph and Vercel AI Gateway), calibrates their routing via model-name normalization and bundled capability scores, corrects ModelScope per-model quotas, and refreshes all catalog/docs/tests/metadata to reflect the expanded provider and route counts and new privacy/account details. Flow diagram for model-name normalization and Morph alias mappingflowchart TD
A[Model name from provider e.g. morph-glm52-744b] --> B[normalize_model_name]
B --> C[Strip provider prefixes and suffixes]
C --> D[Apply _MODEL_NAME_ALIASES mapping]
D --> E[Normalized name e.g. glm-5.2]
E --> F[Use normalized name to look up capability_scores for frontier routing]
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Hey - I've found 1 issue, and left some high level feedback:
- The Morph and Vercel tests in
test_packaged_catalog_includes_frontier_free_providersencode the currentrpdsums as<= 6and<= 5; consider asserting the exact expected total (or deriving it from a single shared constant) so these tests fail loudly if the per-model hints change unintentionally. - The
_MODEL_NAME_ALIASESmap incapability.pynow encodes provider-specific alias knowledge in code; you might want a brief comment pointing back to the provider config or AA source of truth so future updates to Morph/Vercel models are less likely to miss a required alias update.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- The Morph and Vercel tests in `test_packaged_catalog_includes_frontier_free_providers` encode the current `rpd` sums as `<= 6` and `<= 5`; consider asserting the exact expected total (or deriving it from a single shared constant) so these tests fail loudly if the per-model hints change unintentionally.
- The `_MODEL_NAME_ALIASES` map in `capability.py` now encodes provider-specific alias knowledge in code; you might want a brief comment pointing back to the provider config or AA source of truth so future updates to Morph/Vercel models are less likely to miss a required alias update.
## Individual Comments
### Comment 1
<location path="README.es.md" line_range="397" />
<code_context>
+| **freellmpool** | Sí: Pollinations, OVHcloud, Kilo Gateway; LLM7 permite clave opcional | 24 proveedores chat catalogados | Sí: prueba el siguiente proveedor ante rate limits, timeouts, 5xx, respuestas vacías y errores de transporte | Sí: `freellmpool mcp` | Sí: `freellmpool ask`, `tokenmax`, `providers`, `proxy` y más | Sí: `/v1/audio/transcriptions` compatible con OpenAI y failover de proveedor | Sí: paquete Python local y proxy local | MIT |
</code_context>
<issue_to_address>
**nitpick (typo):** Minor Spanish grammar improvement: consider "24 proveedores de chat catalogados".
In that table row, please change "24 proveedores chat catalogados" to "24 proveedores de chat catalogados" so the Spanish reads naturally while keeping the same meaning.
```suggestion
| **freellmpool** | Sí: Pollinations, OVHcloud, Kilo Gateway; LLM7 permite clave opcional | 24 proveedores de chat catalogados | Sí: prueba el siguiente proveedor ante rate limits, timeouts, 5xx, respuestas vacías y errores de transporte | Sí: `freellmpool mcp` | Sí: `freellmpool ask`, `tokenmax`, `providers`, `proxy` y más | Sí: `/v1/audio/transcriptions` compatible con OpenAI y failover de proveedor | Sí: paquete Python local y proxy local | MIT |
```
</issue_to_address>Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ceb7119d70
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| _MODEL_NAME_ALIASES = { | ||
| "morph-glm52-744b": "glm-5.2", | ||
| "morph-minimax3-428b": "minimax-m3", | ||
| "morph-dsv4flash": "deepseek-v4-flash", |
There was a problem hiding this comment.
Keep Morph DeepSeek Flash scoring consistent
When MORPH_API_KEY is configured, model_capability("morph-dsv4flash") normalizes to deepseek-v4-flash, but there is no bundled score for that key, so the fallback heuristic is run on the original alias string and misses the flash down-weight. The same underlying ModelScope model (deepseek-ai/DeepSeek-V4-Flash) scores 0.40 while the Morph alias scores 0.50, so quality routing no longer compares identical DeepSeek Flash targets equally as this alias comment promises.
Useful? React with 👍 / 👎.
Summary
Validation
proxy-okKnown baseline
Summary by Sourcery
Add new frontier free-tier providers and update catalog metadata and routing scores to reflect their inclusion and current quotas.
New Features:
Enhancements:
Tests: