Share via


Locust에서 RAG를 사용하여 Python 채팅 앱 로드

이 문서에서는 인기 있는 오픈 소스 부하 테스트 도구인 Locust와 함께 RAG 패턴을 사용하여 Python 채팅 애플리케이션에서 부하 테스트를 수행하는 프로세스를 제공합니다. 부하 테스트의 기본 목표는 채팅 애플리케이션의 예상 부하가 현재 Azure OpenAI TPM(분당 트랜잭션 수) 할당량을 초과하지 않도록 하는 것입니다. 부하가 많은 사용자 동작을 시뮬레이션하여 애플리케이션에서 잠재적인 병목 상태 및 확장성 문제를 식별할 수 있습니다. 이 프로세스는 많은 수의 사용자 요청에 직면하더라도 채팅 애플리케이션이 응답성이 기본 안정적으로 유지되도록 하는 데 중요합니다.

데모 비디오를 시청하여 채팅 앱의 부하 테스트에 대해 자세히 알아보세요.

참고 항목

이 문서에서는 문서의 예제 및 지침에 대한 기준으로 하나 이상의 AI 앱 템플릿 을 사용합니다. AI 앱 템플릿은 AI 앱의 고품질 시작점을 보장하는 데 도움이 되는 잘 기본, 쉽게 배포할 수 있는 참조 구현을 제공합니다.

필수 조건

  • Azure 구독. 무료로 계정 만들기

  • 원하는 Azure 구독의 Azure OpenAI에 대한 액세스 권한. 현재 이 서비스에 대한 액세스 권한은 애플리케이션에서만 부여됩니다. https://aka.ms/oai/access에서 양식을 작성하여 Azure OpenAI에 대한 액세스를 신청할 수 있습니다.

  • 개발 컨테이너는 두 샘플 모두에 사용할 수 있으며 이 문서를 완료하는 데 필요한 모든 종속성이 포함되어 있습니다. GitHub Codespaces(브라우저)에서 개발 컨테이너를 실행하거나 Visual Studio Code를 사용하여 로컬로 실행할 수 있습니다.

    • GitHub 계정만 필요합니다 .
  • RAG 이 있는 Python 채팅 앱 - 부하 분산 솔루션 중 하나를 사용하도록 채팅 앱을 구성한 경우 이 문서는 부하 분산을 테스트하는 데 도움이 됩니다. 부하 분산 솔루션에는 Azure Container Apps가 포함됩니다.

부하 테스트 샘플 앱 열기

부하 테스트는 Locust 테스트로 Python 채팅 앱 솔루션에 있습니다. 해당 문서로 돌아가 솔루션을 배포한 다음 해당 개발 컨테이너 개발 환경을 사용하여 다음 단계를 완료해야 합니다.

테스트 실행

  1. 부하 테스트에 대한 종속성을 설치합니다.

    python3 -m pip install -r requirements-dev.txt
    
  2. Locust 테스트 파일을 사용하는 Locust를 시작합니다 . locustfile.py 리포지토리의 루트에 있습니다.

    locust
    
  3. 실행 중인 Locust 웹 사이트(예: .) http://localhost:8089를 엽니다.

  4. Locust 웹 사이트에 다음을 입력합니다.

    속성
    사용자 수 20
    위로 진입 1
    호스트 https://<YOUR-CHAT-APP-URL>.azurewebsites.net

    값이 채워진 메뚜기 테스트의 스크린샷

  5. Swarm 시작을 선택하여 테스트를 시작합니다.

  6. 차트를 선택하여 테스트 진행률을 확인합니다.

    테스트 실행 중 메뚜기 차트의 스크린샷.

리소스 정리

부하 테스트를 마쳤으면 리소스를 클린. 이 문서에서 만들어진 Azure 리소스는 Azure 구독에 요금이 청구됩니다. 앞으로 이러한 리소스가 필요하지 않을 것으로 예상되는 경우 추가 요금이 발생하지 않도록 삭제합니다. 이 문서와 관련된 리소스를 삭제한 후에는 다른 채팅 앱 자습서로 돌아가서 클린 단계를 수행해야 합니다.

채팅 앱 문서로 돌아가서 해당 리소스를 클린.

도움말 보기

이 부하 테스터를 사용하는 데 문제가 있는 경우 리포지토리의 문제에 문제를 기록합니다.