FAIRouter на NuGet: C#-маршрутизатор ИИ-моделей
Open source-библиотека FAIRouter для C# теперь доступна на NuGet, и её можно подключить без сборки из исходников. Инструмент помогает выбирать языковую модель под задачу, оценивать ответ и улучшать выбор на основе отзывов.
Что делает FAIRouter
FAIRouter нужен для ситуаций, когда у вас есть несколько моделей с разной ценой, скоростью и качеством, а заранее не хочется угадывать, какая лучше справится с конкретным запросом. Библиотека сама подбирает кандидата, а затем проверяет ответ и накапливает опыт на пользовательских оценках.
Проще говоря, это способ получать достаточно хороший результат быстрее и дешевле. Для разработчиков это удобно, если в одном проекте нужно балансировать между экономией, скоростью ответа и качеством текста или решения.
Как запустить пакет и отправить первый запрос
Авторы показали пример для .NET 10: создаётся консольный проект, после чего пакет ставится через NuGet. Для работы нужен ключ поставщика моделей, в статье использовался OpenRouter, а сам ключ предлагается хранить в переменной среды.
В самом простом варианте достаточно нескольких строк C#: инициализировать router, отправить запрос через AskAsync и вывести, какая модель победила и с каким баллом. Если список кандидатов не задавать вручную, библиотека выбирает из 54 популярных моделей, которые идут в комплекте пакета.
Отзывы, порог достаточности и работа с агентами
Самая полезная часть FAIRouter — обучение на обратной связи. Пользователь может поставить оценку от 0 до 1: например, 1 означает отличный результат, а низкое значение показывает слабый ответ. После этого веса сохраняются в базе, и при следующих похожих запросах маршрутизатор уже учитывает прошлый опыт.
Есть и готовые режимы поведения: Quality, Balance и Price, причём по умолчанию включён Balance. Ещё один удобный сценарий — задать порог достаточности, то есть минимальный уровень вероятности, что ответ устроит человека. Тогда среди подходящих моделей можно выбрать самую дешёвую и быструю. Кроме обычных моделей FAIRouter умеет выбирать и среди своих инструментов или агентов, если вы сами передадите кандидатов и функцию запуска. Это полезно, когда нужно сравнивать, например, разные способы поиска или разные внутренние сервисы в одном приложении.
Что важно знать перед использованием
Библиотека работает не только с OpenRouter: она поддерживает и любой сервер с совместимым протоколом OpenAI chat completions. Это значит, что её можно использовать и с собственной моделью, если вы укажете цену вручную и подберёте судью для проверки ответа.
В качестве судьи по умолчанию используется openai/gpt-4o-mini, но при необходимости модель можно заменить. У проекта есть лицензия Apache-2.0, код и документация лежат на GitHub, а для обсуждения проблем предусмотрен раздел issues. Если хочется глубже понять механику, авторы отдельно разобрали математику и обучение на отзывах.