Skip to content

Commit 8473223

Browse files
committed
docs: reframe the tool-call wire note as OpenAI-compat, not vendor-specific
The strict-endpoint story applies to any OpenAI-compatible endpoint; the note shouldn't single out a single vendor.
1 parent 9b80b55 commit 8473223

1 file changed

Lines changed: 9 additions & 9 deletions

File tree

docs/src/content/docs/tutorial/09-ai-endpoint.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -340,15 +340,15 @@ Auto-detection resolves the base URL from the model name:
340340
- All other remote models route to `https://generativelanguage.googleapis.com/v1beta/openai`
341341
- Local mode routes to `http://localhost:11434/v1` (Ollama)
342342

343-
:::note[Gemini OpenAI-compat wire contract]
344-
Gemini's `v1beta/openai` layer is stricter than OpenAI itself in two places:
345-
assistant messages carrying a tool call must emit the full `tool_calls` array
346-
(not null content), and tool messages must emit the `name` field so Gemini
347-
can populate its native `function_response.name`. `OpenAiCompatibleClient`
348-
serializes both unconditionally — OpenAI treats them as additive. If you
349-
ever see `GenerateContentRequest…function_response.name: Name cannot be
350-
empty`, you are running an older build; upgrade `atmosphere-ai` to `4.0.39`
351-
or later.
343+
:::note[OpenAI API compatibility on strict endpoints]
344+
Some OpenAI-compatible endpoints are stricter than OpenAI itself on
345+
tool-call round trips: the assistant message carrying a tool call must
346+
emit the full `tool_calls` array (not null content), and the tool-role
347+
reply must carry the function `name`. `OpenAiCompatibleClient` now
348+
serializes both unconditionally — additive for OpenAI, required for the
349+
stricter crowd. The serialized wire shape is pinned by unit tests in
350+
`atmosphere-ai` so future refactors cannot silently regress either side.
351+
Applies from `atmosphere-ai` `4.0.39` onward.
352352
:::
353353

354354
### Atmosphere Init-Params

0 commit comments

Comments
 (0)