Skip to content

[AI-517, AI-744] Add Baseten, Fireworks AI, and Together AI integration pages (Python) - #5574

Merged
Duncanma merged 3 commits into
mainfrom
dabh/open-weight-model-providers
Oct 26, 2026
Merged

Duncanma merged 3 commits into
mainfrom
dabh/open-weight-model-providers

Conversation

@DABH

@DABH DABH commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

What changed

Three Python integration pages for open-weight model providers with OpenAI-compatible APIs, built on the OpenAI Agents SDK integration's model_provider hook:

  • docs/develop/python/integrations/baseten.mdx
  • docs/develop/python/integrations/fireworks-ai.mdx
  • docs/develop/python/integrations/together-ai.mdx

The 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 as together/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 build succeeds; vale --config .vale-ci.ini clean on all three pages.
  • Every <!--SNIPSTART--> matches a marker on the samples branch, and every rendered snippet is byte-identical to the sample source.
  • Provider facts verified against each provider's docs on 2026-10-26, with the source URL recorded for each fact. The Fireworks AI path was run end to end from the sample.

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, so yarn snipsync should produce no diff.

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.
@vercel

vercel Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
temporal-documentation Ready Ready Preview Oct 26, 2026 7:56pm UTC

Request Review

@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Snipsync coverage

SDK code lines in docs/ that come from Snipsync: 25.0% → 25.5% (+0.5 pts), 9,846 of 38,551 lines.

Section Snipsync lines Inline lines Snipsync % Change
develop/python 1,747 → 2,041 2,971 37.0% → 40.7% +3.7 pts
All sections

All languages: 22.3% (10,377 of 46,489 lines).

Section Snipsync lines Inline lines Snipsync %
design-patterns 26 7,808 0.3%
develop/python 2,041 2,971 40.7%
guides 34 4,494 0.8%
develop/go 4,285 80 98.2%
develop/java 1,061 3,108 25.4%
develop/typescript 1,716 2,012 46.0%
develop/dotnet 35 2,071 1.7%
develop/rust 0 1,257 0.0%
develop/php 30 1,144 2.6%
develop/ruby 21 1,145 1.8%
develop 484 604 44.5%
production-deployment 54 805 6.3%
encyclopedia 0 837 0.0%
develop/worker-performance 48 177 21.3%
cloud 0 127 0.0%
references 0 48 0.0%
best-practices 11 17 39.3%
Language Snipsync lines Inline lines Snipsync %
Python 2,184 9,051 19.4%
Go 4,425 3,181 58.2%
Java 1,146 5,652 16.9%
TypeScript 1,883 4,470 29.6%
C# 110 2,533 4.2%
Ruby 68 1,326 4.9%
Rust 0 1,324 0.0%
PHP 30 1,168 2.5%
Snipsync origin Lines
temporalio/documentation-sdk-code-examples 4,028
temporalio/samples-python 2,023
temporalio/samples-typescript 1,567
temporalio/samples-java 942
temporalio/features 699
temporalio/samples-go 384
temporalio/sdk-typescript 119
unattributed 35
temporalio/samples-php 30
temporalio/reference-app-orders-go 11
temporalio/samples-dotnet 8

Compared with fe2d532. Counts non-blank lines in fenced code blocks tagged with an SDK language. Hand-written code isn't compiled anywhere; code Snipsync pulls from a sample repository is built in that repository's CI. See UTILITIES.md.

@github-actions

Copy link
Copy Markdown
Contributor

📖 Docs PR preview links

@DABH DABH changed the title Add Baseten, Fireworks AI, and Together AI integration pages (Python) [AI-517, AI-744] Add Baseten, Fireworks AI, and Together AI integration pages (Python) Oct 26, 2026
@DABH
DABH requested a balanced review from Copilot October 26, 2026 07:01

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

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.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The retry-history and dedicated-endpoint guidance contains factual inaccuracies that could mislead readers during debugging and configuration.

2 open issues

Review effort: Balanced

[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
Duncanma enabled auto-merge (squash) October 26, 2026 21:14
@Duncanma
Duncanma merged commit 1418e02 into main Oct 26, 2026
21 checks passed
@Duncanma
Duncanma deleted the dabh/open-weight-model-providers branch October 26, 2026 21:15

This branch was successfully deployed

1 active deployment
Preview — 8a4f1cdc Deployed Oct 26, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants