Einführung
Apex von Callstack unterstützt Anwendungsentwicklung mit React Native und React. Die Chat-API verarbeitet Text / Bilder, bietet ein Eingabebudget von 262,144 Token und akzeptiert max_tokens bis 131,072. Streamen Sie den Text von Apex sofort oder nutzen Sie ein Funktionsergebnis als Grundlage für den nächsten Schritt bei React-Native-Entwicklung mit Apex.
| Feld | Wert |
|---|---|
| Eingabe | Text |
| Ausgabe | Text |
| Eingabebudget | 262,144 tokens |
| Obergrenze für max_tokens | 131,072 |
| Eingaben | Text / Bilder |
Wichtige Funktionen und Highlights
Trainiert darauf, wie React Native tatsächlich geschrieben wird
Callstack hat Apex aus der React-Native-Dokumentation, dem Quellcode, öffentlichen API-Symbolen, Bibliotheken und Diskussionen aufgebaut, die auf echten Repositories beruhen. Das zeigt sich bei den Aufgaben, die Entwickler dem Modell übergeben: Navigation einrichten, Listenperformance, Animationen, Wrapper für native Module und Bibliotheks-Upgrades. Dort greift ein allgemeines Modell oft zu einem Muster aus der falschen Version.
Tool-Aufrufe, die zu einem Coding-Workflow passen
Senden Sie bis zu 128 Funktionsdefinitionen, und Apex kann mit einem Tool-Aufruf statt mit Prosa antworten: eine Datei lesen, die Tests ausführen, einen Patch anwenden. Ihre Anwendung führt das Tool aus und gibt das Ergebnis als Tool-Nachricht mit der passenden tool_call_id zurück. So schlägt das Modell vor, und Ihr Code entscheidet, was ausgeführt wird.
Ein ganzes Feature in einer Anfrage
Mit 262,144 Token können Sie einen Screen, seine Hooks, die Navigator-Konfiguration, die zugehörigen Tests und das Fehlerprotokoll gemeinsam senden. Das Modell antwortet auf Grundlage der Dateien, die Sie übergeben haben, und nicht auf Basis einer Vermutung über den Aufbau Ihres Projekts.
Den Denkaufwand nur erhöhen, wenn der Fehler schwer ist
Mit reasoning_effort bleiben schnelle Änderungen und Erklärungen bei none oder low. Für einen Fehler, der mehrere Dateien betrifft, wechseln Sie zu medium oder xhigh. Denk-Tokens zählen innerhalb von max_tokens, sodass die Kosten des Denkens in der abgerechneten Nutzung sichtbar bleiben.
Request-Parameter
| Parameter | Pflicht | Beschreibung |
|---|---|---|
messages | Ja | Übergeben Sie für React-Native-Entwicklung mit Apex Gespräch und Belege chronologisch als Text und ordnen Sie jedes Werkzeugergebnis seiner ursprünglichen |
max_tokens | Nein | Planen Sie sichtbare Antwort und berechnete Überlegungen von Apex gemeinsam in |
reasoning_effort | Nein | Apex bietet none, low, medium, xhigh, standardmäßig medium; vergleichen Sie die Stufen für React-Native-Entwicklung mit Apex, da gründlicheres Denken Ausgabetokens und Wartezeit… |
stop | Nein | Beenden Sie den Text von Apex an einer angegebenen Stoppfolge oder einer von bis zu vier Folgen; die passende Folge selbst erscheint nicht in der Antwort. mindestens 1 Zeichen · mindestens 1 Einträge · höchstens 4 Einträge |
temperature | Nein | Apex akzeptiert temperature von 0 bis 2; halten Sie beim Formulierungsvergleich für React-Native-Entwicklung mit Apex andere Samplingwerte konstant. |
top_p | Nein | Nutzen Sie |
tools | Nein | Geben Sie Apex Funktionsdefinitionen im OpenAI-Format für React-Native-Entwicklung mit Apex; das Modell schlägt Argumente vor, Ihre Anwendung prüft sie und führt die Operation aus. höchstens 128 Einträge |
parallel_tool_calls | Nein | Erlauben Sie Apex, unabhängige Funktionen gemeinsam vorzuschlagen, wenn React-Native-Entwicklung mit Apex mehrere externe Ergebnisse benötigt. Standardwert: |
tool_choice | Nein | Wählen Sie für Apex auto, none, required oder eine bestimmte Funktion und bewahren Sie die zurückgegebene Aufruf-ID für React-Native-Entwicklung mit Apex auf. |
Preis
Eingabe $0.50 / Ausgabe $3 je 1 Mio. Token
Anwendungsfälle
Eine langsame Listenansicht beheben
Fügen Sie einen FlatList-Screen mit seinem renderItem, dem Daten-Hook und einer Profiler-Notiz ein und fragen Sie, woher die Re-Renders kommen. Apex ist für diese Art von React-Native-Frage gebaut und kann einen gezielten Patch mit Memoization, stabilen Keys und Änderungen am Item-Layout vorschlagen, den Sie wie jeden Pull Request prüfen.
Einen Pull Request prüfen
Senden Sie den Diff zusammen mit den betroffenen Dateien und fragen Sie nach Problemen, die Sie einer Zeile zuordnen können: veraltete Closures, fehlende Effect-Cleanups, plattformspezifischer Code, der nur unter iOS funktioniert. Bitten Sie um eine Rangliste, damit der erste Punkt der ist, bei dem sich ein Blockieren lohnt.
Eine Bibliothek oder ein SDK aktualisieren
Geben Sie den Auszug aus dem Changelog und die Dateien mit der alten API an und bitten Sie um die Änderungen in der Reihenfolge, in der sie einfließen sollten. Callstack sagt, das Modell könne falsche Annahmen hinterfragen und Änderungen sequenzieren, was zu einem Upgrade mit mehreren Schritten passt.
Tests und Next.js-Code erzeugen
Bitten Sie aus dem eingefügten Code um Komponententests, einen Hook-Test oder einen Next.js-Route-Handler. Callstack veröffentlicht auch Ergebnisse für Next.js, daher ist Web-React-Arbeit ein unterstützter Anwendungsfall und kein Nebenaspekt.
Prompt-Leitfaden und Praxistipps
Dateien senden, nicht eine Beschreibung
Legen Sie den relevanten Quellcode in die Nachrichten, mit dem Dateipfad über jedem Block, und nennen Sie am Ende die Aufgabe und die Plattformversionen. Ein Screen, der mit einer React-Native-Version funktioniert und mit einer anderen bricht, lässt sich viel leichter reparieren, wenn die Paketversionen im Prompt stehen.
Den Denkaufwand passend zur Aufgabe wählen
Lassen Sie
reasoning_effortbei den meisten Aufgaben auf medium. Verwenden Sie none oder low für Umbenennungen, kleine Änderungen und Erklärungen, und xhigh für einen Fehler, dessen Ursache mehrere Dateien umfasst. Erhöhen Siemax_tokens, wenn Sie eine Stufe höher gehen, da sich das Denken dieses Budget mit der sichtbaren Antwort teilt.Tools anbinden und die Schleife fortsetzen
Definieren Sie Ihre Tools, lassen Sie das Modell einen Tool-Aufruf zurückgeben, führen Sie ihn in Ihrem eigenen Code aus und senden Sie die Ausgabe als Tool-Nachricht mit derselben
tool_call_idzurück. Behalten Sie die Assistenten-Nachricht mit dem Aufruf im Verlauf, damit der nächste Schritt weiß, was passiert ist.Lange Antworten streamen und den Abschlussgrund prüfen
Aktivieren Sie Streaming für eine Antwort über mehrere Dateien, damit Sie Fortschritte anzeigen können, und prüfen Sie den Abschlussgrund, bevor Sie die Ausgabe als vollständig behandeln. Eine durch
max_tokensabgeschnittene Antwort braucht ein höheres Limit und keinen erneuten Versuch derselben Anfrage.
React Native mit Apex bearbeiten
Apex ist Callstacks Codingmodell mit besonderem Schwerpunkt auf React Native. Senden Sie Komponente, Zielplattform, Paketversionen und beobachtetes Verhalten als Text. Einen Screenshot allein kann dieser reine Textendpunkt nicht lesen.
Mobilen Fehlern Kontext geben
Nennen Sie Unterschiede zwischen iOS und Android und liefern Sie relevanten Navigations- oder Zustandscode sowie das erwartete Ergebnis. Das Eingabebudget beträgt 262.144 Tokens, max_tokens reicht bis 131.072. Verwenden Sie die angebotenen Denkstufen und lassen Sie Platz für Analyse und Änderungsvorschlag.
Die Änderung prüfen
Auch wenn Apex eine Funktion anfordert, steuert Ihre Anwendung den Zugriff auf Dateien und Testbefehle. Bewahren Sie tool_call_id bei der Rückgabe auf und prüfen Sie den Patch auf der Zielplattform. Streaming macht längere Erklärungen bereits vor Abschluss lesbar.
Bei React-Native-Entwicklung mit Apex gelten die Inhaltsentscheidungen von Apex; NSFW-Antworten können sich mit Anfrage oder Modellversion ändern, weshalb uneingeschränkte Ausgaben nicht zugesagt werden.
API-Schnellstart
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'
Authentifizierung, vollständiges Schema, Polling und Fehlerbehandlung stehen in der API-Referenz.
