>_toolkitbox

~/tools / Structured Output Schema Checker

Structured Output Schema Checker — Sprawdź JSON Schema pod kątem limitów OpenAI, Anthropic i Gemini

Sprawdź schemat JSON Schema pod kątem udokumentowanych ograniczeń ustrukturyzowanych odpowiedzi OpenAI, Anthropic i Gemini. Zobacz, które słowa kluczowe są odrzucane, ignorowane lub nieudokumentowane, zanim wyślesz schemat do API. Nic nie opuszcza twojej przeglądarki.

Reguły sprawdzono z dokumentacją każdego dostawcy w dniu 2026-10-23.

Nie sprawdzono: głębokości zagnieżdżenia, limitu dla długich enum ani niczego, czego dostawcy nie dokumentują. Dostawcy zmieniają te reguły, więc potwierdź je w aktualnej dokumentacji.

Wszystko działa w twojej przeglądarce. Schemat nie jest przesyłany.

API modeli AI potrafią wymusić, by odpowiedź modelu zgadzała się ze schematem JSON Schema, ale każdy dostawca akceptuje tylko część JSON Schema, i te części się różnią. Schemat, który działa u jednego dostawcy, może zostać odrzucony przez innego albo zaakceptowany, podczas gdy część jego reguł jest po cichu pomijana. To narzędzie czyta twój schemat i sprawdza go z tym, co mówi dokumentacja każdego dostawcy: wymagane reguły, takie jak additionalProperties ustawione na false, słowa kluczowe, które nie są obsługiwane, słowa kluczowe, które są akceptowane, ale nie są egzekwowane, oraz opublikowane limity rozmiaru. Wyniki są podzielone na trzy rodzaje, dzięki czemu odróżnisz udokumentowany błąd od słowa kluczowego, którego dokumentacja po prostu nie wymienia. Reguły sprawdzono z dokumentacją dostawców w dniu podanym pod narzędziem.

Zastosowania

  • Sprawdzenie schematu, zanim wyślesz go jako żądanie ustrukturyzowanej odpowiedzi, aby nie dowiedzieć się o problemie z błędu 400
  • Ustalenie, które słowa kluczowe trzeba usunąć ze schematu i przenieść do własnego kodu walidującego
  • Porównanie tego, co OpenAI, Anthropic i Gemini akceptują dla tego samego schematu

Jak używać

  1. Wklej schemat JSON Schema, który zamierzasz wysłać, albo wczytaj przykład.
  2. Przeczytaj wynik dla każdego dostawcy. Nieakceptowane oznacza, że według dokumentacji schemat się nie powiedzie lub trzeba go zmienić. Ignorowane oznacza, że słowo kluczowe jest akceptowane, ale nie jest egzekwowane. Nieudokumentowane oznacza, że słowa kluczowego nie ma na liście obsługiwanych słów kluczowych dostawcy.
  3. Popraw to, co jest oznaczone jako Nieakceptowane, a resztę sprawdź, wysyłając prawdziwe żądanie.

FAQ

Czy czysty wynik oznacza, że API zaakceptuje mój schemat?

Nie. Narzędzie sprawdza reguły, które dostawcy udokumentowali. Nie wywołuje żadnego API, a dokumentacja nie obejmuje wszystkiego, więc schemat nadal może zostać odrzucony. Traktuj czysty wynik jako „brak znanych problemów” i przetestuj schemat prawdziwym żądaniem.

Co oznaczają Nieakceptowane, Ignorowane i Nieudokumentowane?

Nieakceptowane: dokumentacja mówi, że słowo kluczowe nie jest obsługiwane albo że trzeba przestrzegać pewnej reguły, na przykład additionalProperties musi mieć wartość false. Ignorowane: dokumentacja mówi, że słowo kluczowe jest akceptowane, ale nie jest egzekwowane, więc model może je złamać. Nieudokumentowane: słowa kluczowego nie ma na liście obsługiwanych słów kluczowych dostawcy, więc może zostać odrzucone lub zignorowane, a dokumentacja nie mówi, które z tych dwóch.

Dlaczego OpenAI wymaga, aby każda właściwość była wymagana?

W trybie strict OpenAI wymaga, aby wszystkie właściwości były wymienione w required, a additionalProperties miało wartość false. Aby pole było opcjonalne, dokumentacja każe użyć unii z null, na przykład type o wartości ["string", "null"].

Mój schemat używa minimum, maxLength lub podobnych. Co zrobić?

Anthropic nie obsługuje ograniczeń liczbowych ani ograniczeń długości ciągów, a Gemini nie egzekwuje ograniczeń długości. Usuń je ze schematu, opisz limit w polu description i sprawdź wartość samodzielnie po otrzymaniu odpowiedzi. Takie sprawdzenie może wykonać narzędzie JSON Schema Validator.

Czy to narzędzie sprawdza rekurencję?

Tak, w przypadku Anthropic, którego dokumentacja wymienia schematy rekurencyjne jako nieobsługiwane. OpenAI i Gemini dokumentują schematy rekurencyjne, więc nie są one oznaczane.

Czego narzędzie nie sprawdza?

Głębokości zagnieżdżenia, limitu dla długich enum ani niczego, czego dostawcy nie dokumentują. Narzędzie nie zna też nowszych modeli ani funkcji dodanych po dacie sprawdzenia, więc gdy to ważne, potwierdź reguły w aktualnej dokumentacji.

Czy mój schemat jest wysyłany na serwer?

Nie. Sprawdzanie odbywa się w twojej przeglądarce.

Powiązane