Skip to content
Daniel Rezende edited this page Mar 12, 2025 · 1 revision

Bem vindo a wiki do módulo de RouterAi, aqui você encontrará as principais informações sobre esse projeto.

O que é RouterAi_module?

É uma API onde integra múltiplas APIs de IA e roteia requisições para oferecer o melhor serviço aos usuários.

Overview

Este projeto visa criar um módulo API capaz de direcionar dinamicamente as requisições para diferentes provedores de inteligência artificial – especificamente, Chatgpt, Gemini, Claude – com base em critérios de fallback, sendo eles custo, latência, disponibilidade e qualidade da resposta. A ideia central é garantir disponibilidade e tolerância a falhas, permitindo que o sistema se adapte a diferentes cenários de carga e variações na performance dos provedores.

O módulo proporciona uma solução robusta, simples e de fácil manutenção. A arquitetura proposta tem como foco oferecer um sistema de roteamento inteligente que beneficie tanto outros times de engenharia quanto sistemas internos, otimizando o uso dos recursos e melhorando a experiência dos usuários finais.

Portanto, este documento tem como objetivo oferecer uma visão clara do problema, das soluções consideradas e do plano de execução, para que todos possam entender e, se necessário, contribuir com feedback ou implementação.

Como medir custo, latência, disponibilidade e qualidade da resposta?

Custo

  • Monitorar o valor gasto por requisição ou por período, considerando o modelo de cobrança de cada provedor.
  • Permitir utilização de diferentes modelos como nvidia/prompt-task-and-complexity-classifier para classificação de respostas de acordo com o custo.

Latência

  • Fazer requisição ao mesmo tempo das apis, a primeira que responder, enviar ao usuário.

Disponibilidade

  • Implementar mecanismo de fallback para lidar com indisponibilidade temporária de provedores.
  • Permitir que o usuário escolha tiers de modelo, como fast, mid, reasoning e latency, para escolher o modelo mais adequado para a situação.
  • Realizar testes de stress e de falhas simuladas para validar a resiliência do sistema.
  • Monitorar a taxa de erros e quedas, definindo métricas que permitam identificar rapidamente falhas críticas e disparar alertas.

Qualidade da resposta