O Application Load Balancer (ALB) Extensible Edition permite integrar vários serviços de modelos de linguagem grande (LLM) por meio de um único endpoint. Ao configurar grupos de servidores AI Service e regras de encaminhamento baseadas nos nomes dos modelos no corpo das requisições, o ALB encaminha automaticamente as requisições para os serviços de IA de backend correspondentes, oferecendo um ponto de entrada unificado e simplificando a integração do cliente.
Cenário
Uma empresa que desenvolve aplicações de IA precisa chamar o modelo qwen-turbo do Alibaba Cloud Model Studio e o modelo deepseek-chat da DeepSeek. O ALB Extensible Edition fornece grupos de servidores AI Service que permitem aos clientes enviar requisições compatíveis com OpenAI para o ALB. Ao especificar o nome do modelo no corpo da requisição, as regras de encaminhamento do ALB direcionam as requisições para o serviço de LLM de backend correspondente. Essa abordagem cria um endpoint unificado, reduzindo a complexidade do negócio e os custos de manutenção.
Pré-requisitos
Você obteve acesso à prévia pública do ALB Extensible Edition.
Você criou uma Virtual Private Cloud (VPC) na região China (Ulanqab) com um vSwitch na Zona A e na Zona B, e os vSwitches têm SNAT público configurado (necessário para que os grupos de servidores AI Service chamem serviços públicos de LLM).
Você ativou o Alibaba Cloud Model Studio e a DeepSeek, e obteve chaves de API para ambos.
Você registrou um nome de domínio personalizado. Como este tutorial implanta a instância do ALB na região China (Ulanqab), o domínio deve ter concluído o arquivamento ICP.
Você preparou um certificado de servidor compatível com seu nome de domínio personalizado. Certificados adquiridos fora da Alibaba Cloud devem ser carregados no Alibaba Cloud SSL Certificate.
Procedimento
1. Criar uma instância do ALB Extensible Edition
Faça login no console do ALB, selecione a região China (Ulanqab) e clique em Create ALB.
-
Na página de compra, conclua as configurações a seguir e clique em Create Now.
Region: China (Ulanqab) vem selecionada por padrão.
Network Type: Selecione Internet.
VPC e Zone: Selecione a VPC desejada, marque Ulanqab Zone A e Ulanqab Zone B, escolha os vSwitches disponíveis e selecione Automatically assign EIP.
IP Version: Selecione IPv4.
Edition: Selecione Extensible.
Na página Confirm Order, verifique a configuração da instância e clique em Activate Now.
2. Criar grupos de servidores AI Service
Crie dois grupos de servidores AI Service para conectar-se ao Alibaba Cloud Model Studio e à DeepSeek, respectivamente.
Criar o grupo de servidores do Alibaba Cloud Model Studio
Na página Server Groups do console do ALB, clique em Create Server Group. Defina o Server Group Type como AI Service. Especifique um nome fácil de reconhecer. Este tutorial utiliza
sgp-ai-qwen.Clique em Create. Na caixa de diálogo The server group is created, clique em Add Backend Server.
-
No painel Add AI Service, conclua as configurações abaixo e clique em OK.
Model provider: Selecione Alibaba Cloud Model Studio.
Endpoint: Este campo é preenchido automaticamente após a seleção do Model provider.
API Key: Insira a chave de API do Alibaba Cloud Model Studio.
Criar o grupo de servidores da DeepSeek
Repita as etapas anteriores para criar um segundo grupo de servidores AI Service chamado
sgp-ai-deepseek.Ao Add Backend Server, defina o Model provider como DeepSeek, insira a chave de API da DeepSeek e clique em OK.
3. Criar um listener
No console do ALB, clique no ID da instância desejada para acessar a página Instance Details. Clique na aba Listener e em Create Listener.
Na etapa Configure Listener, defina o Listener Protocol como HTTPS e a Listener Port como
443. Em seguida, clique em Next.Na etapa Configure SSL Certificate, selecione o certificado de servidor correspondente ao seu nome de domínio personalizado e clique em Next.
-
Na etapa Select Server Group, selecione o tipo AI Service e o grupo de servidores Alibaba Cloud Model Studio denominado
sgp-ai-qwen. Depois, clique em Next.O grupo de servidores selecionado aqui serve para a regra padrão do listener. Essa regra processa requisições que não correspondem a nenhuma outra regra de encaminhamento. Ajuste as configurações conforme necessário.
Na etapa Configuration Review, verifique a configuração e clique em Submit.
4. Configurar regras de encaminhamento
As requisições são avaliadas pelas regras de encaminhamento em ordem crescente de prioridade. Quando uma requisição corresponde a uma regra, a ação associada é executada e nenhuma regra subsequente é verificada. Crie regras de encaminhamento com a condição AI Model para rotear as requisições ao serviço de IA de backend apropriado com base no nome do modelo presente no corpo da requisição.
Configurar a regra de encaminhamento do Alibaba Cloud Model Studio
Na aba Listener da página de detalhes da instância, clique no ID do listener desejado. Na página Listener Details, clique na aba Forwarding Rules.
-
Clique em Add New Rule, preencha as configurações a seguir e clique em OK.
Em Add Condition, selecione AI Model.
Model Name: Insira
qwen-turbo.Action: Forward To o grupo de servidores
sgp-ai-qwen.
Configurar a regra de encaminhamento da DeepSeek
Repita as etapas anteriores para adicionar uma segunda regra de encaminhamento.
Defina o Model Name como
deepseek-chate selecione Forward To o grupo de servidoressgp-ai-deepseek.
O parâmetro Model Name é opcional. A condição de encaminhamento AI Model corresponde a todas as requisições com caminhos/v1/completions,/v1/chat/completionsou/v1/embeddings, cujo conteúdo esteja em conformidade com o protocolo compatível com OpenAI. Caso você especifique um Model Name , o campomodelno corpo da requisição também deve corresponder ao nome do modelo especificado.
5. Configurar a resolução de DNS
Aponte seu nome de domínio personalizado para o nome DNS da instância do ALB usando um registro de nome canônico (CNAME). Os clientes acessam o ALB por meio do seu nome de domínio personalizado.
Este tutorial usa o Alibaba Cloud DNS como exemplo. Para nomes de domínio não registrados na Alibaba Cloud, você deve primeiro adicionar o nome de domínio ao console do Alibaba Cloud DNS.
No console do ALB, copie o Domain Name da instância desejada.
Faça login no console do Alibaba Cloud DNS. Na coluna Actions do nome de domínio desejado, clique em Settings. Na página Settings, clique em Add Record.
-
Adicione um registro CNAME com as informações a seguir e clique em OK.
Record Type: Selecione CNAME.
Hostname: Insira um prefixo de domínio, como
ai. Se o seu domínio raiz forexample.com, o domínio para acessar o ALB seráai.example.com.Query Source e TTL: Mantenha os valores padrão.
Record Value: Insira o nome DNS da instância do ALB.
Na caixa de diálogo Change Resource Record Confirmation, verifique as informações de DNS e clique em OK.
6. Verificar a configuração
Use comandos curl para verificar se as requisições estão sendo roteadas corretamente para os serviços de LLM correspondentes. Substitua
ai.example.compelo seu nome de domínio realmente configurado. Certifique-se de que a resolução de DNS entrou em vigor.As requisições do cliente devem estar em conformidade com o protocolo compatível com OpenAI. O caminho da requisição deve ser
/v1/completions,/v1/chat/completionsou/v1/embeddings, e o corpo da requisição deve conter um campomodel. As regras de encaminhamento roteiam as requisições com base no valor do campomodel.
Testar o Alibaba Cloud Model Studio (modelo qwen-turbo)
curl -v \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-turbo",
"messages": [
{
"role": "user",
"content": "Who are you"
}
]
}' \
https://ai.example.com/v1/chat/completions
Uma requisição bem-sucedida retorna uma resposta semelhante à seguinte. O campo model é qwen-turbo, e o campo content contém uma autoapresentação do Qwen, indicando que a requisição foi roteada corretamente para o Alibaba Cloud Model Studio.
{
"choices": [
{
"message": {
"role": "assistant",
"content": "I am Qwen, a large-scale language model developed by the Tongyi Lab of Alibaba Group. My Chinese name is Tongyi Qianwen, and my English name is Qwen. I can perform various tasks such as answering questions, creating text, logical reasoning, and programming. You can call me Qwen or Tongyi Qianwen. How can I help you?"
},
"finish_reason": "stop",
"index": 0
}
],
"object": "chat.completion",
"model": "qwen-turbo"
}
Testar a DeepSeek (modelo deepseek-chat)
curl -v \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-chat",
"messages": [
{
"role": "user",
"content": "Who are you"
}
]
}' \
https://ai.example.com/v1/chat/completions
Uma requisição bem-sucedida retorna uma resposta semelhante à seguinte. O campo model é deepseek-chat, e o campo content contém uma autoapresentação da DeepSeek, indicando que a requisição foi roteada corretamente para a DeepSeek.
{
"object": "chat.completion",
"model": "deepseek-chat",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! I am DeepSeek, an AI assistant created by DeepSeek company!\n\nI am a plain text model. Although I do not support multi-modal recognition, I have a file upload feature that can help you process images, txt, pdf, ppt, word, excel and other files, and read text information from them for analysis and processing.\n\nSome of my features:\n- Completely free to use, with no paid plans\n- Context length of up to 128K, allowing for very long conversations\n- Supports web search (needs to be enabled manually)\n- Can be used by downloading the app from the official app store\n- Knowledge cutoff is July 2024\n\nI am happy to help you answer questions, assist with thinking, process documents, or engage in various conversations! Is there anything I can help you with? ✨"
},
"logprobs": null,
"finish_reason": "stop"
}
]
}
Limpeza de recursos
Após os testes, caso não precise mais dos recursos, siga estas etapas para liberá-los e evitar cobranças desnecessárias.
-
No console do Alibaba Cloud DNS, exclua o registro CNAME adicionado.
-
Limpar recursos do ALB
No console do ALB, localize a instância desejada e clique em Release na coluna Actions.
No console de Server Group, localize o grupo de servidores desejado e clique em Delete na coluna Actions.
-
Limpar recursos da VPC (opcional)
Se a VPC e os vSwitches foram criados especificamente para este tutorial, exclua-os no console da VPC.
Informações adicionais
Faturamento
ALB Extensible Edition: Atualmente está em prévia pública e é gratuito para uso.
Taxas de acesso à rede pública: O NAT Gateway de Internet cobra taxas de instância e taxas de Capacity Unit (CU). Os EIPs vinculados ao NAT Gateway e à instância do ALB Extensible Edition possuem suas próprias regras de faturamento, e as taxas são cobradas por EIP.
Taxas de nome de domínio e resolução de DNS: Além das taxas de registro de domínio cobradas pelo seu provedor de domínios, configurar a resolução de DNS na Alibaba Cloud exige o pagamento de taxas de resolução de DNS autoritativo público.
Taxas de certificado: Comprar certificados da Alibaba Cloud ou carregar certificados na Alibaba Cloud exige o pagamento de taxas de certificado de servidor.
Taxas de modelo: Chamar as APIs de LLM do Alibaba Cloud Model Studio e da DeepSeek gera cobranças.
Regiões onde o ALB Extensible Edition está disponível
Área | Região | Zona |
China | China (Ulanqab) | Zona A, Zona B e Zona C |
China (Hangzhou) | Zona J e Zona K | |
China (Pequim) | Zona I, Zona K e Zona L | |
China (Xangai) | Zona B e Zona F | |
China (Hong Kong) | Zona B, Zona C e Zona D | |
Ásia-Pacífico | Singapura | Zona A, Zona B e Zona C |
Japão (Tóquio) | Zona B, Zona C e Zona E | |
Europa e Américas | Alemanha (Frankfurt) | Zona A e Zona B |
EUA (Vale do Silício) | Zona A e Zona B | |
Oriente Médio | EAU (Dubai) | Zona A e Zona B |