Problemy z wyjściowym formatem strukturyzowanym w Ollama GPT-OSS

Nie bardzo ładnie.

Page content

Modely GPT-OSS z Ollama mają powtarzające się problemy z obsługą strukturalnego wyjścia, szczególnie gdy są używane wraz z frameworkami takimi jak LangChain, OpenAI SDK, vllm i innymi.

Wiele użytkowników zgłasza niepowodzenia w generowaniu poprawnego JSON-a lub innych strukturalnych formatów, halucynacje modelu dotyczące elementów formatu oraz niezgodne lub puste treści odpowiedzi. Te problemy wynikają z obecnych luk w kompatybilności, zmian w formacie odpowiedzi (np. Harmony) oraz niekompletnego wdrażania schematów wyjścia zarówno przez Ollama, jak i przez API trzecich stron. Dla szerszego kontekstu dotyczącego środowisk uruchomieniowych, przepustowości i benchmarków zobacz Wydajność LLM: Benchmarki, Bottlenecks i Optymalizacja.

llama z problemami

O GPT-OSS

To nowy bardzo interesujący LLM od OpenAI. Sprawdź te parametry:

Model gpt-oss-120b gpt-oss-20b
Warstwy 36 24
Liczba parametrów 117B 21B
Aktywne parametry na token 5,1B 3,6B
Liczba ekspertów 128 32
Aktywne eksperty na token 4 4
Długość kontekstu 128k 128k

Uwagi wypuszczania mówią (tutaj i tutaj):

  • Przyjazna licencja Apache 2.0: Buduj bez ograniczeń wynikających z copyleft lub ryzyka patentów — idealna do eksperymentowania, dostosowywania i wdrożenia komercyjnego.
  • Konfigurowalny poziom rozumowania: Łatwo dostosuj poziom rozumowania (niski, średni, wysoki) w zależności od konkretnego przypadku użycia i potrzeb opóźnienia.
  • Pełna łańcuchowa analiza myślenia: Pełny dostęp do procesu rozumowania modelu, co ułatwia debugowanie i zwiększa zaufanie do wyników. Nie ma na to przeznaczone do prezentacji użytkownikom końcowym.
  • Dostosowywalność: Pełne dostosowanie modeli do konkretnego przypadku użycia poprzez wyrafinowanie parametrów.
  • Możliwości agentowe: Użyj wewnętrznych możliwości modeli do wywoływania funkcji, przeglądania sieci, wykonywania kodu Pythona i Strukturalnych Wyjść.
  • Kwantyzacja MXFP4: Modele zostały po-trenowane z użyciem kwantyzacji MXFP4 w wagach MoE, co pozwala uruchomić gpt-oss-120b na pojedynczej karcie GPU o pojemności 80 GB (np. NVIDIA H100 lub AMD MI300X) i uruchomić model gpt-oss-20b w 16 GB pamięci. Wszystkie testy zostały przeprowadzone przy tej samej kwantyzacji MXFP4.

Co nie lubić? Zdumiewająco niesprawne zachowanie strukturalnego wyjścia… to właśnie to. W ogólności, ten problem jest bardzo rozczarowujący, zwłaszcza ponieważ Strukturalne wyjście działa tak dobrze z Ollama i Qwen3.

Typowe problemy

  • Modele takie jak gpt-oss:20b często nie potrafią generować ściślejszego JSON-a lub wyjścia zgodnego ze schematem, z odpowiedziami często zawierającymi dodatkowe komentarze lub niekompletne obiekty.
  • Integracja z LangChain i OpenAI SDK ma tendencję do wyrzucania błędów analizowania/walidacji ze względu na brak strukturalnego wyjścia, co sprawia, że potoki są nieprzydatne w środowiskach produkcyjnych.
  • Format Harmony w gpt-oss wprowadza ślady rozumowania nawet wtedy, gdy nie są żądane, co komplikuje analizowanie schematu w porównaniu do innych modeli, takich jak Qwen3.
  • Z vllm mechanizmy wdrażania strukturalnego wyjścia są albo brakujące, albo przestarzałe, więc wyjście często jest „nieskierowane” i musi być ręcznie analizowane.
  • Istnieją doniesienia o tym, że model generuje poprawne strukturalne wyjście, a następnie kontynuuje treści niezwiązane, co narusza standardowe analizatory.

Przykładowe rozwiązania i naprawy

  • Niektórzy użytkownicy sugerują jawne wskazanie schematu JSON w promocie i próby ręcznej analizy wyjścia modelu, czasem używając markerów przed- i po-splitycznych.
  • Inny podejście to uruchomienie warstwy post-processor lub mniejszego LLM do ponownego sformatowania wyjścia GPT-OSS do pożądanego schematu, choć to jest intensywnie zużywające zasoby.
  • Niektóre naprawy i żądania (PRs) poprawiły stopniowo zgodność z formatem Harmony, szczególnie w nowszych wersjach Ollama, ale pełna parzystość z poprzednimi modelami nie została jeszcze osiągnięta.
  • Gdy korzystasz z vllm, poprawianie konkretnych funkcji może pomóc, ale ogólnie nie jest wspierana solidna zgodność ze schematem w tym momencie.

Rekomendacje

  • Unikaj całkowitego oparcia się na GPT-OSS do ściślejszego strukturalnego wyjścia, dopóki pełna kompatybilność nie zostanie przywrócona w Ollama i poniższych frameworkach.
  • Gdzie strukturalne wyjście jest krytyczne, użyj dodatkowego analizatora lub modelu lepiej znanej zgodności ze schematem.
  • Monitoruj odpowiednie problemy na GitHub (ollama/ollama, langchain-ai/langchain, vllm-project/vllm) na poprawki i aktualizacje integracji.

Podsumowując, GPT-OSS z Ollama obecnie ma trudności z wyjściem strukturalnym, głównie z powodu niekompletnego wdrażania formatu, zmian w formacie Harmony i braku wsparcia w całych łańcuchach narzędzi. Ręczne rozwiązania mogą pomóc, ale nie gwarantują spójnego sukcesu. Dla więcej informacji na temat środowisk uruchomieniowych LLM, alokacji pamięci i optymalizacji wydajności, sprawdź Wydajność LLM: Benchmarki, Bottlenecks i Optymalizacja.

Przydatne linki

Inne artykuły Ollama