Skip to main content
Jev to model System One od TypeSafe: model decyzyjny, a nie generator tekstu. Request zawiera state (tekst lub rekord do oceny) i mapę typowanych pytań, a odpowiedzią jest skalibrowane prawdopodobieństwo dla każdego pytania. Kev to rodzina małych modeli open-weight implementujących to samo API, więc jeden typ providera jev obejmuje oba. Istnieją trzy typy pytań: GoModel serwuje modele jev na dwa sposoby:
  • Decisions API OpenAI pod POST /v1/decisions, które zadaje te same trzy rodzaje pytań (predicate dla noul). GoModel tłumaczy request na System One, a odpowiedź z powrotem, więc SDK OpenAI i klienci napisani pod gpt-6-luna działają z Jev i Kev bez zmian.
  • Samo System One pod POST /v1/systemone, przekazywane natywnie bez tłumaczenia, na potrzeby SDK TypeSafe; jest też dostępne przy samym providerze openrouter. Passthrough pod /p/jev/... sięga do każdej innej ścieżki upstreamu.
Czat, /responses i /v1/embeddings zwracają invalid_request_error dla modeli jev, wskazując oba endpointy decyzyjne.

Konfiguracja

Dla hostowanego API cała konfiguracja to klucz:
Dla self-hosted serwera Kev ustaw zamiast tego bazowy URL. Kev nie ma własnego uwierzytelniania, więc nie ustawiaj klucza:
Domyślny bazowy URL to https://api.typesafe.ai, origin używany przez SDK TypeSafe; końcowe /v1 jest akceptowane i obcinane, więc oba zapisy wskazują ten sam serwer. Aby uruchomić hostowane API i lokalny Kev równolegle, zarejestruj drugi pod nazwą z sufiksem: JEV_KEV_BASE_URL=... tworzy providera jev-kev, dostępnego pod /p/jev-kev/.... W config.yaml działa dowolna nazwa, na przykład kev: {type: jev, base_url: ...}, i to tę nazwę pokazują logi, użycie i prefiksy modeli.

Weryfikacja

Na serwerze Kev użyj modelu kev-latest; odpowiada on też na jev-latest. Ten sam request działa pod /p/jev/v1/systemone, ale ta ścieżka passthrough pomija modele wirtualne i guardrails; zobacz natywny endpoint. To samo pytanie przez Decisions API, z SDK OpenAI lub curl:
Hostowany Jev odczytuje też obrazy wysłane jako data URL-e base64 PNG lub JPEG, które GoModel wysyła jako zasoby obrazów System One; serwery Kev odczytują tylko tekst. Pełne mapowanie opisuje sekcja Jev i Kev.

Korzystanie z SDK TypeSafe

SDK wysyłają POST {base_url}/v1/systemone, więc skieruj je na sam gateway i uwierzytelniaj się kluczem GoModel:
To samo działa z TYPESAFE_BASE_URL=http://localhost:8080 i TYPESAFE_API_KEY=change-me w środowisku. Przy kilku providerach System One podawaj model razem z providerem (kev/kev-latest) lub użyj modelu wirtualnego. Listowanie modeli w SDK oczekuje kształtu TypeSafe, a /v1/models gatewaya ma kształt OpenAI; modele upstreamu wylistujesz pod /p/jev/v1/models.

System One API

POST /v1/systemone to endpoint gatewaya, a nie surowe proxy: stosuje modele wirtualne, guardrails na state, cache odpowiedzi, failover, audyt i śledzenie użycia, a request przekazuje natywnie, bez tłumaczenia. Ścieżki Kev /v1/systemone/permute i /v1/systemone/separate działają tak samo. Pełne zachowanie, w tym OpenRouter, który również natywnie serwuje Jev, opisuje strona System One API. Każda inna ścieżka upstreamu jest dostępna przez passthrough, bez modeli wirtualnych, guardrails i cache’u: Błędy upstreamu zachowują swój kod statusu, a body providera trafia do komunikatu błędu gatewaya: niepoprawne pytanie wraca jako 422 od TypeSafe, wskazujące błędne pole, a 429 lub 529 oznaczają, że należy się wycofać i ponowić próbę.

Modele, kontrola dostępu i koszty

GET /v1/models wypisuje to, co raportuje upstream, jako jev/jev-latest itd. TypeSafe wypisuje swoje aliasy (jev-latest, jev-preview); serwer Kev wypisuje swój checkpoint (kev-latest) i aliasy, na które odpowiada. Wersjonowane identyfikatory, takie jak jev-1.13.0, są akceptowane przez pole model niezależnie od tego, czy są wypisane. Modele są kategoryzowane jako modele narzędziowe bez trybu generowania: odpowiadają na /v1/decisions i /v1/systemone, a nie na czat. Provider, którego bazowy URL to hostowane API TypeSafe, raportuje możliwość vision dla swoich modeli; każdy inny bazowy URL jest traktowany jako serwer Kev, którego modele raportują vision: false, a GoModel odrzuca kierowane do nich requesty z obrazami. Każdy request System One wskazuje swój model, więc zarówno /v1/systemone, jak i powierzchnia passthrough stosują do niego allowlistę modeli wywołującego, tak jak do każdego innego requestu. Przypięta wersja, taka jak jev-1.13.0, działa bez deklarowania; jak routowane są niewypisane nazwy, opisuje sekcja Modele. usage.input_tokens i usage.output_tokens z odpowiedzi są zapisywane, więc wywołania System One pojawiają się w Usage API i w dashboardzie pod modelem, który odpowiedział (jev-1.13.0 lub checkpoint Kev). Jev jest wyceniany za token wejściowy i nie ma go w katalogu modeli upstreamu; zadeklaruj jego cennik w providerze, aby te wiersze miały wyliczony koszt, albo ustaw go w edytorze nadpisań cennika:
Lokalny serwer Kev nie generuje kosztów za tokeny, więc nie potrzebuje cennika.
Ostatnia modyfikacja 24 października 2026