API TypeSafe
Вызовите POST /v1/systemone или установите официальный SDK.
Сопоставьте состояние с набором типизированных вопросов и получите структурированный ответ на каждый из них. Эндпоинт оценки — POST https://api.typesafe.ai/v1/systemone с API-ключом Bearer. Официальные клиенты: typesafe-sdk для Python 3.10+ и @typesafe-ai/sdk для Node.js 20+. После входа песочница и панель ключей доступны на console.typesafe.ai. Идентификаторы вопросов остаются в вашем коде и не передаются модели.
HTTP-эндпоинт оценки
В теле запроса три поля верхнего уровня. Обязательное поле state может быть строкой, объектом или массивом текстов. Поле model также обязательно; в примерах документации используется jev-latest. questions — словарь типизированных объектов Question. Ключи задаёте вы, и соответствующий ответ возвращается под тем же идентификатором. Ключ не передаётся базовой модели и не участвует в инференсе.
Минимальный Noul выглядит так: {"state": "Помогите! Мои выплаты не проходят уже 3 дня.", "model": "jev-latest", "questions": {"is_urgent": {"type": "noul", "instructions": "Передаёт ли это срочность?"}}}. В Choice добавляется словарь criteria, сопоставляющий названия вариантов с описаниями. В Score — упорядоченный массив criteria с уровнями. У всех трёх есть type и instructions, а формат criteria зависит от типа.
Получите API-ключ на странице https://console.typesafe.ai/settings/keys. При прямом обращении по HTTP обрабатывайте 429 с учётом retry-after. Для Jev 1.13 действуют лимиты 250,000 токенов в секунду и 1,200 запросов в минуту; они могут меняться без предупреждения. По умолчанию SDK повторяют запросы с нарастающей задержкой. Список моделей доступен через GET /v1/models с тем же токеном Bearer.
TypeSafe Python набор средств разработки
- package
- typesafe-sdk
- install
- pip install typesafe-sdk
- python
- >=3.10
- модель по умолчанию
- jev-latest
TypeSafe 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
Python: pip install typesafe-sdk. Импортируйте TypeSafeClient из typesafe_sdk. Используйте TypeSafeClient() как клиент: client.system_one(state, questions). Конструкторы вроде Noul, Choice и Score входят в пакет, поэтому вручную указывать поле типа в JSON не нужно. Модель по умолчанию — jev-latest. Требуется Python версии 3.10 или новее.
JavaScript: npm install @typesafe-ai/sdk. Импортируйте { TypeSafeClient } из "@typesafe-ai/sdk". Клиент обращается к той же конечной точке. Среда выполнения — Node.js 20+. Репозиторий: https://github.com/typesafe-ai/typesafe-sdk-js. Оба SDK предоставляют models.list() с каталогом псевдонимов.
Песочница на https://console.typesafe.ai/playground — это консоль с авторизацией, а не публичный встраиваемый виджет. Вставьте текст в state, добавьте Noul, например «Передаёт ли это сообщение срочность?», затем включите в один вызов дополнительные вопросы. Так проще всего опробовать параллельную оценку до подключения рабочих ключей.
Первый запрос curl
Выполните curl -X POST https://api.typesafe.ai/v1/systemone с Authorization: Bearer $TYPESAFE_API_KEY и Content-Type: application/json. Тело: state с сообщением об ошибке Stripe Connect, model jev-latest и questions.urgency типа noul с инструкцией «Передаёт ли это сообщение срочность?». Это пример быстрого старта. Без второго запроса добавьте Choice с именем department и критериями billing / technical / sales, а также Score с именем frustration и упорядоченными уровнями.
Если что-то не работает, прочтите jaggedness, прежде чем дополнять инструкции пояснениями. Для буквального анализа точное условие должно быть указано в инструкциях и критериях. Подсчёты следует выполнять в коде. Для генерации нужна другая модель. API всё равно вернёт типизированные данные, если попросить Jev написать абзац через цепочку Choice, но результат будет медленным и некачественным. Создайте варианты с помощью регулярного выражения или генеративной модели, а выбор поручите Jev.
В каталоге Cloudflare Workers AI модель указана как typesafe/jev. Это сторонняя публикация, а не замена api.typesafe.ai. В Steam нет приложения Jev. Храните ключи в консоли TypeSafe, а SDK сообщества из списка Awesome Jev считайте неофициальными, если они не отслеживают организацию github.com/typesafe-ai.
Ошибки, повторы и идентификаторы
Документированный ответ при превышении лимита токенов в секунду или запросов в минуту — 429 Too Many Requests. Соблюдайте retry-after. Официальные SDK уже используют нарастающую задержку. Если работаете с HTTP напрямую, не атакуйте эндпоинт повторными запросами после 429: лимитное окно останется прежним.
Идентификаторы вопросов нужны для трассировки и никогда не участвуют в инференсе. Можно в цикле создать item_0 — item_n и всё равно получить по одному Noul для каждого. Ключи внутри запроса должны быть уникальными. При повторном использовании ключа вопрос в словаре будет молча перезаписан.
Для авторизации используется API-ключ Bearer TypeSafe из панели управления. На api.typesafe.ai нет сеанса по cookie. Меняйте ключи в консоли, а не через письмо в эту вики. Авторизация в песочнице работает отдельно: это браузерная консоль, а не альтернативный HTTP API.
Один раз скопируйте curl из быстрого старта, а затем удалите его из репозитория и перейдите на SDK. SDK отвечает за повторные запросы и типизированные конструкторы. Чистый HTTP предназначен для языков без официального клиента. В обоих случаях ключ Bearer и одно и то же тело JSON отправляются на POST /v1/systemone.
GET /v1/models выводит псевдонимы, доступные вашей учётной записи. В списке может не быть jev-1.13.0, даже если этот идентификатор работает в POST /v1/systemone. Не считайте список перечнем разрешённых версионных идентификаторов. Это каталог псевдонимов; версионный идентификатор храните в собственной конфигурации.
Никогда не добавляйте TYPESAFE_API_KEY в репозиторий. При утечке смените его в панели управления. contact@jevai.wiki не занимается утечками секретов — обращайтесь по официальным каналам TypeSafe.
Документированные минимальные версии — Python 3.10 и Node.js 20. Более старые среды официальными клиентами не поддерживаются.
Источники