API TypeSafe

Appelez POST /v1/systemone ou installez un SDK officiel.

Évaluez un état selon un ensemble de questions typées et obtenez une réponse structurée par question. Le point de terminaison d’évaluation est POST https://api.typesafe.ai/v1/systemone avec une clé API Bearer. Les clients officiels sont typesafe-sdk pour Python 3.10+ et @typesafe-ai/sdk pour Node.js 20+. Après connexion, le bac à sable et le tableau de bord des clés se trouvent sur console.typesafe.ai. Les identifiants de question restent dans votre code et ne sont jamais transmis au modèle.

Point de terminaison HTTP d’évaluation

Le corps de la requête comporte trois champs de premier niveau. state est obligatoire et peut être une chaîne, un objet ou un tableau de textes. model est obligatoire ; les exemples de la documentation utilisent jev-latest. questions est une table d’objets Question typés. Vous choisissez chaque clé. La réponse correspondante est renvoyée sous le même identifiant. La clé n’est pas transmise au modèle sous-jacent et n’intervient pas dans l’inférence.

Un Noul minimal ressemble à {"state": "Au secours ! Mes versements échouent depuis 3 jours.", "model": "jev-latest", "questions": {"is_urgent": {"type": "noul", "instructions": "Ce message exprime-t-il une urgence ?"}}}. Choice ajoute une table associant chaque nom d’option à sa description. Score ajoute un tableau ordonné de niveaux. Tous trois partagent type et instructions, puis ajoutent leur propre structure de critères.

Obtenez une clé API sur https://console.typesafe.ai/settings/keys. Si vous appelez directement l’API HTTP, gérez les erreurs 429 avec retry-after. Les limites de Jev 1.13 sont de 250,000 jetons par seconde et 1,200 requêtes par minute ; elles peuvent changer sans préavis. Par défaut, les SDK réessaient avec une temporisation exponentielle. La liste des modèles s’obtient par GET /v1/models avec le même jeton Bearer.

Jev HTTP endpoint and official Python and JavaScript SDKs
POST /v1/systemone et commandes d’installation officielles pour Python et JavaScript.

SDK TypeSafe pour Python

package
typesafe-sdk
install
pip install typesafe-sdk
python
>=3.10
modèle par défaut
jev-latest

SDK TypeSafe pour JavaScript

package
@typesafe-ai/sdk
install
npm install @typesafe-ai/sdk
runtime
Node.js 20+
repo
https://github.com/typesafe-ai/typesafe-sdk-js

SDK officiels

Python : pip install typesafe-sdk. Importez TypeSafeClient depuis typesafe_sdk. Utilisez TypeSafeClient() comme client : client.system_one(state, questions). Les constructeurs comme Noul, Choice et Score sont inclus dans le paquet, inutile donc d'écrire vous-même le champ de type JSON. Le modèle par défaut est jev-latest. Python 3.10 ou version ultérieure est requis.

JavaScript : npm install @typesafe-ai/sdk. Importez { TypeSafeClient } depuis « @typesafe-ai/sdk ». Le client communique avec le même point de terminaison. L'environnement d'exécution requis est Node.js 20+. Le dépôt est https://github.com/typesafe-ai/typesafe-sdk-js. Les deux SDK proposent models.list() pour consulter le catalogue des alias.

Le bac à sable sur https://console.typesafe.ai/playground est une console nécessitant une connexion, et non un module public intégré. Collez du texte comme state, ajoutez un Noul tel que « Ce message exprime-t-il une urgence ? », puis combinez plusieurs questions dans un même appel. C’est le moyen le plus rapide de tester l’évaluation parallèle avant de brancher les clés de production.

Un premier appel curl

Utilisez curl -X POST https://api.typesafe.ai/v1/systemone avec Authorization: Bearer $TYPESAFE_API_KEY et Content-Type: application/json. Corps : state contient un message d’échec Stripe-connect, model vaut jev-latest et questions.urgency a le type noul avec l’instruction « Ce message exprime-t-il une urgence ? ». C’est l’exemple de démarrage rapide. Sans second aller-retour, ajoutez un Choice nommé department avec les critères billing / technical / sales, puis un Score nommé frustration avec des niveaux ordonnés.

En cas d’échec, consultez jaggedness avant d’allonger les instructions. La lecture littérale exige que les instructions et les critères indiquent la condition exacte. Les calculs doivent être effectués dans le code. La génération nécessite un autre modèle. L’API renverra tout de même une charge utile typée si vous demandez à Jev de rédiger un paragraphe en enchaînant des Choice, mais le résultat sera lent et médiocre. Utilisez une expression régulière ou un modèle génératif pour proposer des options, puis laissez Jev choisir.

Cloudflare Workers AI répertorie typesafe/jev comme nom de catalogue. Il s’agit d’un référencement tiers, pas d’un remplacement d’api.typesafe.ai. Steam ne propose aucune application Jev. Conservez les clés dans la console de TypeSafe et considérez les SDK communautaires d’Awesome Jev comme non officiels, sauf s’ils suivent l’organisation github.com/typesafe-ai.

Erreurs, nouvelles tentatives et identifiants

429 Too Many Requests est la réponse documentée lorsque vous dépassez la limite de jetons par seconde ou de requêtes par minute. Respectez retry-after. Les SDK officiels appliquent déjà une temporisation. Si vous encapsulez vous-même l’API HTTP, ne bombardez pas le point de terminaison après une erreur 429 : vous resterez dans la même fenêtre de limitation.

Les identifiants de question servent à vos traces. Ils n’entrent jamais dans l’inférence. Vous pouvez générer item_0 à item_n dans une boucle et toujours recevoir un Noul pour chacun. Gardez ces clés uniques au sein d’une requête. Réutiliser une clé écrase silencieusement la question dans la table.

L’autorisation utilise une clé API Bearer TypeSafe obtenue depuis le tableau de bord. api.typesafe.ai n’emploie aucune session par cookie. Renouvelez les clés dans la console, pas en envoyant un e-mail à ce wiki. La page de connexion du bac à sable est distincte : c’est une console dans le navigateur, pas une autre API HTTP.

Copiez une fois la commande curl de démarrage rapide, puis supprimez-la de votre dépôt au profit du SDK. Le SDK gère les nouvelles tentatives et les constructeurs typés. L’API HTTP brute sert aux langages sans client officiel. Dans les deux cas, la clé Bearer et le même corps JSON sont envoyés à POST /v1/systemone.

GET /v1/models répertorie les alias utilisables par votre compte. Il peut omettre jev-1.13.0 alors même que cet identifiant fonctionne avec POST /v1/systemone. Ne considérez pas cette liste comme celle des identifiants versionnés autorisés. Traitez-la comme un catalogue d’alias et conservez l’identifiant versionné dans votre propre configuration.

Ne validez jamais TYPESAFE_API_KEY dans un dépôt. Si elle fuit, renouvelez-la depuis le tableau de bord. contact@jevai.wiki n’est pas la bonne adresse pour signaler un secret divulgué : utilisez les canaux propres à TypeSafe.

Python 3.10 et Node.js 20 sont les versions minimales documentées. Les environnements plus anciens ne sont pas pris en charge par les clients officiels.

Sources