Цены Span-01 Lite (free) в рублях
| Тип операции | Стоимость |
|---|---|
|
Вход
За 1 млн токенов
Тарифицируются входные токены — текст вопросов и оцениваемое состояние (state). Выход модели структурированный (answers), в токенах не тарифицируется.
|
0 ₽ |
Возможности Span-01 Lite (free)
Span-01 Lite — это бесплатная, облегченная версия Span-01, модели оценки поведения от Respan. Она возвращает, для каждого определенного вами поведения на простом языке, вероятность того, что это поведение присутствует в отрезке разговора, и подходит для оценки и мониторинга больших объемов данных, где стоимость важнее максимальной точности.
Характеристики Span-01 Lite (free)
Модальности
- Вход
- Текст
- Выход
- Решения
API Span-01 Lite (free): подключение и примеры кода
/api/v1/decisions
. Работают и официальные SDK TypeSafe: укажите наш
base_url
и ключ из личного кабинета.
# pip install typesafe-sdk
from typesafe_sdk import Choice, Noul, Score, TypeSafeClient
client = TypeSafeClient(
base_url="https://routerai.ru/api",
api_key="YOUR_API_KEY",
model="respan/span-01-lite",
)
response = client.system_one(
state="Здравствуйте! Третий день не могу подключить оплату на сайте — платежи клиентов не проходят, мы теряем заказы. Помогите, пожалуйста, срочно.",
questions={
"is_urgent": Noul(instructions="Клиент сообщает о срочной проблеме?"),
"department": Choice(
instructions="Какая команда должна заняться обращением?",
criteria={
"billing": "Платежи, счета, возвраты, подписки",
"technical": "Ошибки, сбои, интеграции, настройка",
"sales": "Тарифы, покупка, вопросы до оплаты",
},
),
"frustration": Score(
instructions="Насколько раздражён клиент?",
criteria=[
"Спокоен, просто описывает ситуацию",
"Раздражён, но вежлив",
"Очень зол, резкие выражения",
],
),
},
)
print(response.answers["is_urgent"].noul) # 0.98
print(response.answers["department"].choice) # "billing"
print(response.answers["frustration"].score) # 0.88
// npm install @typesafe-ai/sdk
import { TypeSafeClient, choice, noul, score } from '@typesafe-ai/sdk';
const client = new TypeSafeClient({
baseURL: 'https://routerai.ru/api',
apiKey: 'YOUR_API_KEY',
defaultModel: 'respan/span-01-lite',
});
const response = await client.systemOne({
state:
'Здравствуйте! Третий день не могу подключить оплату на сайте — платежи клиентов не проходят, мы теряем заказы. Помогите, пожалуйста, срочно.',
questions: {
is_urgent: noul('Клиент сообщает о срочной проблеме?'),
department: choice('Какая команда должна заняться обращением?', {
billing: 'Платежи, счета, возвраты, подписки',
technical: 'Ошибки, сбои, интеграции, настройка',
sales: 'Тарифы, покупка, вопросы до оплаты',
}),
frustration: score('Насколько раздражён клиент?', [
'Спокоен, просто описывает ситуацию',
'Раздражён, но вежлив',
'Очень зол, резкие выражения',
]),
},
});
console.log(response.answers.is_urgent.noul); // 0.98
console.log(response.answers.department.choice); // "billing"
console.log(response.answers.frustration.score); // 0.88
import requests
import json
url = "https://routerai.ru/api/v1/decisions"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
data = {
"model": "respan/span-01-lite",
# Вопросы к состоянию: имя → определение. Ответы придут под теми же именами.
"questions": {
"is_urgent": {
"type": "noul", # булев ответ: вероятность «да» от 0 до 1
"instructions": "Требует ли обращение немедленной реакции дежурного?",
"criteria": {
"true": "Сервис недоступен или клиент теряет деньги прямо сейчас",
"false": "Вопрос можно разобрать в общей очереди поддержки"
}
},
"team": {
"type": "choice", # выбор одного варианта + probabilities по всем
"instructions": "На какую команду направить обращение?",
"criteria": {
"billing": "Оплата, счета, возвраты, тарифы",
"technical": "Ошибки API, интеграция, доступность сервиса",
"other": "Всё остальное"
}
},
"severity": {
"type": "score", # оценка по шкале: ответ — индекс в этом списке
"instructions": "Насколько сильно это влияет на работу клиента?",
"criteria": [
"Влияния нет, вопрос информационный",
"Частичное неудобство, есть обходной путь",
"Работа клиента заблокирована полностью"
]
}
},
# state — то, что оцениваем: строка, объект или массив.
"state": {
"ticket": "С 10:40 все запросы к API возвращают 500. Оплата прошла вчера.",
"plan": "enterprise"
}
}
response = requests.post(url, headers=headers, json=data)
result = response.json()
print(json.dumps(result, indent=2, ensure_ascii=False))
# result["answers"]["team"]["choice"] → "technical"
# result["answers"]["is_urgent"]["noul"] → 0.96
# result["answers"]["severity"]["score"] → 1.99
# 2) Пакетная оценка списка одним запросом: вопросов может быть сколько угодно,
# они оцениваются параллельно, но каждый вопрос даёт ровно один ответ —
# поэтому на каждый элемент списка нужен свой вопрос. Общие правила кладём
# в state один раз, а сам элемент дублируем в тексте вопроса: ссылка только
# по индексу (items[3]) разрешается неточно, и соседние элементы «протекают».
comments = {
"c1": "Отличный сервис, заказ пришёл за два дня, рекомендую!",
"c2": "Заработок от 5000 ₽ в день без вложений, пишите в личку",
"c3": "Подскажите, где найти инструкцию по настройке?"
}
questions = {}
for comment_id, text in comments.items():
questions[f"comment_{comment_id}"] = {
"type": "noul",
"instructions": f"Является ли комментарий comments.{comment_id} = «{text}» спамом по правилам из policy?",
"criteria": {
"true": "Реклама, обещание заработка, контакты или ссылка на сторонний ресурс",
"false": "Отзыв, вопрос или обсуждение по теме"
}
}
data = {
"model": "respan/span-01-lite",
"questions": questions,
"state": {
# Правила — один раз на весь пакет
"policy": "Комментарии к статьям сайта. Спам — реклама товаров и услуг, обещания заработка, приглашения писать в личные сообщения или мессенджеры, телефоны и ссылки на сторонние ресурсы. Не спам — отзывы, вопросы и обсуждение по теме статьи.",
"comments": comments
}
}
response = requests.post(url, headers=headers, json=data)
result = response.json()
for comment_id, text in comments.items():
probability = result["answers"][f"comment_{comment_id}"]["noul"]
print(text[:30], "спам" if probability >= 0.7 else "ок", probability)
# c1 ок 0.03 / c2 спам 0.99 / c3 ок 0.03
# Порог выбирайте сами; значения между 0.3 и 0.7 удобно отправлять на ручную проверку.
# Нужна причина — замените noul на choice с вариантами ok / ad / scam.
# 50 элементов — около 13 тысяч входных токенов, ответ меньше секунды.
# Подробнее: https://routerai.ru/docs/guides/overview/decisions/recipes
curl -X POST "https://routerai.ru/api/v1/decisions" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "respan/span-01-lite",
"questions": {
"is_urgent": {
"type": "noul",
"instructions": "Требует ли обращение немедленной реакции дежурного?",
"criteria": {
"true": "Сервис недоступен или клиент теряет деньги прямо сейчас",
"false": "Вопрос можно разобрать в общей очереди поддержки"
}
},
"team": {
"type": "choice",
"instructions": "На какую команду направить обращение?",
"criteria": {
"billing": "Оплата, счета, возвраты, тарифы",
"technical": "Ошибки API, интеграция, доступность сервиса",
"other": "Всё остальное"
}
},
"severity": {
"type": "score",
"instructions": "Насколько сильно это влияет на работу клиента?",
"criteria": [
"Влияния нет, вопрос информационный",
"Частичное неудобство, есть обходной путь",
"Работа клиента заблокирована полностью"
]
}
},
"state": {
"ticket": "С 10:40 все запросы к API возвращают 500. Оплата прошла вчера.",
"plan": "enterprise"
}
}'
# 2) Пакетная оценка списка одним запросом: каждый вопрос даёт ровно один ответ,
# поэтому на каждый элемент — свой вопрос (comment_<id>). Правила — один раз в state,
# сам элемент дублируем в тексте вопроса: ссылка только по индексу (items[3])
# разрешается неточно, соседние элементы «протекают». Ответы придут под теми же
# ключами: answers.comment_c1.noul → 0.03, answers.comment_c2.noul → 0.99.
# Подробнее: https://routerai.ru/docs/guides/overview/decisions/recipes
curl -X POST "https://routerai.ru/api/v1/decisions" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "respan/span-01-lite",
"questions": {
"comment_c1": {
"type": "noul",
"instructions": "Является ли комментарий comments.c1 = «Отличный сервис, заказ пришёл за два дня, рекомендую!» спамом по правилам из policy?",
"criteria": {
"true": "Реклама, обещание заработка, контакты или ссылка на сторонний ресурс",
"false": "Отзыв, вопрос или обсуждение по теме"
}
},
"comment_c2": {
"type": "noul",
"instructions": "Является ли комментарий comments.c2 = «Заработок от 5000 ₽ в день без вложений, пишите в личку» спамом по правилам из policy?",
"criteria": {
"true": "Реклама, обещание заработка, контакты или ссылка на сторонний ресурс",
"false": "Отзыв, вопрос или обсуждение по теме"
}
}
},
"state": {
"policy": "Комментарии к статьям сайта. Спам — реклама товаров и услуг, обещания заработка, приглашения писать в личные сообщения или мессенджеры, телефоны и ссылки на сторонние ресурсы. Не спам — отзывы, вопросы и обсуждение по теме статьи.",
"comments": {
"c1": "Отличный сервис, заказ пришёл за два дня, рекомендую!",
"c2": "Заработок от 5000 ₽ в день без вложений, пишите в личку"
}
}
}'
Эндпоинт API для Span-01 Lite (free)
Decisions
Возвращает структурированные ответы на заданные вопросы (булев, выбор из вариантов, оценка по шкале) вместо свободного текста. Как формулировать вопросы, рецепты и подключение официального SDK TypeSafe — в гайде «Решения (Jev)» в документации.
- Authorization
- Bearer YOUR_API_KEY
- Content-Type
- application/json
- Model
- respan/span-01-lite
Частые вопросы о Span-01 Lite (free)
Работает ли Span-01 Lite (free) из России без VPN?
Да. Прямой доступ через API RouterAI — без VPN, прокси и зарубежных карт, оплата в рублях.
Сколько стоит Span-01 Lite (free)?
Вход — 0 ₽ за 1 млн токенов. Списывается только фактическое использование, без подписки.
Что с данными в запросах к Span-01 Lite (free)?
Содержимое запросов RouterAI передаёт только провайдеру модели для обработки и не использует для обучения моделей. Email, телефон и платёжные данные провайдерам не передаются, учётные данные хранятся на серверах в России. Политика конфиденциальности
Чем RouterAI отличается от сервиса Respan?
Один ключ и единый баланс в рублях для всех моделей каталога, API в формате OpenAI.
Попробуйте Span-01 Lite (free)
По API — доступ из России за пару минут, оплата в рублях.
Подключить по API