이 문서에서는 Azure OpenAI 서비스 및 Azure Container Apps를 사용하여 Spring PetClinic 샘플 애플리케이션에 대한 자연어 인터페이스를 만드는 방법을 알아봅니다.
이 애플리케이션의 아키텍처 세부 정보에 대한 자세한 내용은 Container Apps 개요의 Java PetClinic AI 샘플을 참조하세요.
고려 사항
배포 시간: 이 문서에 배포된 AI 지원 애플리케이션을 사용하려면 일련의 연결된 서비스가 작동해야 합니다. 배포 시간을 완료하는 데 15분 이상 걸릴 수 있습니다. 이 자습서를 진행하면서 시간을 적절하게 계획합니다.
모델 가용성: 샘플 애플리케이션은 Azure OpenAI 서비스 배포 모듈을
gpt-4o사용하며text-embedding-ada-002, 이는 모든 Azure 지역에서 사용할 수 없습니다.가용성에 대한 자세한 내용은 Azure OpenAI 서비스 모델을 참조하고 원하는 배포 지역을 선택합니다. 최상의 결과를 위해 미국 동부, 미국 동부 2, 미국 중북부, 미국 중남부, 스웨덴 중부, 미국 서부 또는 미국 서부 3 지역 중 하나를 사용하는 것이 좋습니다.
필수 구성 요소
- Azure 구독 무료로 만듭니다.
-
Contributor및User Access Administrator역할 또는Owner역할 자세한 내용은 Azure Portal을 사용하여 Azure 역할 할당을 참조하세요. - GitHub 계정.
- 최신 버전의 git입니다.
- Microsoft Build of Open JDK 버전 17 이상
- Azure 개발자 명령줄 인터페이스
- Azure CLI
- 메이븐.
설정
다음 명령을 사용하여 샘플 애플리케이션을 컴퓨터에 복제합니다.
git clone https://github.com/Azure-Samples/spring-petclinic-ai.git다음 명령을 사용하여 spring-petclinic-ai 폴더로 이동합니다.
cd spring-petclinic-ai아직 없는 경우 다음 명령을 사용하여 Azure CLI에 대한 확장을 설치
containerapp합니다.az extension add --name containerapp --upgrade다음 명령을 사용하여 Azure 계정에 안전하게 로그인합니다.
az auth login이 명령은 인증할 Azure 자격 증명을 입력할 수 있는 웹 페이지를 엽니다.
배포
다음 명령을 사용하여 애플리케이션을 자동으로 배포합니다.
azd up메시지가 표시되면 환경 이름에 my-first-ai 를 입력합니다.
그런 다음 다음 프롬프트에서 자리 표시자에 대한
Azure Subscription실제 값을 대체하고 값을 입력Azure location<..>합니다.? Enter a new environment name: my-first-ai ? Select an Azure Subscription to use: <SUBSCRIPTION> ? Select an Azure location to use: <REGION>필요한 모든 값을 제공하면 애플리케이션이 배포될 때까지 15분 이상 기다려야 할 수 있습니다.
배포가 완료되면 성공적인 배포를 알리는 다음과 유사한 출력이 표시됩니다.
(✓) Done: Resource group: rg-my-first-ai (5.977s) (✓) Done: Virtual Network: vnet-my-first-ai (7.357s) (✓) Done: Container Registry: crb36onby7z5ooc (25.742s) (✓) Done: Azure OpenAI: openai-my-first-ai (25.324s) (✓) Done: Azure AI Services Model Deployment: openai-my-first-ai/text-embedding-ada-002 (42.909s) (✓) Done: Azure AI Services Model Deployment: openai-my-first-ai/gpt-4o (44.21s) (✓) Done: Container Apps Environment: aca-env-my-first-ai (3m1.361s) (✓) Done: Container App: petclinic-ai (22.701s) INFO: Deploy finish succeed! INFO: App url: petclinic-ai.<CLUSTER>.<REGION>.azurecontainerapps.io Packaging services (azd package) (✓) Done: Packaging service petclinic-ai Deploying services (azd deploy) (✓) Done: Deploying service petclinic-ai - Endpoint: https://petclinic-ai.<CLUSTER>.<REGION>.azurecontainerapps.io/ SUCCESS: Your up workflow to provision and deploy to Azure completed in 17 minutes 40 seconds.애플리케이션 URL을 찾습니다.
출력을 검사하고 배포 성공 메시지를 찾고 URL을 클립보드에 복사합니다.
성공 메시지는 다음 출력과 유사합니다.
INFO: Deploy finish succeed! INFO: App url: https://petclinic-ai.<CLUSTER>.<REGION>.azurecontainerapps.io
애플리케이션 사용해 보기
마지막 섹션의 끝에 복사한 URL을 사용하여 웹 브라우저에서 애플리케이션을 봅니다.
다음과 같은 프롬프트를 통해 챗봇과 상호 작용할 수 있습니다.
- 등록된 모든 애완 동물 소유자를 나열합니다.
- Steve라는 새 애완 동물 소유자를 추가합니다.
- 스티브의 이름을 스티븐으로 변경합니다.
- Spot이라는 애완 동물을 추가합니다.
- 시스템의 모든 수의사를 나열합니다.
다음 이미지는 애플리케이션에 시스템에 새 애완 동물 소유자를 추가하도록 요청한 결과를 보여줍니다.
업데이트
샘플을 실험할 때 애플리케이션에 변경 내용을 배포하려는 경우 다음 명령을 사용하여 변경 내용을 게시할 수 있습니다.
azd package
azd deploy
리소스 정리
후속 자습서를 계속 사용하려는 경우 이러한 리소스를 유지할 수 있습니다. 리소스가 더 이상 필요하지 않으면 리소스 그룹을 삭제하고 리소스도 삭제합니다.
리소스를 삭제하려면 Azure Portal을 사용하여 이 샘플의 리소스 그룹을 찾은 다음 삭제합니다.