Недавно мы добавили поиск записей в Sapling RCM, наше приложение для выставления счетов за медицинские услуги. Вы нажимаете ⌘K, вводите что-то, нажимаете Enter и получаете результаты. Запросом может быть название клиники, имя пациента, номер претензии, идентификатор платежа или что-то еще. Результаты могут...
Недавно мы добавили поиск записей в Sapling RCM, наше приложение для выставления счетов за медицинские услуги. Вы нажимаете ⌘K, вводите что-то, нажимаете Enter и получаете результаты. Запросом может быть название клиники, имя пациента, номер претензии, идентификатор платежа или что-то еще. Результаты могут быть получены из восьми разных таблиц.
Имена размыты.
Прежде чем попасть в базу данных, мы прогоняем искомый текст через небольшую модель. Его задача — выяснить, какой текст ввел пользователь, чтобы мы могли искать только в тех таблицах, которые имеют смысл.
Я попробовал для этого две модели: Jev и Gemini 3.5 Flash-Lite. Затем я измерил их сравнение по скорости, стоимости и пропущенным результатам.
Вот что делает роутер, как я его тестировал и что обнаружил.
ТЛ;ДР
Средний вызов Джева по маршрутизации занял 466 мс. Близнецам потребовалось 900 мс.
Jev был примерно в 7 раз дешевле: примерно 23 доллара за миллион поисков против 170 долларов.
Джев пропустил результаты в 3 из 27 поисков. Близнецы промахнулись 6 из 30.
Спрашивайте, что это за текст, а не в какой таблице искать.
Один из способов добиться этого — задать модели вопрос: «В каких таблицах мне следует выполнять поиск?»
Мы этого не делаем.
Вместо этого мы спрашиваем модель, какой текст ввел пользователь, а затем сопоставляем его с таблицами в нашем собственном коде.
Например:
Вид текста
Пример
Таблицы, которые мы ищем
имя человека
