Проверяю Jev на реальном проекте
Я в понедельник слушал подкаст Radio-T, где обсуждали интересный классификатор Jev от компании TypeSafe.
Вместо обычного LLM-запроса ему можно задать несколько вопросов:
- есть ли в тексте конкретное событие;
- это анонс или отчёт о прошедшем;
- есть ли будущее событие;
- проходит ли оно в нужном регионе.
На выходе получаются вероятности yes / no / unknown.
При этом Jev достаточно быстрый и дешёвый. И, кстати, работает из России без костылей вроде VPN или proxy.
У меня как раз есть проект по фильтрации постов из социальных сетей — где ещё лучше проверять такой классификатор? Получается такая схема: собираем посты, сначала прогоняем их через Jev, а оставшиеся отправляем в LLM, которая уже фильтрует их и извлекает нужную информацию.
Чтобы понять, насколько хорошо Jev справится с этой задачей, я прогнал через него исторические посты. Кандидаты, которых он предлагал отфильтровать по достаточно строгим правилам, после ручной проверки оказались действительно мусором. Результат получился даже лучше, чем я ожидал от своего промпта к OpenAI.
Всё, включаем в прод? Пока рано.
Сейчас я на две недели запустил теневой фильтр: Jev обрабатывает настоящие посты, но его решения пока ни на что не влияют. Все записи всё равно идут дальше по старой схеме.
И дело не только в том, чтобы проверить качество фильтрации. Интересно ещё, не начнут ли подвисать запросы к API, будут ли попадаться тексты, которые не влезают в контекстное окно, как поведут себя таймауты и прочие вещи, которые на тестовой выборке не особенно заметны.
Всё это сначала хочется увидеть на настоящем потоке, а уже потом давать Jev право действительно что-то отбрасывать.
Получается довольно забавный способ внедрения оптимизации: сначала на две недели запускаем дополнительную модель, платим немного больше и не экономим вообще ничего.
Зато потом узнаем, действительно ли можно вызывать дорогую модель примерно на треть реже.