Repolode
aurelio-labs

aurelio-labs/semantic-router

Uma camada de decisão para LLMs e agentes que roteia solicitações por similaridade semântica ou com um pequeno modelo de decisão, retornando uma confiança calibrada.

Estrelas
3,962
Forks
382
Issues abertas
138
Último commit
há 9 horas

O que é?

O Semantic Router decide a qual rota uma solicitação do usuário pertence sem esperar a geração completa de um LLM. Cada rota é definida por frases de exemplo; as consultas recebidas são transformadas em embeddings e comparadas a elas no espaço vetorial, então a decisão leva milissegundos. Como alternativa, um DecisionRouter pede a um pequeno modelo de decisão (Jev, Laya ou Von) que escolha a rota aplicável em uma única chamada.

As pontuações de confiança podem ser calibradas em probabilidades com fit(), e um limite de confiança permite que o roteador retorne None quando nenhuma rota for aplicável. Os roteadores podem ser combinados com Chain, que recorre a um roteador mais lento quando há incerteza, e Merge, que calcula a média de vários roteadores. Também há suporte a busca híbrida por meio de um encoder esparso, índices do Pinecone, Qdrant ou Postgres e rotas multimodais baseadas em imagens, além de encoders da OpenAI, Cohere, Hugging Face e FastEmbed para uso totalmente local.

Recursos principais

  • 01Roteia solicitações por similaridade semântica, usando frases de exemplo e embeddings vetoriais.
  • 02Oferece um DecisionRouter baseado em pequenos modelos de decisão para selecionar rotas em uma única chamada.
  • 03Calibra pontuações de confiança em probabilidades com fit() e um limite de confiança.
  • 04Combina roteadores com Chain para fallback e Merge para calcular médias.
  • 05Oferece suporte a busca híbrida, vários bancos vetoriais e rotas multimodais com imagens.
  • 06Funciona totalmente local com FastEmbed, sem chaves de API.

Casos de uso

  • Decidir qual ferramenta ou agente um chatbot deve acionar antes de chamar um LLM.
  • Filtrar consultas fora do assunto ou sensíveis em um assistente de suporte ao cliente.
  • Criar classificação de intenção com baixa latência para linhas de atendimento ou fluxos de triagem.
  • Direcionar mensagens de usuários para diferentes prompts ou pipelines com base no assunto.

Início rápido

  1. 1

    Instale o Semantic Router com o codificador FastEmbed local

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

    Defina as rotas, crie um codificador FastEmbed e monte um IndexedRouter; depois, chame-o com uma consulta

Antes de usar

  • A qualidade do roteamento depende das frases de exemplo que você escrever e do ajuste dos limites com dados rotulados.
  • Alguns recursos (OpenAI, Cohere, Pinecone e outros) precisam de chaves de API ou serviços externos.

Tópicos

Perguntas frequentes

O que é semantic-router?
Uma camada de decisão para LLMs e agentes que roteia solicitações por similaridade semântica ou com um pequeno modelo de decisão, retornando uma confiança calibrada. O Semantic Router decide a qual rota uma solicitação do usuário pertence sem esperar a geração completa de um LLM. Cada rota é definida por frases de exemplo; as consultas recebidas são transformadas em embeddings e comparadas a elas no espaço vetorial, então a decisão leva milissegundos. Como alternativa, um DecisionRouter pede a um pequeno modelo de decisão (Jev, Laya ou Von) que escolha a rota aplicável em uma única chamada.
semantic-router é gratuito? Qual é a licença?
semantic-router é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
semantic-router ainda é mantido?
Manutenção ativa. O último commit de semantic-router foi em 21 de out. de 2026.
Para que posso usar semantic-router?
Decidir qual ferramenta ou agente um chatbot deve acionar antes de chamar um LLM. Filtrar consultas fora do assunto ou sensíveis em um assistente de suporte ao cliente. Criar classificação de intenção com baixa latência para linhas de atendimento ou fluxos de triagem. Direcionar mensagens de usuários para diferentes prompts ou pipelines com base no assunto.
Como instalar semantic-router?
Instale o Semantic Router com o codificador FastEmbed local: pip install -qU "semantic-router[fastembed]" Defina as rotas, crie um codificador FastEmbed e monte um IndexedRouter; depois, chame-o com uma consulta
Onde consigo semantic-router?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/aurelio-labs/semantic-router

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados