tools / tool_choice w stylu OpenAI działa przeciwko każdemu
dostawcy zdolnemu do chatu. Brama tłumaczy do natywnego kształtu
wywołań narzędzi danego upstreamu.
Minimalny przykład
Zachowanie między dostawcami
Ten sam kod klienta działa u każdego dostawcy zdolnego do chatu — OrcaRouter dostosowujetools w stylu OpenAI do natywnego kształtu
każdego upstreamu:
- OpenAI / Grok / DeepSeek: natywny cel —
toolszachowuje kształt OpenAI na drucie - Anthropic:
toolsz OpenAI jest mapowane dotoolsAnthropic zinput_schema, zachowującpropertiesirequiredze schematu JSON - Gemini:
toolsz OpenAI jest mapowane dotools[].functionDeclarationsGemini, z przeniesieniemname/description/parameters
Zarezerwowane nazwy funkcji Gemini
Na celach Gemini brama rozpoznaje trzy zarezerwowane wartościfunction.name i zamienia je na natywne wbudowane narzędzia Gemini
zamiast deklaracji własnych funkcji:
| Zarezerwowana nazwa | Mapuje się na |
|---|---|
googleSearch | Gemini Google Search grounding (zobacz Web search) |
codeExecution | Gemini wbudowane wykonanie kodu |
urlContext | Gemini wbudowane narzędzie URL-context |
parameters — przekaż
{type: "function", function: {name: "googleSearch"}}, a Gemini bierze
to dalej w swoje ręce. Wybierz inną nazwę dla własnych narzędzi, aby
nie kolidowały z tymi wbudowanymi.