Introduction
Apex, de Callstack, convient à le développement d’applications React Native et React. Cette API de chat accepte du texte / des images, dispose d’un budget d’entrée de 262,144 tokens et accepte max_tokens jusqu’à 131,072. Recevez le texte de Apex au fil de sa génération, ou utilisez un résultat de fonction pour étayer l’étape suivante de le développement React Native avec Apex.
| Champ | Valeur |
|---|---|
| Entrée | Texte |
| Sortie | Texte |
| Budget d’entrée | 262,144 tokens |
| Plafond de max_tokens | 131,072 |
| Entrées | du texte / des images |
Fonctionnalités et points forts
Entraîné sur la manière dont React Native est réellement écrit
Callstack a construit Apex à partir de la documentation React Native, du code source, des symboles publics de l’API, des bibliothèques et de discussions ancrées dans de vrais dépôts. Cela se voit dans les tâches confiées par les développeurs : configuration de la navigation, performance des listes, animations, wrappers de modules natifs et mises à niveau de bibliothèques, là où un modèle généraliste reprend souvent un motif de la mauvaise version.
Des appels d’outils adaptés à un flux de code
Envoyez jusqu’à 128 définitions de fonctions : Apex peut répondre par un appel d’outil plutôt que par de la prose — lire un fichier, lancer les tests, appliquer un correctif. Votre application exécute l’outil et renvoie le résultat sous forme de message tool avec le tool_call_id correspondant : le modèle propose, et votre code décide de ce qui s’exécute.
Une fonctionnalité entière dans une seule requête
Avec 262,144 tokens, vous pouvez envoyer ensemble un écran, ses hooks, la configuration du navigateur, les tests associés et le journal d’erreurs. Le modèle répond à partir des fichiers fournis, et non d’une supposition sur l’organisation de votre projet.
N’augmentez le raisonnement que lorsque le bug est difficile
reasoning_effort vous permet de garder les modifications rapides et les explications à none ou low, et de passer à medium ou xhigh pour un bug qui traverse plusieurs fichiers. Les tokens de raisonnement sont comptés dans max_tokens : le coût de la réflexion reste donc visible dans l’usage facturé.
Paramètres de requête
| Paramètre | Obligatoire | Description |
|---|---|---|
messages | Oui | Pour le développement React Native avec Apex, fournissez la conversation et les éléments de preuve en texte dans l’ordre, en reliant chaque résultat d’outil à son |
max_tokens | Non | Prévoyez ensemble la réponse visible et le raisonnement facturé de Apex dans |
reasoning_effort | Non | Apex propose none, low, medium, xhigh, avec medium par défaut ; comparez les niveaux pour le développement React Native avec Apex, car un raisonnement approfondi peut accroître… |
stop | Non | Arrêtez le texte de Apex sur une séquence fournie, ou l’une de quatre au maximum ; la séquence rencontrée est exclue de la réponse. 1 caractères minimum · 1 éléments minimum · 4 éléments maximum |
temperature | Non | Apex accepte temperature de 0 à 2 ; gardez les autres réglages d’échantillonnage constants pour comparer les formulations de le développement React Native avec Apex. |
top_p | Non | Utilisez |
tools | Non | Donnez à Apex des définitions de fonctions au format OpenAI pour le développement React Native avec Apex ; le modèle propose les arguments et votre application les valide puis e… 128 éléments maximum |
parallel_tool_calls | Non | Autorisez Apex à proposer plusieurs fonctions indépendantes ensemble lorsque le développement React Native avec Apex demande plusieurs résultats externes. Valeur par défaut: |
tool_choice | Non | Choisissez auto, none, required ou une fonction précise pour Apex, puis conservez l’identifiant d’appel pour poursuivre le développement React Native avec Apex. |
Tarification
Entrée $0.50 / Sortie $3 par 1 million de tokens
Cas d’utilisation
Corriger un écran de liste lent
Collez un écran FlatList avec son renderItem, le hook de données et une note du profileur, puis demandez d’où viennent les re-rendus. Apex est conçu pour ce type de question React Native et peut proposer un correctif ciblé — mémoïsation, clés stables, modifications de la mise en page des éléments —, que vous relisez comme toute pull request.
Relire une pull request
Envoyez le diff et les fichiers qu’il touche, puis demandez les problèmes que l’on peut rattacher à une ligne : closures obsolètes, nettoyage d’effets manquant, code spécifique à une plateforme qui ne fonctionne que sur iOS. Demandez une liste classée pour que le premier point soit celui qui mérite de bloquer la fusion.
Mettre à niveau une bibliothèque ou un SDK
Fournissez l’extrait du changelog et les fichiers qui utilisent l’ancienne API, puis demandez les modifications dans l’ordre où elles doivent être intégrées. Callstack indique que le modèle sait remettre en question de mauvaises hypothèses et ordonner les changements, ce qui convient à une mise à niveau en plusieurs étapes.
Générer des tests et du code Next.js
Demandez des tests de composants, un test de hook ou un gestionnaire de route Next.js à partir du code collé. Callstack publie aussi des résultats pour Next.js : le travail React côté web est donc un usage pris en charge, et non un accessoire.
Guide de prompt et conseils pratiques
Envoyer les fichiers, pas une description
Placez le code source pertinent dans les messages, avec le chemin du fichier au-dessus de chaque bloc, puis indiquez la tâche et les versions de la plateforme à la fin. Un écran qui fonctionne avec une version de React Native et casse avec une autre est bien plus facile à corriger quand les versions des paquets figurent dans le prompt.
Choisir le niveau de raisonnement selon la tâche
Laissez
reasoning_effortsur medium pour la plupart des travaux. Utilisez none ou low pour les renommages, les petites modifications et les explications, et xhigh pour un bug dont la cause s’étend sur plusieurs fichiers. Augmentezmax_tokensquand vous montez d’un niveau, car le raisonnement partage ce budget avec la réponse visible.Brancher les outils et poursuivre la boucle
Définissez vos outils, laissez le modèle renvoyer un appel d’outil, exécutez-le dans votre propre code et renvoyez la sortie sous forme de message tool avec le même
tool_call_id. Conservez dans l’historique le message de l’assistant qui a fait l’appel, pour que le tour suivant sache ce qui s’est passé.Diffuser les longues réponses et vérifier la raison d’arrêt
Activez le streaming pour une réponse portant sur plusieurs fichiers afin d’afficher la progression, et vérifiez la raison d’arrêt avant de considérer la sortie comme complète. Une réponse tronquée par
max_tokensdemande une limite plus élevée, pas une nouvelle tentative de la même requête.
Modifier React Native avec Apex
Apex est le modèle de code de Callstack, centré notamment sur React Native. Envoyez le composant, la plateforme, les versions des paquets et le comportement observé sous forme de texte. Cet endpoint textuel ne peut pas lire une capture d’écran seule.
Décrire le contexte mobile
Précisez les différences entre iOS et Android, le code de navigation ou de gestion d’état utile et le résultat attendu. Le budget d’entrée est de 262 144 tokens et max_tokens atteint 131 072. Utilisez les niveaux de raisonnement proposés en laissant de la place pour l’analyse et la modification.
Vérifier la proposition
Apex peut demander une fonction, mais votre application contrôle l’accès aux fichiers et aux commandes de test. Conservez tool_call_id dans les résultats, puis vérifiez le correctif sur la plateforme visée. Le streaming permet de lire une longue explication avant sa fin.
Les décisions de contenu de Apex s’appliquent à le développement React Native avec Apex ; les réponses NSFW peuvent changer selon la requête ou la version, sans promesse de sortie sans restriction.
Démarrage rapide de l’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'
La référence API détaille l’authentification, le schéma complet, le polling et la gestion des erreurs.
