실시간 유추를 위한 흐름 배포
Important
이 문서에 표시된 항목(미리 보기)은 현재 퍼블릭 미리 보기에서 확인할 수 있습니다. 이 미리 보기는 서비스 수준 계약 없이 제공되며, 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.
프롬프트 흐름을 빌드하고 제대로 테스트한 후에는 온라인 엔드포인트로 배포해야 할 수 있습니다. 배포는 엔드포인트 내에서 호스트되며 클라이언트에서 데이터를 수신하고 실시간으로 응답을 다시 보낼 수 있습니다.
채팅, Copilot 또는 다른 생성 AI 애플리케이션의 실시간 유추를 위해 엔드포인트를 호출할 수 있습니다. 프롬프트 흐름은 흐름 또는 대량 테스트 실행에서 엔드포인트 배포를 지원합니다.
이 문서에서는 실시간 유추를 위한 관리되는 온라인 엔드포인트로 흐름을 배포하는 방법을 알아봅니다. 수행할 단계는 다음과 같습니다.
- 흐름을 테스트하고 배포를 준비합니다.
- 온라인 배포를 만듭니다.
- 엔드포인트에 권한을 부여합니다.
- 엔드포인트를 테스트합니다.
- 엔드포인트를 사용합니다.
필수 조건
프롬프트 흐름을 온라인 엔드포인트로 배포하려면 다음이 필요합니다.
- Azure 구독 구독이 없으면 시작하기 전에 무료 계정을 만드세요.
- Azure AI Foundry 프로젝트입니다.
온라인 배포 만들기
이제 흐름을 빌드하고 적절하게 테스트했으므로 실시간 유추를 위한 온라인 엔드포인트를 만들 차례입니다.
아래 단계에 따라 Azure AI Foundry 포털에서 프롬프트 흐름을 온라인 엔드포인트로 배포합니다.
프롬프트 흐름을 배포할 준비를 합니다. 프롬프트 흐름이 없는 경우 프롬프트 흐름을 빌드하는 방법을 참조하세요.
선택 사항: 채팅을 선택하여 흐름이 제대로 작동하는지 테스트합니다. 배포하기 전에 흐름을 테스트하는 것이 권장되는 모범 사례입니다.
흐름 편집기에서 배포를 선택합니다.
배포 마법사의 기본 설정 페이지에서 요청된 정보를 제공합니다.
검토 + 만들기를 선택하여 설정을 검토하고 배포를 만듭니다. 그렇지 않으면 다음을 선택하여 고급 설정 페이지로 진행할 수 있습니다.
만들기를 선택하여 프롬프트 흐름을 배포합니다.
배포 상태를 보려면 왼쪽 탐색 영역에서 모델 + 엔드포인트를 선택합니다. 배포가 성공적으로 만들어지면 배포를 선택하여 세부 정보를 볼 수 있습니다.
사용탭을 선택하여 애플리케이션에서 배포된 모델을 사용하는 데 사용할 수 있는 코드 샘플을 확인합니다.
참고 항목
이 페이지에서는 엔드포인트를 사용하는 데 사용할 수 있는 엔드포인트 URL도 볼 수 있습니다.
직접 REST 엔드포인트를 사용하거나 여기에 표시된 샘플 중 하나를 시작할 수 있습니다.
자세한 내용은 아래 섹션을 참조하세요.
팁
기본 모델을 배포하는 방법에 대한 가이드는 Azure AI Foundry를 사용하여 모델 배포를 참조 하세요.
설정 및 구성
요구 사항 텍스트 파일
필요에 따라 requirements.txt
에서 필요한 추가 패키지를 지정할 수 있습니다. 흐름 폴더의 루트 폴더에서 requirements.txt
를 찾을 수 있습니다. UI에서 관리형 온라인 엔드포인트에 프롬프트 흐름을 배포하는 경우 기본적으로 배포는 흐름의 flow.dag.yaml
에 지정된 기본 이미지 및 requirements.txt
에 지정된 종속성을 기반으로 만든 환경을 사용합니다.
참고 항목
flow.dag.yaml
에 지정된 기본 이미지는 프롬프트 흐름 기본 이미지 mcr.microsoft.com/azureml/promptflow/promptflow-runtime-stable:<newest_version>
를 기반으로 만들어야 하며 여기에서 최신 버전을 찾을 수 있습니다. flow.dag.yaml
에서 기본 이미지를 지정하지 않으면 배포에서 기본 이미지 mcr.microsoft.com/azureml/promptflow/promptflow-runtime-stable:latest
를 사용합니다.
기본 설정
이 단계를 사용하면 흐름 편집기에서 배포를 선택할 때 기본 설정을 구성할 수 있습니다.
속성 | 설명 |
---|---|
엔드포인트 | 새 엔드포인트를 배포할지 아니면 기존 엔드포인트를 업데이트할지 선택할 수 있습니다. 새로 만들기를 선택하려는 경우 엔드포인트 이름을 지정해야 합니다. |
배포 이름 | - 동일한 엔드포인트 내에서 배포 이름은 고유해야 합니다. - 기존 엔드포인트를 선택하고 기존 배포 이름을 입력하면 해당 배포가 새 구성으로 덮어쓰여집니다. |
가상 머신 | 배포에 사용할 VM 크기입니다. |
인스턴트 수 | 배포에 사용할 인스턴스 수입니다. 예상되는 워크로드 값을 지정합니다. 고가용성을 위해 값을 3 이상으로 설정하는 것이 좋습니다. 업그레이드 수행을 위해 추가 20%를 예약합니다. |
유추 데이터 수집 | 이를 사용하도록 설정하면 흐름 입력 및 출력이 Azure Machine Learning 데이터 자산에서 자동으로 수집되며 나중에 모니터링하는 데 사용할 수 있습니다. |
기본 설정을 완료한 후, 바로 검토 + 만들기를 사용하여 만들기를 완료하거나 다음을 선택하여 고급 설정을 구성할 수 있습니다.
고급 설정 - 엔드포인트
엔드포인트에 대해 다음 설정을 지정할 수 있습니다.
고급 설정 워크플로에서 배포 태그를 지정하고 사용자 지정 환경을 선택할 수도 있습니다.
인증 유형
엔드포인트에 대한 인증 방법입니다. 키 기반 인증은 만료되지 않는 기본 및 보조 키를 제공합니다. Azure Machine Learning 토큰 기반 인증은 주기적으로 자동으로 새로 고쳐지는 토큰을 제공합니다.
ID 형식
엔드포인트는 추론을 위해 Azure Container Registry 또는 AI Foundry 허브 연결과 같은 Azure 리소스에 액세스해야 합니다. 관리 ID에 권한을 부여하여 엔드포인트 권한이 Azure 리소스에 액세스하도록 허용할 수 있습니다.
시스템 할당 ID는 엔드포인트가 만들어진 후 자동 만들어지는 반면, 사용자 할당 ID는 사용자가 만듭니다. 관리 ID에 대해 자세히 알아봅니다.
시스템 할당
연결 비밀에 대한 액세스 적용(미리 보기)에 대한 옵션이 있습니다. 흐름에서 연결을 사용하는 경우 엔드포인트는 유추를 수행하기 위해 연결에 액세스해야 합니다. 이 옵션은 기본적으로 사용하도록 설정되며, 연결 비밀 판독기 권한이 있는 경우 자동으로 연결에 액세스하기 위해 엔드포인트에 Azure Machine Learning 작업 영역 연결 비밀 읽기 권한자 역할을 부여해야 합니다. 이 옵션을 사용하지 않도록 설정하는 경우 이 역할을 시스템 할당 ID에 직접 수동으로 부여하거나 관리자에게 도움을 요청해야 합니다. 엔드포인트 ID에 권한을 부여하는 방법에 대해 자세히 알아봅니다.
사용자 할당
배포를 만들 때 Azure는 Azure AI Foundry 허브의 ACR(Azure Container Registry)에서 사용자 컨테이너 이미지를 끌어오려고 시도하고 허브의 스토리지 계정에서 사용자 컨테이너에 사용자 모델 및 코드 아티팩트를 탑재합니다.
사용자 할당 ID와 연결된 엔드포인트를 만든 경우, 배포를 만들기 전에 다음 역할을 부여해야 합니다. 그렇지 않은 경우 배포 만들기가 실패합니다.
범위 | 역할 | 필요한 이유 |
---|---|---|
AI Foundry 프로젝트 | Azure Machine Learning 작업 영역 연결 비밀 읽기 권한자 역할 또는 Microsoft.MachineLearningServices/workspaces/connections/listsecrets/action 으로 사용자 지정된 역할 |
프로젝트 연결 가져오기 |
AI Foundry 프로젝트 컨테이너 레지스트리 | ACR pull | 컨테이너 이미지 끌어오기 |
AI Foundry 프로젝트 기본 스토리지 | Storage Blob 데이터 읽기 권한자 | 스토리지에서 모델 로드 |
AI Foundry 프로젝트 | 작업 영역 메트릭 작성기 | 엔드포인트를 배포한 후 CPU/GPU/디스크/메모리 사용률과 같은 엔드포인트 관련 메트릭을 모니터링하려면 ID에 이 권한을 부여해야 합니다. 선택 사항 |
엔드포인트에 권한 부여에서 엔드포인트 ID에 권한을 부여하는 방법에 대한 자세한 지침을 참조하세요.
Important
흐름에서 Microsoft Entra ID 기반 인증 연결을 사용하는 경우 시스템 할당 ID 또는 사용자 할당 ID를 사용하더라도 해당 리소스에 대한 API 호출을 수행할 수 있도록 항상 관리 ID에 해당 리소스의 적절한 역할을 부여해야 합니다. 예를 들어, Azure OpenAI 연결이 Microsoft Entra ID 기반 인증을 사용하는 경우 해당 Azure OpenAI 리소스의 엔드포인트 관리 ID Cognitive Services OpenAI 사용자 또는 Cognitive Services OpenAI 기여자 역할을 부여해야 합니다.
고급 설정 - 출력 및 연결
이 단계에서는 모든 흐름 출력을 보고 배포하는 엔드포인트의 응답에 포함할 출력을 지정할 수 있습니다. 기본적으로 모든 흐름 출력이 선택됩니다.
또한 유추를 수행할 때 엔드포인트에서 사용하는 연결을 지정할 수 있습니다. 기본적으로 흐름에서 상속됩니다.
위의 모든 단계를 구성하고 검토한 후에는 검토+만들기를 선택하여 만들기를 완료할 수 있습니다.
참고 항목
엔드포인트 만들기, 모델 등록, 배포 만들기 등의 여러 단계가 포함되어 있으므로 엔드포인트를 만드는 데 약 15분이 걸릴 것으로 예상합니다.
프롬프트 흐름 배포에서 알림 시작을 통해 배포 만들기 진행률을 파악할 수 있습니다.
Application Insights 진단(미리 보기)을 켜서 추적 사용
이 기능을 사용하도록 설정하면 유추 시간(예: 토큰 수, 흐름 대기 시간, 흐름 요청 등) 동안의 추적 데이터 및 시스템 메트릭이 Application Insights에 연결된 작업 영역에 수집됩니다. 자세한 내용은 추적 데이터 및 메트릭을 제공하는 프롬프트 흐름을 참조하세요.
엔드포인트에 권한 부여
Important
권한 부여(역할 할당 추가)는 특정 Azure 리소스의 소유자에게만 사용하도록 설정됩니다. Azure 구독 소유자(IT 관리자일 수 있는 사용자)에게 도움을 요청해야 할 수 있습니다.
배포 만들기 전에 사용자가 할당한 ID 에 역할을 부여하는 것이 좋습니다. 부여된 권한이 적용되는 데 15분 이상 걸릴 수 있습니다.
다음 단계를 수행하여 Azure Portal UI에서 필요한 권한을 부여할 수 있습니다.
Azure Machine Learning 작업 영역 연결 비밀 읽기 권한자를 선택하고 다음로 이동합니다.
참고 항목
Azure Machine Learning 작업 영역 연결 비밀 읽기 권한자 역할은 허브 연결을 가져올 수 있는 권한이 있는 기본 제공 역할입니다.
사용자 지정된 역할을 사용하려면 사용자 지정된 역할에
Microsoft.MachineLearningServices/workspaces/connections/listsecrets/action
권한이 있는지 확인합니다. 사용자 지정 역할을 만드는 방법에 대해 자세히 알아봅니다.관리 ID를 선택하고 멤버를 선택합니다.
시스템 할당 ID의 경우 시스템 할당 관리 ID에서 기계 학습 온라인 엔드포인트를 선택하고 엔드포인트 이름으로 검색합니다.
사용자 할당 ID의 경우 사용자 할당 관리 ID를 선택하고 ID 이름으로 검색합니다.
사용자가 할당한 ID의 경우, 허브 컨테이너 레지스트리 및 스토리지 계정에도 권한을 부여해야 합니다. Azure Portal의 허브 개요 페이지에서 컨테이너 레지스트리 및 스토리지 계정을 찾을 수 있습니다.
허브 컨테이너 레지스트리 개요 페이지로 이동하여 액세스 제어를 선택하고 역할 할당 추가를 선택한 다음 ACR 끌어오기 |컨테이너 이미지 끌어오기를 엔드포인트 ID에 할당합니다.
허브 기본 스토리지 개요 페이지로 이동하고, 액세스 제어를 선택하고 역할 할당 추가를 선택한 후 Storage Blob 데이터 읽기 권한자를 엔트포인트 ID에 지정합니다.
(선택 사항) 사용자가 할당한 ID의 경우, CPU/GPU/디스크/메모리 활용과 같은 엔드포인트 관련 메트릭을 모니터링하려면 허브의 작업 영역 메트릭 작성자 역할을 ID에도 부여해야 합니다.
클러스터의 상태를 확인합니다.
배포 마법사를 완료하면 알림이 표시됩니다. 엔드포인트와 배포가 성공적으로 만들어지면 배포 세부 정보 페이지에 대한 알림에서 세부 정보 보기를 선택할 수 있습니다.
왼쪽 탐색 창에서 배포 페이지로 직접 이동하여 배포를 선택하고 상태를 확인할 수도 있습니다.
엔드포인트 테스트
배포 세부 정보 페이지에서 테스트 탭으로 전환합니다.
표준 흐름에서 배포된 엔드포인트의 경우 양식 편집기 또는 JSON 편집기에서 값을 입력하여 엔드포인트를 테스트할 수 있습니다.
채팅 흐름에서 배포된 엔드포인트 테스트
채팅 흐름에서 배포된 엔드포인트의 경우 몰입형 채팅 창에서 테스트할 수 있습니다.
chat_input
는 채팅 흐름 개발 중에 설정되었습니다. 입력창에 chat_input
메시지를 입력할 수 있습니다. 흐름에 여러 입력이 있는 경우, 오른쪽에 있는 입력 패널에서는 chat_input
이외의 다른 입력에 대한 값을 지정할 수 있습니다.
엔드포인트 사용
배포 세부 정보 페이지에서 사용 탭으로 전환합니다. 엔드포인트를 사용할 REST 엔드포인트 및 키/토큰을 찾을 수 있습니다. 다양한 언어로 엔드포인트를 사용할 수 있는 샘플 코드도 있습니다.
RequestBody
또는 data
및 api_key
값을 입력해야 합니다. 예를 들어 흐름에 location
및 url
입력 2개가 있는 경우 다음과 같이 데이터를 지정해야 합니다.
{
"location": "LA",
"url": "<the_url_to_be_classified>"
}
리소스 정리
이 자습서를 완료한 후 엔드포인트를 사용하지 않으려면 엔드포인트를 삭제해야 합니다.
참고 항목
전체 삭제에는 약 20분 정도 걸릴 수 있습니다.
다음 단계
- Azure AI Foundry에서 수행할 수 있는 일에 대해 자세히 알아보기
- Azure AI FAQ 문서에서 자주 하는 질문에 대한 답변 얻기
- [배포에 대한 추적 사용 및 피드백 수집](./develop/trace-production-sdk.md)