Веб разработка
Today

Проверяю Jev на реальном проекте

Я в понедельник слушал подкаст Radio-T, где обсуждали интересный классификатор Jev от компании TypeSafe.

Вместо обычного LLM-запроса ему можно задать несколько вопросов:

  • есть ли в тексте конкретное событие;
  • это анонс или отчёт о прошедшем;
  • есть ли будущее событие;
  • проходит ли оно в нужном регионе.

На выходе получаются вероятности yes / no / unknown.

При этом Jev достаточно быстрый и дешёвый. И, кстати, работает из России без костылей вроде VPN или proxy.

У меня как раз есть проект по фильтрации постов из социальных сетей — где ещё лучше проверять такой классификатор? Получается такая схема: собираем посты, сначала прогоняем их через Jev, а оставшиеся отправляем в LLM, которая уже фильтрует их и извлекает нужную информацию.

Чтобы понять, насколько хорошо Jev справится с этой задачей, я прогнал через него исторические посты. Кандидаты, которых он предлагал отфильтровать по достаточно строгим правилам, после ручной проверки оказались действительно мусором. Результат получился даже лучше, чем я ожидал от своего промпта к OpenAI.

Всё, включаем в прод? Пока рано.

Сейчас я на две недели запустил теневой фильтр: Jev обрабатывает настоящие посты, но его решения пока ни на что не влияют. Все записи всё равно идут дальше по старой схеме.

И дело не только в том, чтобы проверить качество фильтрации. Интересно ещё, не начнут ли подвисать запросы к API, будут ли попадаться тексты, которые не влезают в контекстное окно, как поведут себя таймауты и прочие вещи, которые на тестовой выборке не особенно заметны.

Всё это сначала хочется увидеть на настоящем потоке, а уже потом давать Jev право действительно что-то отбрасывать.

Получается довольно забавный способ внедрения оптимизации: сначала на две недели запускаем дополнительную модель, платим немного больше и не экономим вообще ничего.

Зато потом узнаем, действительно ли можно вызывать дорогую модель примерно на треть реже.