Если вдруг вы сейчас строите сложную хрень с LLM, где под сложной я имею в виду кластеризацию на хотя бы 3+ домена – не тратьте время на велосипедостроение роутера тупо на completions api или любой другой модели чисто на промптах и structured outputs.
Это можно заставить полу-вменяемо работать, Н-н-но
Меня последние три рабочих днях не покидало ощущение что я делаю опасно недерминированную ерунду, которую потом все равно придется менять на какой нибудь классификатор.
Вот вам хороший пример игнорирования Дребезга (разбираем в материалах по ШСМ)
Вместо того чтобы "на потом", надо было хоть немного поискать решение.
Вот например – бери и юзай на эмбеддингах:
https://github.com/aurelio-labs/semantic-router
Вполне себе минималистичный интерфейс. Можно ходить в Cohere или OpenAI api за эмбедингамми и сравнениями, можно прикрутить локальный мистрал, это сами решайте.
В этой же либе есть dynamic router, но это обычный function calling, внимания вроде бы вообще не стоит (Юзайте PydanticAI ок?)
Вот вам в догонку еще дядьку Фаулера почитать, если изголодались по нормальному инженерному контенту про AI системы. Не одним же Блогом Антропика кормиться :)
https://martinfowler.com/articles/gen-ai-patterns/
Post #244
114

- 🌭 1