Azure AI 모델 유추를 사용하도록 AI 프로젝트 구성
Azure AI Foundry에 AI 프로젝트가 이미 있는 경우 모델 카탈로그는 타사 모델 공급자의 모델을 기본적으로 프로젝트의 독립 실행형 엔드포인트로 배포합니다. 각 모델 배포에는 액세스하기 위한 자체 URI 및 자격 증명 집합이 있습니다. 반면, Azure OpenAI 모델은 Azure AI Services 리소스 또는 Azure OpenAI 서비스 리소스에 배포됩니다.
Azure AI 모델 유추를 사용하여 이 동작을 변경하고 두 가지 유형의 모델을 Azure AI Services 리소스에 배포할 수 있습니다. 구성 되면 종량제 청구를 지원하는 모델 as a Service 모델의 배포는 프로젝트 자체 대신 연결된 Azure AI Services 리소스 에 적용되므로 단일 엔드포인트 및 자격 증명 집합을 제공하여 Azure AI Foundry에 배포된 모든 모델에 액세스할 수 있습니다. 동일한 방식으로 Azure OpenAI 및 타사 모델 공급자 모델을 관리할 수 있습니다.
또한 Azure AI 모델 유추에 모델을 배포하면 다음과 같은 추가적인 이점이 제공됩니다.
- 라우팅 기능.
- 사용자 지정 콘텐츠 필터입니다.
- 전역 용량 배포 유형입니다.
- 역할 기반 액세스 제어를 사용하는 키 없는 인증 입니다.
이 문서에서는 Azure AI 서비스에서 Azure AI 모델 유추에 배포된 모델을 사용하도록 프로젝트를 구성하는 방법에 대해 알아봅니다.
필수 조건
이 자습서를 완전히 학습하려면 다음이 필요합니다.
Azure 구독 GitHub 모델을 사용하는 경우 환경을 업그레이드하고 프로세스에서 Azure 구독을 만들 수 있습니다. 사용자의 경우 GitHub 모델에서 Azure AI 모델 유추로 업그레이드를 읽습니다.
Azure AI 서비스 리소스입니다. 자세한 내용은 Azure AI Services 리소스 만들기를 참조 하세요.
Azure AI 프로젝트 및 Azure AI Hub.
팁
AI 허브가 프로비전되면 Azure AI 서비스 리소스와 연결된 두 리소스가 만들어집니다. 프로젝트에 연결된 Azure AI 서비스 리소스를 확인하려면 Azure AI Foundry 포털>관리 센터>연결된 리소스로 이동하여 AI Services 유형의 연결을 찾습니다.
Azure AI 모델 유추를 사용하도록 프로젝트 구성
Azure AI Services에서 Azure AI 모델 유추 기능을 사용하도록 프로젝트를 구성하려면 다음 단계를 수행합니다.
Azure AI Foundry 포털로 이동합니다.
위쪽 탐색 모음의 오른쪽 모서리에서 미리 보기 기능 아이콘을 선택합니다. 상황별 블레이드가 화면 오른쪽에 표시됩니다.
Azure AI 모델 유추 서비스에 모델 배포 기능을 설정합니다.
패널을 닫습니다.
프로젝트의 방문 페이지에서 프로젝트에 연결된 Azure AI Services 리소스를 식별합니다. 필요한 경우 드롭다운을 사용하여 연결된 리소스를 변경합니다.
드롭다운에 나열된 리소스가 없으면 AI Hub에 연결된 Azure AI Services 리소스가 없습니다. 다음을 통해 새 연결을 만듭니다.
화면의 왼쪽 아래 모서리에서 관리 센터를 선택합니다.
섹션에서 연결은 새 연결을 선택합니다.
Azure AI 서비스를 선택합니다.
브라우저에서 구독에서 기존 Azure AI Services 리소스를 찾습니다.
연결 추가를 선택합니다.
새 연결이 허브에 추가됩니다.
계속하려면 프로젝트의 방문 페이지로 돌아가서 새로 만든 연결을 선택합니다. 페이지가 즉시 표시되지 않으면 페이지를 새로 고칩니다.
포함된 기능에서 Azure AI 유추를 선택해야 합니다. Azure AI 모델 유추 엔드포인트 URI는 액세스 권한을 얻기 위해 자격 증명과 함께 표시됩니다.
팁
각 Azure AI 서비스 리소스에는 모든 모델 배포에 액세스하는 데 사용할 수 있는 단일 Azure AI 모델 유추 엔드포인트 가 있습니다. 동일한 엔드포인트는 구성된 모델에 따라 여러 모델을 제공합니다. 엔드포인트의 작동 방식에 대해 알아봅니다.
엔드포인트 URL 및 자격 증명을 기록해 둡다.
Azure AI 모델 유추에서 모델 배포 만들기
Azure AI 모델 유추에 따라 배포하려는 각 모델에 대해 다음 단계를 수행합니다.
Azure AI Foundry 포털의 모델 카탈로그 섹션으로 이동합니다.
관심 있는 모델로 스크롤하여 선택합니다.
모델 카드에서 모델의 세부 정보를 검토할 수 있습니다.
배포를 선택합니다.
더 많은 계약 조건이 필요한 모델 공급자의 경우 해당 약관에 동의하라는 메시지가 표시됩니다. 구독 및 배포를 선택하여 해당 사례에 대한 약관에 동의합니다.
현재 배포 설정을 구성할 수 있습니다. 기본적으로 배포는 배포하려는 모델의 이름을 받습니다. 배포 이름은 이 특정 모델 배포로
model
라우팅하기 위한 요청에 대한 매개 변수에 사용됩니다. 이를 통해 특정 구성을 연결할 때 모델의 특정 이름을 구성할 수 있습니다. 예를 들어 엄격한o1-preview-safe
콘텐츠 안전 콘텐츠 필터가 있는 모델의 경우입니다.Azure AI 모델 유추 서비스에 모델 배포 기능을 설정했으므로 프로젝트에 따라 Azure AI 서비스 연결을 자동으로 선택합니다. 사용자 지정 옵션을 사용하여 필요에 따라 연결을 변경합니다. 표준 배포 유형으로 배포하는 경우 Azure AI Services 리소스의 지역에서 모델을 사용할 수 있어야 합니다.
배포를 선택합니다.
배포가 완료되면 모델에 액세스할 수 있는 엔드포인트 URL 및 자격 증명이 표시됩니다. 이제 제공된 URL 및 자격 증명은 Azure AI 모델 유추 엔드포인트에 대한 프로젝트의 방문 페이지에 표시되는 것과 동일합니다.
모델 + 엔드포인트 섹션으로 이동하고 AI Services 리소스에 연결할 그룹을 찾아 리소스에서 사용할 수 있는 모든 모델을 볼 수 있습니다.
새 엔드포인트를 사용하여 코드 업그레이드
Azure AI Services 리소스가 구성되면 코드에서 사용을 시작할 수 있습니다. 엔드포인트 URL 및 키가 필요합니다. 이 URL은 개요 섹션에서 찾을 수 있습니다.
지원되는 SDK를 사용하여 엔드포인트에서 예측을 가져올 수 있습니다. 공식적으로 지원되는 SDK는 다음과 같습니다.
- OpenAI SDK
- Azure OpenAI SDK
- Azure AI 유추 SDK
- Azure AI Foundry SDK
자세한 내용 및 예제는 지원되는 언어 및 SDK 섹션을 참조하세요. 다음 예제에서는 새로 배포된 모델에서 Azure AI 모델 유추 SDK를 사용하는 방법을 보여줍니다.
pip와 같은 패키지 관리 시스템을 사용하여 azure-ai-inference
패키지를 설치합니다.
pip install azure-ai-inference>=1.0.0b5
Warning
Azure AI Services 리소스에는 Python 버전 azure-ai-inference>=1.0.0b5
이 필요합니다.
그런 다음 패키지를 사용하여 모델을 이용할 수 있습니다. 다음 예에서는 채팅 완성을 이용하는 클라이언트를 만드는 방법을 보여 줍니다.
import os
from azure.ai.inference import ChatCompletionsClient
from azure.core.credentials import AzureKeyCredential
model = ChatCompletionsClient(
endpoint="https://<resource>.services.ai.azure.com/models",
credential=AzureKeyCredential(os.environ["AZUREAI_ENDPOINT_KEY"]),
)
시작하려면 샘플을 살펴보고 API 참조 설명서를 참조하세요.
첫 번째 채팅 완료를 생성합니다.
from azure.ai.inference.models import SystemMessage, UserMessage
response = client.complete(
messages=[
SystemMessage(content="You are a helpful assistant."),
UserMessage(content="Explain Riemann's conjecture in 1 paragraph"),
],
model="mistral-large"
)
print(response.choices[0].message.content)
매개 변수 model="<deployment-name>
를 사용하여 요청을 이 배포로 라우팅합니다.
배포는 특정 구성에서 지정된 모델의 별칭으로 작동합니다. Azure AI Services가 배포를 라우팅하는 방법을 알아보려면 라우팅 개념 페이지를 참조하세요.
서버리스 API 엔드포인트에서 Azure AI 모델 유추로 이동
Azure AI 모델 유추를 사용하도록 프로젝트를 구성했지만 기존 모델 배포는 서버리스 API 엔드포인트로 프로젝트 내에 계속 존재합니다. 이러한 배포는 이동되지 않습니다. 따라서 이전 모델 배포를 참조하는 기존 코드를 점진적으로 업그레이드할 수 있습니다. 모델 배포 이동을 시작하려면 다음 워크플로를 사용하는 것이 좋습니다.
Azure AI 모델 유추에서 모델 배포를 다시 만듭니다. 이 모델 배포는 Azure AI 모델 유추 엔드포인트에서 액세스할 수 있습니다.
새 엔드포인트를 사용하도록 코드를 업그레이드합니다.
서버리스 API 엔드포인트를 제거하여 프로젝트를 정리합니다.
새 엔드포인트를 사용하여 코드 업그레이드
모델이 Azure AI Services에 배포되면 코드를 업그레이드하여 Azure AI 모델 유추 엔드포인트를 사용할 수 있습니다. 서버리스 API 엔드포인트와 Azure AI 모델 유추가 작동하는 방식의 주요 차이점은 엔드포인트 URL 및 모델 매개 변수에 있습니다. 서버리스 API 엔드포인트에는 각 모델 배포당 URI 및 키 집합이 있지만 Azure AI 모델 유추에는 모두 하나의 URI만 있습니다.
다음 표에는 도입해야 하는 변경 내용이 요약됩니다.
속성 | 서버리스 API 엔드포인트 | Azure AI 모델 유추 |
---|---|---|
엔드포인트 | https://<endpoint-name>.<region>.inference.ai.azure.com |
https://<ai-resource>.services.ai.azure.com/models |
자격 증명 | 모델/엔드포인트당 하나씩. | Azure AI Services 리소스당 1개. Microsoft Entra ID도 사용할 수 있습니다. |
모델 매개 변수 | 없음 | 필수입니다. 모델 배포의 이름을 사용합니다. |
프로젝트에서 기존 서버리스 API 엔드포인트 정리
코드를 리팩터링한 후 프로젝트 내의 기존 서버리스 API 엔드포인트(있는 경우)를 삭제할 수 있습니다.
서버리스 API 엔드포인트로 배포된 각 모델에 대해 다음 단계를 수행합니다.
Azure AI Foundry 포털로 이동합니다.
모델 + 엔드포인트를 선택합니다.
서버리스 유형의 엔드포인트를 식별하고 삭제할 엔드포인트를 선택합니다.
삭제 옵션을 선택합니다.
Warning
이 작업은 되돌릴 수 없습니다. 엔드포인트가 현재 다른 사용자 또는 코드 조각에서 사용되지 않는지 확인합니다.
삭제를 선택하여 작업을 확인합니다.
다른 프로젝트에서 이 엔드포인트에 대한 서버리스 API 연결을 만든 경우 이러한 연결은 제거되지 않고 기존 엔드포인트를 계속 가리킵니다. 오류를 방지하기 위해 해당 연결을 삭제합니다.
제한 사항
Azure AI 모델 유추를 사용하도록 프로젝트를 구성할 때 다음 제한 사항을 고려합니다.
- 종량제 청구(서비스로서의 모델)를 지원하는 모델만 Azure AI 모델 유추에 배포할 수 있습니다. 사용자 지정 모델을 포함하여 구독(Managed Compute)에서 컴퓨팅 할당량이 필요한 모델은 지정된 프로젝트 내에서만 Managed Online 엔드포인트로 배포할 수 있으며 자체 엔드포인트 URI 및 자격 증명 집합을 사용하여 계속 액세스할 수 있습니다.
- 종량제 청구 및 관리 컴퓨팅 제품으로 사용할 수 있는 모델은 기본적으로 Azure AI 서비스 리소스의 Azure AI 모델 유추에 배포됩니다. Azure AI Foundry 포털은 관리형 온라인 엔드포인트에 배포하는 방법을 제공하지 않습니다. Azure AI 모델 유추를 사용하거나 Azure CLI/Azure ML SDK/ARM 템플릿을 사용하여 배포를 수행하도록 프로젝트 구성에서 언급한 기능을 해제해야 합니다.
다음 단계
- 엔드포인트에 모델을 더 추가합니다.