Repolode
aurelio-labs

aurelio-labs/semantic-router

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

Звёзды
3,962
Форки
382
Открытые issues
138
Последний коммит
9 часов назад

Что это?

Semantic Router определяет, к какому маршруту относится запрос пользователя, не дожидаясь полной генерации ответа LLM. Для каждого маршрута задаются примеры фраз; входящие запросы преобразуются в эмбеддинги и сравниваются с ними в векторном пространстве, поэтому решение принимается за миллисекунды. Также можно использовать DecisionRouter: он одним вызовом просит небольшую модель принятия решений (Jev, Laya или Von) выбрать подходящий маршрут.

С помощью fit() оценки уверенности можно откалибровать и преобразовать в вероятности, а порог уверенности позволяет маршрутизатору вернуть None, если ни один маршрут не подходит. Маршрутизаторы можно объединять с помощью Chain, который при неуверенности переключается на более медленный маршрутизатор, и Merge, который усредняет результаты нескольких маршрутизаторов. Также поддерживаются гибридный поиск с разреженным энкодером, индексы Pinecone, Qdrant и Postgres, а также мультимодальные маршруты для изображений. Доступны энкодеры OpenAI, Cohere, Hugging Face и FastEmbed для полностью локального использования.

Ключевые возможности

  • 01Маршрутизирует запросы по семантическому сходству, используя примеры фраз и векторные эмбеддинги.
  • 02Предоставляет DecisionRouter на основе небольших моделей принятия решений, которые выбирают маршрут одним вызовом.
  • 03Преобразует оценки уверенности в вероятности с помощью fit() и порога уверенности.
  • 04Объединяет маршрутизаторы: Chain обеспечивает переключение на запасной вариант, а Merge усредняет результаты.
  • 05Поддерживает гибридный поиск, различные векторные хранилища и мультимодальные маршруты для изображений.
  • 06Работает полностью локально с FastEmbed, без API-ключей.

Сценарии использования

  • Выбирать инструмент или агента, которого чат-бот должен вызвать перед обращением к LLM.
  • Отфильтровывать не относящиеся к теме или чувствительные запросы в ассистенте службы поддержки.
  • Создавать низколатентную классификацию намерений для горячих линий или процессов первичной сортировки обращений.
  • Направлять сообщения пользователей в разные промпты или пайплайны в зависимости от темы.

Быстрый старт

  1. 1

    Установите Semantic Router с локальным кодировщиком FastEmbed

    pip install -qU "semantic-router[fastembed]"
  2. 2

    Определите маршруты, создайте кодировщик FastEmbed и соберите IndexedRouter, затем вызовите его для запроса

Что важно знать

  • Качество маршрутизации зависит от написанных вами примеров высказываний и настройки порогов на размеченных данных.
  • Для некоторых функций (OpenAI, Cohere, Pinecone и других) нужны ключи API или внешние сервисы.

Темы

Частые вопросы

Что такое semantic-router?
Слой принятия решений для LLM и агентов: маршрутизирует запросы по семантическому сходству или с помощью небольшой модели и возвращает откалиброванную оценку уверенности. Semantic Router определяет, к какому маршруту относится запрос пользователя, не дожидаясь полной генерации ответа LLM. Для каждого маршрута задаются примеры фраз; входящие запросы преобразуются в эмбеддинги и сравниваются с ними в векторном пространстве, поэтому решение принимается за миллисекунды. Также можно использовать DecisionRouter: он одним вызовом просит небольшую модель принятия решений (Jev, Laya или Von) выбрать подходящий маршрут.
semantic-router можно использовать бесплатно? Какая у него лицензия?
semantic-router распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
semantic-router всё ещё поддерживается?
Активно поддерживается. Последний коммит в semantic-router — 21 окт. 2026 г..
Для чего можно использовать semantic-router?
Выбирать инструмент или агента, которого чат-бот должен вызвать перед обращением к LLM. Отфильтровывать не относящиеся к теме или чувствительные запросы в ассистенте службы поддержки. Создавать низколатентную классификацию намерений для горячих линий или процессов первичной сортировки обращений. Направлять сообщения пользователей в разные промпты или пайплайны в зависимости от темы.
Как установить semantic-router?
Установите Semantic Router с локальным кодировщиком FastEmbed: pip install -qU "semantic-router[fastembed]" Определите маршруты, создайте кодировщик FastEmbed и соберите IndexedRouter, затем вызовите его для запроса
Где скачать semantic-router?
Исходный код и инструкции по установке — на GitHub: https://github.com/aurelio-labs/semantic-router

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

AutoGPT — платформа с открытым исходным кодом для создания, запуска и планирования AI-агентов, выполняющих многоэтапные рабочие процессы по текстовому описанию или с помощью визуального конструктора.

187,7 тыс.45,9 тыс.PythonOtherОбновлён 20 часов назад