A maioria dos principais provedores de modelos de linguagem grandes (LLM) oferece serviços via HTTP. O Service Mesh (ASM) otimiza o processamento de requisições de LLM sobre HTTP e inclui suporte nativo a protocolos de vários provedores importantes. Use o ASM para rotear o tráfego de LLM entre provedores e monitorar métricas no nível da requisição, como o uso de tokens.
Visão geral dos recursos
Roteamento de tráfego
Para registrar um serviço HTTP externo em um cluster de service mesh, configure um ServiceEntry e defina regras de roteamento com um VirtualService. Em seguida, chame esse serviço por meio de um gateway ou de um pod de aplicação. Sem esse registro, os recursos de gerenciamento de tráfego e observabilidade do service mesh ficam indisponíveis.
No entanto, um ServiceEntry nativo processa apenas tráfego TCP e HTTP convencional. Requisições de LLM incluem parâmetros avançados que estendem o protocolo HTTP, algo que um ServiceEntry padrão não suporta. O ASM introduz dois novos recursos para resolver essa limitação:
LLMProvider: Equivalente ao ServiceEntry para HTTP. Use um LLMProvider para registrar um provedor de serviços de LLM externo no cluster e configurar seu host, chave de API e parâmetros do modelo.
LLMRoute: Equivalente ao VirtualService para HTTP. Use um LLMRoute para definir regras de tráfego que distribuam requisições para LLMProviders específicos com base em pesos ou condições de correspondência.
Com base nas configurações de LLMRoute e LLMProvider, o ASM seleciona dinamicamente um destino de roteamento, aplica parâmetros de requisição pré-configurados e encaminha a requisição ao provedor de destino. Isso permite alternar configurações de provedores, escolher modelos conforme as características da requisição e executar mudanças graduais de tráfego (canary) entre provedores, o que reduz significativamente a complexidade de integrar LLMs ao cluster. Os dois cenários a seguir ilustram o gerenciamento de tráfego de LLM com LLMRoute e LLMProvider.
Configurar um LLMRoute para usar modelos diferentes por tipo de usuário
O Alibaba Cloud Model Studio disponibiliza dois modelos: qwen-1,8b-chat e qwen-turbo. Configure um LLMRoute para direcionar usuários regulares ao modelo padrão qwen-1,8b-chat e usuários assinantes ao modelo mais potente qwen-turbo. As requisições de usuários assinantes contêm um cabeçalho especial que identifica seu status.
Configurar um LLMProvider e um LLMRoute para distribuir tráfego por peso
Este cenário combina os serviços de modelo de linguagem do Alibaba Cloud Model Studio e do Moonshot. Configure um LLMRoute e um LLMProvider para distribuir o tráfego entre os provedores com base em pesos.
O demo-llm-server é um serviço comum no cluster e não corresponde a nenhum endpoint.
Observabilidade de tráfego
Além do roteamento de requisições de LLM, o ASM oferece observabilidade aprimorada para cenários de LLM. Dados observáveis precisos e claros permitem que as equipes de operações e desenvolvedores monitorem a integridade do serviço e respondam rapidamente a incidentes.
A observabilidade do service mesh inclui três componentes principais:
Logs de acesso
Métricas de monitoramento
Tracing Analysis
Como as requisições de LLM utilizam HTTP, elas são diretamente compatíveis com o recurso existente de Tracing Analysis. Contudo, os recursos padrão de logs de acesso e métricas de monitoramento não incluem detalhes específicos de LLM. Por exemplo, os logs de acesso não registram o modelo utilizado na requisição, e as métricas de monitoramento refletem apenas informações HTTP padrão. O ASM aprimora esses recursos de duas formas:
Logs de acesso: Use o recurso de formato personalizado de log de acesso para incluir informações específicas de LLM nos logs.
-
Métricas de monitoramento:
O ASM adiciona duas métricas de monitoramento que exibem a quantidade de tokens de entrada (prompt tokens) e tokens de saída (completion tokens) por requisição.
Informações específicas de LLM são adicionadas como dimensão de métrica, permitindo sua referência nas métricas padrão do Istio.
Visão geral dos cenários
A integração de LLMs com o ASM habilita recursos de releases canary, roteamento ponderado e observabilidade. Essa abordagem desacopla as aplicações dos provedores de LLM, aumentando a robustez e a manutenibilidade da cadeia de chamadas. Os cenários abaixo abordam o roteamento de tráfego de LLM e a configuração de observabilidade.