Jev оценивает состояние JSON по именованным вопросам и возвращает ответы типов boolean, choice или score. Используйте его, когда приложению нужен машиночитаемый результат по заданным критериям.
Только для оценки и принятия решений
Jev не поддерживает чат. Отправляйте запросы Jev на POST /v1/evaluations; запрос к POST /v1/chat/completions вернёт HTTP 400.
POST/v1/evaluations
Вызовите эту конечную точку с ключом API BazaarLink. Полный URL: https://api.bazaarlink.ai/v1/evaluations.
Описание полей
model
string
Необязательное поле. Если его нет, используется typesafe-ai/jev. Другой ID модели возвращает HTTP 400 с кодом model_not_available.
state
string | object | array
Обязательное поле. Передайте оцениваемое состояние как JSON-строку, объект или массив. Если сериализованные state и questions превышают 32 000 tokens, возвращается context_length_exceeded.
questions
record<string, Question>
Обязательное непустое поле-объект с именованными вопросами. Имя каждого вопроса становится ключом в объекте answers ответа.
type
boolean | choice | score
Обязательное поле каждого вопроса: boolean, choice или score.
instructions
string | object | array
Обязательное поле каждого вопроса. JSON-строка, объект или массив с описанием того, что нужно определить.
criteria
object | array
Зависит от type: для boolean необязательно; если указано, это объект только с ключами true или false. Для choice нужен непустой объект, а для score — упорядоченный массив минимум из двух элементов.
Типы ответов
boolean — criteria можно не указывать; если оно задано, допустимы только ключи true и false. Ответ содержит числовое значение probability.
choice — criteria должен быть непустым объектом, сопоставляющим названия вариантов критериям JSON. Ответ содержит строковое значение choice; ключами probabilities служат названия вариантов.
score — criteria должен быть упорядоченным массивом как минимум из двух элементов. score — число и математическое ожидание индексов 0..N-1 в порядке массива criteria; ключами probabilities служат эти индексы в виде строк.
Примеры запросов
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
curl --fail-with-body https://api.bazaarlink.ai/v1/evaluations \
-H "Authorization: Bearer $BAZAARLINK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "typesafe-ai/jev",
"state": "The support agent issued a full refund and apologised for the delay.",
"questions": {
"refunded": {
"type": "boolean",
"instructions": "Was a refund issued?"
},
"tone": {
"type": "choice",
"instructions": "Tone of the agent?",
"criteria": {
"apologetic": "The agent apologises",
"neutral": "No emotional language",
"hostile": "The agent is rude"
}
},
"quality": {
"type": "score",
"instructions": "How complete was the resolution?",
"criteria": [
"poor",
"partial",
"complete"
]
}
}
}'
Пример успешного ответа
В примере ответа есть id, object, model, answers, usage, rounding и warnings. Ключи answers — названия вопросов. В usage указаны input_tokens, output_tokens и total_tokens; в rounding показаны probabilityDecimals и scoreDecimals. warnings — массив; в этом примере он пуст. Внутри answers ключами probabilities для choice служат названия вариантов, а для score — строковые индексы criteria.
Отправка Jev на чат-конечную точку возвращает HTTP 400. Показанные ниже поля и значения соответствуют обработчику; message заменено заполнителем, фактический текст возвращает сервер.