Teste de carga do aplicativo de bate-papo Python usando RAG com Locust
Este artigo fornece o processo para executar o teste de carga em um aplicativo de bate-papo Python usando o padrão RAG com Locust, uma popular ferramenta de teste de carga de código aberto. O principal objetivo do teste de carga é garantir que a carga esperada em seu aplicativo de bate-papo não exceda a cota atual de Transações por Minuto (TPM) do Azure OpenAI. Ao simular o comportamento do usuário sob carga pesada, você pode identificar possíveis gargalos e problemas de escalabilidade em seu aplicativo. Esse processo é crucial para garantir que seu aplicativo de bate-papo permaneça responsivo e confiável, mesmo quando confrontado com um alto volume de solicitações de usuários.
Assista ao vídeo de demonstração para entender mais sobre o teste de carga do aplicativo de bate-papo.
Observação
Este artigo usa um ou mais modelos de aplicativo de IA como base para os exemplos e orientações no artigo. Os modelos de aplicativos de IA fornecem implementações de referência bem mantidas e fáceis de implantar que ajudam a garantir um ponto de partida de alta qualidade para seus aplicativos de IA.
Pré-requisitos
Assinatura do Azure. Crie um gratuitamente
Acesso permitido ao OpenAI do Azure na assinatura do Azure desejada. No momento, o acesso a esse serviço é permitido somente por aplicativo. Você pode solicitar acesso ao Serviço OpenAI do Azure preenchendo o formulário em https://aka.ms/oai/access.
Os contêineres de desenvolvimento estão disponíveis para ambos os exemplos, com todas as dependências necessárias para concluir este artigo. Você pode executar os contêineres de desenvolvimento em Codespaces do GitHub (em um navegador) ou localmente usando o Visual Studio Code.
- Você só precisa de uma conta do GitHub
Aplicativo de bate-papo Python com RAG - se você configurou seu aplicativo de bate-papo para usar uma das soluções de balanceamento de carga, este artigo o ajudará a testar o balanceamento de carga. As soluções de balanceamento de carga incluem Aplicativos de Contêiner do Azure.
Abrir aplicativo de exemplo de teste de carga
O teste de carga está na solução de aplicativo de bate-papo Python como um teste de gafanhotos. Você precisa retornar a esse artigo, implantar a solução e usar esse ambiente de desenvolvimento de contêiner de desenvolvimento para concluir as etapas a seguir.
Executar o teste
Instale as dependências para o teste de carga.
python3 -m pip install -r requirements-dev.txt
Inicie o Locust, que usa o arquivo de teste Locust: locustfile.py encontrado na raiz do repositório.
locust
Abra o site Locust em execução, como
http://localhost:8089
.Digite o seguinte no site Locust.
Propriedade Valor Número de usuários 20 Fase inicial 1 Host https://<YOUR-CHAT-APP-URL>.azurewebsites.net
Selecione Iniciar enxame para iniciar o teste.
Selecione Gráficos para observar o progresso do teste.
Limpar os recursos
Quando terminar o teste de carga, limpe os recursos. Os recursos do Azure criados neste artigo são cobrados para sua assinatura do Azure. Se você não espera precisar desses recursos no futuro, exclua-os para evitar incorrer em mais encargos. Depois de excluir o recurso específico deste artigo, lembre-se de retornar ao outro tutorial do aplicativo de bate-papo e siga as etapas de limpeza.
Retorne ao artigo do aplicativo de bate-papo para limpar esses recursos.
Obter ajuda
Se você tiver problemas para usar esse testador de carga, registre seu problema nos Problemas do repositório.