Repolode
aurelio-labs

aurelio-labs/semantic-router

Una capa de decisión para LLM y agentes que enruta solicitudes por similitud semántica o con un modelo de decisión pequeño y devuelve una confianza calibrada.

Estrellas
3,962
Forks
382
Issues abiertos
138
Último commit
hace 9 horas

¿Qué es?

Semantic Router decide a qué ruta corresponde una solicitud del usuario sin esperar a que un LLM termine de generarla. Cada ruta se define con ejemplos de frases; las consultas entrantes se convierten en embeddings y se comparan con esos ejemplos en el espacio vectorial, por lo que la decisión tarda milisegundos. Como alternativa, DecisionRouter pide a un modelo de decisión pequeño (Jev, Laya o Von) que elija la ruta aplicable en una sola llamada.

Las puntuaciones de confianza se pueden calibrar con fit() para convertirlas en probabilidades, y un umbral de confianza permite que el router devuelva None cuando no corresponde ninguna ruta. Los routers se pueden combinar con Chain, que recurre a un router más lento cuando no tiene suficiente certeza, y con Merge, que promedia varios routers. También se admiten búsqueda híbrida mediante un codificador sparse, índices de Pinecone, Qdrant o Postgres y rutas multimodales basadas en imágenes, con codificadores de OpenAI, Cohere, Hugging Face y FastEmbed para usarlo todo de forma local.

Funciones clave

  • 01Enruta solicitudes por similitud semántica mediante ejemplos de frases y embeddings vectoriales.
  • 02Ofrece DecisionRouter, basado en modelos de decisión pequeños, para seleccionar una ruta en una sola llamada.
  • 03Calibra las puntuaciones de confianza como probabilidades con fit() y un umbral de confianza.
  • 04Combina routers con Chain para recurrir a otra opción y con Merge para promediarlos.
  • 05Admite búsqueda híbrida, varios almacenes vectoriales y rutas multimodales basadas en imágenes.
  • 06Funciona completamente de forma local con FastEmbed, sin claves de API.

Casos de uso

  • Decidir qué herramienta o agente debe invocar un chatbot antes de llamar a un LLM.
  • Filtrar consultas fuera de tema o sensibles en un asistente de atención al cliente.
  • Crear una clasificación de intenciones de baja latencia para líneas de atención telefónica o flujos de triaje.
  • Enrutar mensajes de usuarios a distintos prompts o pipelines según el tema.

Inicio rápido

  1. 1

    Instala Semantic Router con el codificador FastEmbed local

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

    Define las rutas, crea un codificador FastEmbed y construye un IndexedRouter; después, llámalo con una consulta

Antes de usarlo

  • La calidad del enrutamiento depende de las frases de ejemplo que escribas y de ajustar los umbrales con datos etiquetados.
  • Algunas funciones (OpenAI, Cohere, Pinecone y otras) requieren claves de API o servicios externos.

Temas

Preguntas frecuentes

¿Qué es semantic-router?
Una capa de decisión para LLM y agentes que enruta solicitudes por similitud semántica o con un modelo de decisión pequeño y devuelve una confianza calibrada. Semantic Router decide a qué ruta corresponde una solicitud del usuario sin esperar a que un LLM termine de generarla. Cada ruta se define con ejemplos de frases; las consultas entrantes se convierten en embeddings y se comparan con esos ejemplos en el espacio vectorial, por lo que la decisión tarda milisegundos. Como alternativa, DecisionRouter pide a un modelo de decisión pequeño (Jev, Laya o Von) que elija la ruta aplicable en una sola llamada.
¿semantic-router es gratuito? ¿Qué licencia tiene?
semantic-router es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿semantic-router sigue mantenido?
Mantenimiento activo. El último commit de semantic-router fue el 21 oct 2026.
¿Para qué puedo usar semantic-router?
Decidir qué herramienta o agente debe invocar un chatbot antes de llamar a un LLM. Filtrar consultas fuera de tema o sensibles en un asistente de atención al cliente. Crear una clasificación de intenciones de baja latencia para líneas de atención telefónica o flujos de triaje. Enrutar mensajes de usuarios a distintos prompts o pipelines según el tema.
¿Cómo se instala semantic-router?
Instala Semantic Router con el codificador FastEmbed local: pip install -qU "semantic-router[fastembed]" Define las rutas, crea un codificador FastEmbed y construye un IndexedRouter; después, llámalo con una consulta
¿Dónde consigo semantic-router?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/aurelio-labs/semantic-router

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados