Repository navigation
[AI-517, AI-744] Add Baseten, Fireworks AI, and Together AI integration pages (Python) - #5574
Merged
Merged
Conversation
Three pages for open-weight model providers with OpenAI-compatible APIs, built on the OpenAI Agents SDK integration's model provider hook. The pages share their prose and differ only in provider facts: base URL, API key, model naming, dedicated deployments, rate-limit behavior, and the provider's own capabilities over Chat Completions. Snippets come from one shared sample in samples-python (openai_agents/model_providers, run_openai_compatible_worker.py with --provider baseten|fireworks|together), rendered in snipsync's format. Also registers the pages in the sidebar, the integrations grid (new tag "Model provider"), and the Python landing list, where OpenRouter was missing, and adds the provider names to the heading-case exceptions.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
Snipsync coverageSDK code lines in
All sectionsAll languages: 22.3% (10,377 of 46,489 lines).
Compared with |
Contributor
📖 Docs PR preview links
|
Follows the samples change: one Worker serves every provider whose key is set, and each Workflow picks its provider through a prefixed model name such as `together/openai/gpt-oss-120b`. The pages now describe that routing, the per-provider key handling and its non-retryable failure, and the concurrent starter, and they no longer need the explicit `ModelSettings()` workaround because the agent names its model. The note on agents that name no model now cites temporalio-openai-agents 1.1.0, the current release.
| [model library page](https://www.baseten.co/library/gpt-oss-120b/) and `GET https://inference.baseten.co/v1/models` | ||
| describe the catalog. A [dedicated deployment](https://docs.baseten.co/inference/calling-your-model) has its own base | ||
| URL, `https://model-<id>.api.baseten.co/environments/production/sync/v1`, takes the same API key, and expects the model | ||
| name that the deployment serves, so in the sample it is a second entry in `PROVIDERS`. |
| The plugin classifies Baseten's HTTP errors. Status 408, 409, 429, and any 5xx retry under the Activity's Retry Policy, | ||
| and a `Retry-After` header becomes the next retry delay. Connection errors and client-side timeouts retry as well. Other | ||
| 4xx responses, such as an invalid API key or an unknown model name, fail the Activity without retrying, as does a model | ||
| name whose provider has no key on the Worker. Each attempt, its failure, and the final result are in Event History. |
Duncanma
enabled auto-merge (squash)
October 26, 2026 21:14
Duncanma
approved these changes
Oct 26, 2026
This branch was successfully deployed
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.

What changed
Three Python integration pages for open-weight model providers with OpenAI-compatible APIs, built on the OpenAI Agents SDK integration's
model_providerhook:docs/develop/python/integrations/baseten.mdxdocs/develop/python/integrations/fireworks-ai.mdxdocs/develop/python/integrations/together-ai.mdxThe pages share their prose on purpose and differ only in provider facts: base URL, API key, model naming, dedicated deployments, rate-limit and error behavior, and what each provider offers over Chat Completions. They will diverge as deeper per-provider integrations land.
Snippets are quoted from one shared sample in samples-python (
openai_agents/model_providers): one Worker serves every provider whose key is set, and each Workflow picks its provider through a prefixed model name such astogether/openai/gpt-oss-120b. The snippets are rendered in snipsync's format from that branch.Also:
sidebars.js,integrations-data.json(new grid tag "Model provider"), and the Python landing list (docs/develop/python/index.mdx), where OpenRouter was also missing.vale/styles/Temporal/Headings.yml: Baseten, Fireworks, Together as heading proper nouns.Checks
yarn buildsucceeds;vale --config .vale-ci.iniclean on all three pages.<!--SNIPSTART-->matches a marker on the samples branch, and every rendered snippet is byte-identical to the sample source.Samples
temporalio/samples-python#402 is merged, and every rendered snippet on these pages is byte-identical to the marked code on samples-python
main, soyarn snipsyncshould produce no diff.