feat: add Fireworks AI as built-in provider - #6054
Closed
kshitijk4poor wants to merge 1 commit into
Closed
Conversation
Add fireworks as a first-class provider with full parity to existing API-key providers (gemini, cerebras, zai, etc.): - PROVIDER_REGISTRY entry with FIREWORKS_API_KEY env var - Provider aliases: fireworks-ai, fw -> fireworks - models.dev integration (14 models with context lengths) - Dynamic model discovery (no static model list) - URL-to-provider mapping already existed (api.fireworks.ai -> fireworks) - models_dev.py mapping already existed (fireworks -> fireworks-ai) - Passthrough model normalization - Default auxiliary model (accounts/fireworks/models/llama3.1-8b) - HermesOverlay in new providers.py system - CLI --provider choices, setup flow, config docs - 30 provider-specific tests
This was referenced Apr 24, 2026
Contributor
|
👍 This is the more complete implementation and should be the one to merge. It covers the full stack: auth registry, model normalization, provider wiring, auxiliary client, and config examples — plus dynamic model discovery instead of a hardcoded list. One feature from #15332 worth porting as a follow-up: the fireworks-pass provider option for the |
4 tasks
4 tasks
5 tasks
Contributor
|
Fireworks AI support landed via PR #62593. This contribution was part of the Fireworks provider cluster credited in the salvage PR; thank you for the implementation and review work. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add Fireworks AI (
api.fireworks.ai) as a first-class built-in provider. Fireworks offers fast serverless inference with an OpenAI-compatible endpoint.Partial support already existed on upstream/main:
agent/models_dev.py:"fireworks": "fireworks-ai"mappingagent/model_metadata.py:"api.fireworks.ai": "fireworks"URL mappingThis PR completes the integration across the remaining 10 files.
Changes
hermes_cli/auth.pyPROVIDER_REGISTRYentry + aliases (fireworks-ai,fw)hermes_cli/config.pyFIREWORKS_API_KEY+FIREWORKS_BASE_URLinOPTIONAL_ENV_VARShermes_cli/models.pyhermes_cli/model_normalize.py_PASSTHROUGH_PROVIDERShermes_cli/providers.pyHermesOverlay+ label + alias entrieshermes_cli/main.py--providerchoices, provider dispatchagent/model_metadata.py_PROVIDER_PREFIXES(URL mapping already existed)agent/auxiliary_client.pyaccounts/fireworks/models/llama3.1-8b).env.examplecli-config.yaml.exampleDynamic model discovery
No static model list — models discovered dynamically via models.dev registry (14 models with tool_call support) and live
/v1/modelsendpoint.Test plan
python -m pytest tests/hermes_cli/test_fireworks_provider.py -v— 30 passedpython -m pytest tests/ -qhermes setup model→ select fireworks → dynamic model list shownhermes chat --provider fireworkswithFIREWORKS_API_KEYset