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 додає мапу критеріїв, де назві варіанта відповідає опис. 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
- defaultModel
- 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. Використовуйте клієнт так: with TypeSafeClient() as client: 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 однаково поверне типізовану відповідь, якщо через ланцюжок Choice попросити Jev написати абзац, але результат буде повільним і неякісним. Запропонуйте варіанти за допомогою регулярного виразу або генеративної моделі, а вибір доручіть 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. Старіші середовища офіційні клієнти не підтримують.
Джерела