Wprowadzenie
Apex od Callstack służy do zadań związanych z tworzeniem aplikacji w React Native i React. API czatu przyjmuje tekst / obrazy, udostępnia budżet wejścia 262,144 tokenów i przyjmuje max_tokens do 131,072. Obsługiwane są odpowiedzi strumieniowe i wywołania funkcji.
| Pole | Wartość |
|---|---|
| Wejście | Tekst |
| Wyjście | Tekst |
| Budżet wejścia | 262,144 tokens |
| Limit max_tokens | 131,072 |
| Dane wejściowe | tekst / obrazy |
Najważniejsze funkcje
Wytrenowany na tym, jak naprawdę pisze się React Native
Callstack zbudował Apex na dokumentacji React Native, kodzie źródłowym, publicznych symbolach API, bibliotekach i dyskusjach opartych na prawdziwych repozytoriach. Widać to w zadaniach, które programiści mu powierzają: konfiguracja nawigacji, wydajność list, animacje, otoki modułów natywnych i aktualizacje bibliotek, gdzie ogólny model często sięga po wzorzec z niewłaściwej wersji.
Wywołania narzędzi pasujące do procesu kodowania
Wyślij do 128 definicji funkcji, a Apex może odpowiedzieć wywołaniem narzędzia zamiast tekstem: odczytać plik, uruchomić testy, zastosować poprawkę. Twoja aplikacja wykonuje narzędzie i zwraca wynik jako wiadomość tool z pasującym tool_call_id. Model proponuje, a Twój kod decyduje, co zostanie wykonane.
Cała funkcja w jednym żądaniu
Przy 262,144 tokenach można razem wysłać ekran, jego hooki, konfigurację nawigacji, powiązane testy i log błędów. Model odpowiada na podstawie przekazanych plików, a nie na podstawie domysłów o strukturze projektu.
Podkręcaj rozumowanie tylko wtedy, gdy błąd jest trudny
reasoning_effort pozwala zostawić szybkie poprawki i wyjaśnienia na none lub low, a przy błędzie obejmującym kilka plików przejść na medium lub xhigh. Tokeny rozumowania liczą się w max_tokens, więc koszt myślenia jest widoczny w rozliczanym użyciu.
Parametry żądania
| Parametr | Wymagane | Uwaga |
|---|---|---|
messages | Tak | Przy zadaniu „pracę nad React Native z modelem Apex” przekaż rozmowę i źródła jako tekst w kolejności, wiążąc wynik każdego narzędzia z pierwotnym |
max_tokens | Nie | W |
reasoning_effort | Nie | Model Apex udostępnia none, low, medium, xhigh, domyślnie medium; porównaj poziomy przy zadaniu „pracę nad React Native z modelem Apex”, bo głębsze rozumowanie może zwiększyć li… |
stop | Nie | Zakończ tekst modelu Apex na jednej sekwencji lub dowolnej z maksymalnie czterech; dopasowana sekwencja nie trafia do odpowiedzi. od 1 znaków · od 1 elementów · do 4 elementów |
temperature | Nie | Model Apex przyjmuje temperature od 0 do 2; porównując sformułowania dla zadania „pracę nad React Native z modelem Apex”, zachowaj pozostałe ustawienia próbkowania. |
top_p | Nie | Użyj |
tools | Nie | Przekaż modelowi Apex definicje funkcji w formacie OpenAI do zadania „pracę nad React Native z modelem Apex”; model proponuje argumenty, a aplikacja je sprawdza i wykonuje opera… do 128 elementów |
parallel_tool_calls | Nie | Zezwól modelowi Apex proponować niezależne wywołania razem, gdy zadanie „pracę nad React Native z modelem Apex” wymaga kilku wyników zewnętrznych. Domyślnie: |
tool_choice | Nie | Wybierz auto, none, required lub konkretną funkcję dla modelu Apex i zachowaj zwrócony identyfikator wywołania przy kontynuacji zadania „pracę nad React Native z modelem Apex”. |
Cennik
Wejście $0.50 / Wyjście $3 za 1 mln tokenów
Zastosowania
Naprawić wolny ekran listy
Wklej ekran FlatList z renderItem, hookiem danych i notatką z profilera, a potem zapytaj, skąd biorą się ponowne renderowania. Apex jest stworzony do tego typu pytań o React Native i może zaproponować ukierunkowaną poprawkę: memoizację, stabilne klucze i zmiany układu elementów, którą sprawdzasz jak każdy pull request.
Przejrzeć pull request
Wyślij diff i pliki, których dotyczy, i poproś o problemy, które można wskazać w konkretnym wierszu: nieaktualne domknięcia, brak czyszczenia efektów, kod specyficzny dla platformy działający tylko na iOS. Poproś o listę uszeregowaną, żeby pierwszy punkt był tym wartym blokowania.
Zaktualizować bibliotekę lub SDK
Podaj fragment changelogu i pliki używające starego API, a potem poproś o zmiany w kolejności, w jakiej powinny wejść. Callstack twierdzi, że model potrafi kwestionować błędne założenia i porządkować zmiany, co pasuje do aktualizacji w kilku krokach.
Wygenerować testy i kod Next.js
Poproś o testy komponentów, test hooka albo handler trasy Next.js na podstawie wklejonego kodu. Callstack publikuje też wyniki dla Next.js, więc praca z Reactem dla webu jest wspieranym zastosowaniem, a nie dodatkiem.
Wskazówki
Wysyłaj pliki, a nie opis
Umieść odpowiedni kod źródłowy w wiadomościach, z ścieżką pliku nad każdym blokiem, a na końcu podaj zadanie i wersje platformy. Ekran działający na jednej wersji React Native, a psujący się na innej, łatwiej naprawić, gdy wersje pakietów są w prompcie.
Dobierz poziom rozumowania do zadania
Przy większości prac zostaw
reasoning_effortna medium. Używaj none lub low do zmian nazw, drobnych edycji i wyjaśnień, a xhigh do błędu, którego przyczyna obejmuje kilka plików. Zwiększajmax_tokensprzy przejściu na wyższy poziom, bo rozumowanie dzieli ten budżet z widoczną odpowiedzią.Podłącz narzędzia i prowadź pętlę dalej
Zdefiniuj narzędzia, pozwól modelowi zwrócić wywołanie, uruchom je we własnym kodzie i odeślij wynik jako wiadomość tool z tym samym
tool_call_id. W historii zachowaj wiadomość asystenta, która wykonała wywołanie, żeby kolejna tura wiedziała, co się stało.Strumieniuj długie odpowiedzi i sprawdź powód zakończenia
Włącz strumieniowanie dla odpowiedzi obejmującej kilka plików, żeby pokazywać postęp, i sprawdź powód zakończenia, zanim uznasz wynik za kompletny. Odpowiedź ucięta przez
max_tokenswymaga wyższego limitu, a nie ponowienia tego samego żądania.
Zmiany React Native z Apex
Apex to model Callstack do programowania, ze szczególnym naciskiem na React Native. Wyślij komponent, platformę, wersje pakietów i zaobserwowane zachowanie jako tekst. Ten endpoint tekstowy nie odczyta samego zrzutu ekranu.
Podaj kontekst mobilny
Uwzględnij różnice między iOS i Androidem, odpowiedni kod nawigacji lub stanu oraz oczekiwany wynik. Budżet wejścia wynosi 262 144 tokeny, a max_tokens sięga 131 072. Wybierz dostępny poziom rozumowania i zostaw miejsce na analizę oraz proponowaną zmianę.
Zweryfikuj propozycję
Apex może poprosić o funkcję, ale dostęp do plików i poleceń testowych kontroluje aplikacja. Zachowaj tool_call_id przy odsyłaniu wyników, a następnie sprawdź patch na docelowej platformie. Streaming pozwala czytać długie wyjaśnienie przed końcem odpowiedzi.
Przy zadaniu „pracę nad React Native z modelem Apex” obowiązują decyzje modelu Apex dotyczące treści; odpowiedzi NSFW mogą się zmieniać wraz z żądaniem lub wersją, bez obietnicy nieograniczonego wyniku.
Szybki start z API
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "callstack/apex/chat",
"messages": [
{
"role": "user",
"content": "Summarise the following release notes into three bullet points."
}
],
"stream": true
}' \
| jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'
Uwierzytelnianie, pełny schemat, odpytywanie i obsługę błędów opisuje dokumentacja API.
