빠른 시작: Azure AI 서비스에 대한 다중 서비스 리소스 만들기

이 빠른 시작을 사용하여 Azure AI 서비스에 대한 다중 서비스 리소스를 만들고 관리합니다. 다중 서비스 리소스를 통해 단일 키 및 엔드포인트를 사용하여 여러 Azure AI 서비스에 액세스할 수 있습니다. 또한 사용하는 서비스의 청구를 통합합니다.

서로 다른 두 리소스, 다중 서비스 리소스 또는 단일 서비스 리소스를 통해 Azure AI 서비스에 액세스할 수 있습니다.

  • 다중 서비스 리소스:
    • 단일 키와 엔드포인트로 여러 Azure AI 서비스에 액세스합니다.
    • 사용하는 서비스에서 청구를 통합합니다.
  • 단일 서비스 리소스:
    • 만든 각 서비스에 대해 고유한 키와 엔드포인트를 사용하여 단일 Azure AI 서비스에 액세스합니다.
    • 대부분의 Azure AI 서비스는 무료 체험 계층을 제공합니다.

Azure AI 서비스는 Azure 구독에서 만든 Azure 리소스로 표시됩니다. 리소스를 만든 후 생성된 키와 엔드포인트를 사용하여 애플리케이션을 인증할 수 있습니다.

다중 서비스 리소스를 사용하는 지원되는 서비스

다중 서비스 리소스를 사용하면 단일 키와 엔드포인트를 사용하여 다음 Azure AI 서비스에 액세스할 수 있습니다. 이러한 링크를 사용하여 빠른 시작 문서, 샘플 등을 찾아 리소스 사용을 시작합니다.

서비스 설명
Content Moderator iconContent Moderator(사용 중지됨) 불쾌감을 줄 수 있는 콘텐츠 또는 원치 않는 콘텐츠 탐지
Custom Vision iconCustom Vision 비즈니스에 맞게 이미지 인식 사용자 지정
Document Intelligence icon문서 인텔리전스 시간과 비용의 일부로 문서를 사용 가능한 데이터로 전환
Face iconFace 이미지에서 사람과 감정 감지 및 식별
Language icon언어 업계 최고의 자연어 이해 기능을 사용하여 앱 빌드
Speech icon음성 음성 텍스트 변환, 텍스트 음성 변환, 번역 및 화자 인식
Translator iconTranslator 100개 이상의 언어 및 방언 번역
Vision icon비전 이미지 및 비디오의 콘텐츠 분석

필수 조건

  • 유효한 Azure 구독 - 체험 구독 만들기
  • 책임 있는 AI 약관에 동의하고 리소스를 만들려면 Azure 계정에 Cognitive Services Contributor 역할이 할당되어 있어야 합니다. 이 역할을 계정에 할당하려면 역할 할당의 단계를 수행하거나 관리자에게 문의하세요.

새 다중 서비스 리소스 만들기

다중 서비스 리소스는 포털의 Azure AI 서비스>Azure AI 서비스 다중 서비스 계정에 나열됩니다. 다중 서비스 리소스를 만들려면 다음 지침을 따릅니다.

  1. 다중 서비스 리소스를 만들려면 다음 링크를 선택합니다. https://portal.azure.com/#create/Microsoft.CognitiveServicesAllInOne

  2. 만들기 페이지에서 다음 정보를 제공합니다.

    프로젝트 세부 정보 설명
    구독 사용 가능한 Azure 구독 중 하나를 선택합니다.
    리소스 그룹 Azure AI 서비스 리소스를 포함할 Azure 리소스 그룹입니다. 새 그룹을 만들거나 기존 그룹에 추가할 수 있습니다.
    지역 Azure AI 서비스 인스턴스의 위치입니다. 다른 위치를 사용하면 대기 시간이 발생할 수 있지만 리소스의 런타임 가용성에는 영향을 주지 않습니다.
    이름 Azure AI 서비스 리소스를 설명하는 이름입니다. 예를 들어 MyCognitiveServicesResource와 같은 이름을 사용합니다.
    가격 책정 계층 Azure AI 서비스 계정의 비용은 선택한 옵션 및 사용량에 따라 다릅니다. 자세한 내용은 API 가격 책정 세부 정보를 참조하세요.

    Multi-service resource creation screen

  3. 필요에 따라 리소스에 대한 다른 설정을 구성하고 조건을 읽고 수락한 다음(해당하는 경우) 검토 + 만들기를 선택합니다.

구독에서 Azure AI 서비스 리소스 만들기를 허용하지 않는 경우 Azure Portal, PowerShell 명령 또는 Azure CLI 명령을 사용하여 Azure 리소스 공급자의 권한을 사용하도록 설정해야 할 수도 있습니다. 구독 소유자가 아닌 경우 구독 소유자 또는 관리자 역할이 있는 사용자에게 대신 등록을 완료해 달라고 요청하거나 계정에 /register/action 권한을 부여해 달라고 요청하세요.

리소스의 키 가져오기

  1. 리소스가 성공적으로 배포되면 다음 단계>리소스로 이동을 선택합니다.

    Get resource keys screen

  2. 열리는 빠른 시작 창에서 리소스 엔드포인트에 액세스하고 키를 관리할 수 있습니다.

인증을 위한 환경 변수 구성

Azure AI 서비스 리소스에 액세스하려면 애플리케이션을 인증해야 합니다. 리소스 키에 대한 환경 변수를 설정하려면 콘솔 창을 열고 운영 체제 및 개발 환경에 대한 지침을 따릅니다. COGNITIVE_SERVICE_KEY 환경 변수를 설정하려면 your-key를 리소스에 대한 키 중 하나로 바꿉니다.

프로덕션의 경우 암호로 보호된 비밀 자격 증명 모음과 같은 자격 증명을 저장하고 액세스하는 안전한 방법을 사용합니다. 테스트를 위해서는 환경 변수에 쓰는 것이 표준 사례이지만 환경 변수는 로컬 컴퓨터에 일반 텍스트로 저장된다는 점에 유의하세요.

코드에 키를 직접 포함하지 말고 공개적으로 게시하지 마세요. Azure Key Vault와 같은 추가 인증 옵션은 Azure AI 서비스 보안 문서를 참조하세요.

PowerShell에는 비밀 저장소 또는 Azure KeyVault와 같은 플랫폼에 보안 문자열을 저장하기 위한 확장 가능한 솔루션비밀 관리 기능이 있습니다.

보안 문자열을 호스트하도록 비밀 저장소를 설정하려면 비밀 저장소 사용 시작 문서를 참조하세요. 그런 후 다음 예제를 사용하여 api 키를 저장합니다.

Set-Secret -Name COGNITIVE_SERVICE_KEY -value your-key

테스트 환경의 경우 PowerShell의 $Env: 구문을 사용하여 현재 세션에 대해서만 환경 변수를 설정하거나 setx 명령을 사용하여 세션과 관계없이 해당 변수를 계속 사용하도록 할 수 있습니다. 이러한 값은 Windows 레지스트리 키에 일반 텍스트로 저장됩니다.

$Env:COGNITIVE_SERVICE_KEY = your-key
setx COGNITIVE_SERVICE_KEY your-key

setx를 사용하여 환경 변수를 추가한 후에는 실행 중인 콘솔 또는 환경 변수를 읽는 데 필요한 다른 프로그램을 다시 시작해야 할 수 있습니다. 예를 들어 Visual Studio를 편집기로 사용하는 경우 예제를 실행하기 전에 Visual Studio를 다시 시작합니다.

Speech 리소스 지역에 대한 환경 변수를 설정하려면 동일한 단계를 따릅니다. COGNITIVE_SERVICE_REGION을 해당 리소스의 지역으로 설정합니다. 예: westus.

리소스 정리

Azure AI 서비스 구독을 정리하고 제거하려면 리소스 또는 리소스 그룹을 삭제할 수 있습니다. 리소스 그룹을 삭제하면 그룹에 포함된 다른 리소스도 삭제됩니다.

  1. Azure Portal에서 왼쪽의 메뉴를 확장하여 서비스 메뉴를 열고 리소스 그룹을 선택하여 리소스 그룹 목록을 표시합니다.
  2. 삭제할 리소스가 포함된 리소스 그룹을 찾습니다.
  3. 전체 리소스 그룹을 삭제하려면 리소스 그룹 이름을 선택합니다. 다음 페이지에서 리소스 그룹 삭제를 선택하고 확인합니다.
  4. Azure AI 서비스 리소스만 삭제하려면 리소스 그룹을 선택하여 해당 리소스 내의 모든 리소스를 확인합니다. 다음 페이지에서 삭제할 리소스를 선택하고 해당 행의 줄임표 메뉴를 선택한 다음, 삭제를 선택합니다.

이 빠른 시작을 사용하여 Azure CLI(명령줄 인터페이스) 명령을 사용하여 Azure AI 서비스 리소스를 만듭니다. 리소스를 만든 후에는 자동으로 생성된 키와 엔드포인트를 사용하여 애플리케이션을 인증합니다.

Azure AI 서비스는 개발자가 직접적인 AI 또는 데이터 과학 기술이나 지식 없이도 애플리케이션에 인지 인텔리전스를 구축하는 데 도움이 되는 클라우드 기반 AI(인공 지능) 서비스입니다. 인기 있는 개발 언어로 REST API 및 클라이언트 라이브러리 SDK를 통해 사용할 수 있습니다. Azure AI 서비스를 사용하면 개발자는 보고 듣고 말하고 분석할 수 있는 인지 솔루션을 통해 애플리케이션에 인지 기능을 쉽게 추가할 수 있습니다.

필수 조건

  • 유효한 Azure 구독 - 체험 구독 만들기
  • Azure CLI
  • 책임 있는 AI 약관에 동의하고 리소스를 만들려면 Azure 계정에 Cognitive Services Contributor 역할이 할당되어 있어야 합니다. 이 역할을 계정에 할당하려면 역할 할당의 단계를 수행하거나 관리자에게 문의하세요.
  • Azure Portal에서 첫 번째 Face, 언어 서비스 또는 Azure AI 비전 리소스를 만들어 사용 약관을 검토하고 승인해야 합니다. Face, 언어 서비스, Azure AI 비전에서 수행할 수 있습니다. 그런 다음 동일한 Azure 구독에서 모든 배포 도구(SDK, CLI 또는 ARM 템플릿 등)를 사용하여 후속 리소스를 만들 수 있습니다.

Azure CLI 설치 및 로그인

Azure CLI를 설치합니다. CLI의 로컬 설치에 로그인하려면 az login 명령을 실행합니다.

az login

녹색 사용해 보기 단추를 사용하여 브라우저에서 이러한 명령을 실행할 수도 있습니다.

새 Azure AI 서비스 리소스 그룹 만들기

Azure AI 서비스 리소스를 만들기 전에 리소스를 포함할 Azure 리소스 그룹이 있어야 합니다. 새 리소스를 만들 때 새 리소스 그룹을 만들거나 기존 리소스 그룹을 사용할 수 있습니다. 이 문서에서는 새 리소스 그룹을 만드는 방법을 보여줍니다.

리소스 그룹 위치 선택

리소스를 만들려면 구독에 사용할 수 있는 Azure 위치 중 하나가 필요합니다. az account list-locations 명령을 사용하여 사용 가능한 위치 목록을 검색할 수 있습니다 . 대부분의 Azure AI 서비스는 여러 위치에서 액세스할 수 있습니다. 가장 가까운 위치를 선택하거나 서비스에 사용할 수 있는 위치를 확인합니다.

Important

  • Azure AI 서비스 리소스를 호출할 때 필요하므로 Azure 위치를 기억해 두어야 합니다.
  • 일부 Azure AI 서비스의 가용성은 지역에 따라 다를 수 있습니다. 자세한 내용은 지역별 Azure 제품을 참조하세요.
az account list-locations --query "[].{Region:name}" --out table

Azure 위치가 있으면 az group create 명령을 사용하여 Azure CLI에서 새 리소스 그룹을 만듭니 다. 아래 예제에서 Azure 위치를 westus2 구독에 사용할 수 있는 Azure 위치 중 하나로 바꿉 있습니다.

az group create --name ai-services-resource-group --location westus2

Azure AI 서비스 리소스를 생성합니다

서비스 및 가격 책정 계층 선택

새 리소스를 만들 때 원하는 가격 책정 계층(또는 SKU)과 함께 사용할 서비스의 종류를 알아야 합니다. 리소스를 만들 때 이 정보와 기타 정보를 매개 변수로 사용합니다.

아래 SKU 목록과 가격 정보를 참조하세요.

다중 서비스

서비스 종류
여러 서비스 자세한 내용은 가격 책정 페이지를 참조하십시오. CognitiveServices

시각

서비스 종류
Azure AI Vision ComputerVision
Custom Vision - 예측 CustomVision.Prediction
Custom Vision - 교육 CustomVision.Training
Face Face
문서 인텔리전스 FormRecognizer

음성

서비스 종류
Speech Services SpeechServices

언어

서비스 종류
LUIS LUIS
QnA Maker QnAMaker
언어 서비스 TextAnalytics
텍스트 번역 TextTranslation

의사 결정

서비스 종류
Anomaly Detector AnomalyDetector
Content Moderator ContentModerator
퍼스널라이저 Personalizer

Azure OpenAI

서비스 종류
Azure OpenAI OpenAI

가격 책정 계층 및 청구

가격 책정 계층(및 청구되는 금액)은 인증 정보를 사용하여 보내는 트랜잭션 수를 기반으로 합니다. 각 가격 책정 계층은 다음을 지정합니다.

  • 허용되는 초당 최대 트랜잭션 수(TPS)입니다.
  • 가격 책정 계층 내에서 사용할 수 있는 서비스 기능입니다.
  • 미리 정의된 트랜잭션 수에 대한 비용입니다. 이 숫자를 초과하면 서비스에 대한 가격 세부 정보에 지정된 대로 추가 요금이 발생합니다.

참고 항목

Azure AI 서비스 대부분에서 서비스를 사용해 볼 수 있는 무료 계층이 있습니다. 체험 계층을 사용하려면 리소스의 SKU로 F0을 사용합니다.

az cognitiveservices account list-kinds 명령으로 사용 가능한 Azure AI 서비스 "종류" 목록을 찾을 수 있습니다.

az cognitiveservices account list-kinds

리소스 그룹에 새 리소스 추가

새 Azure AI 서비스 리소스를 만들고 구독하려면 az cognitiveservices account create 명령을 사용합니다. 이 명령은 앞에서 만든 리소스 그룹에 요금이 발생할 수 있는 새 리소스를 추가합니다. 새 리소스를 만들 때 가격 책정 계층(또는 SKU) 및 Azure 위치와 함께 사용할 서비스의 "종류"를 알아야 합니다.

아래 명령을 사용하여 multi-service-resource라는 표준 S0 다중 서비스 리소스를 만들 수 있습니다.

az cognitiveservices account create --name multi-service-resource --resource-group ai-services-resource-group  --kind CognitiveServices --sku F0 --location westus2 --yes

구독에서 Azure AI 서비스 리소스 만들기를 허용하지 않는 경우 Azure Portal, PowerShell 명령 또는 Azure CLI 명령을 사용하여 Azure 리소스 공급자의 권한을 사용하도록 설정해야 할 수도 있습니다. 구독 소유자가 아닌 경우 구독 소유자 또는 관리자 역할이 있는 사용자에게 대신 등록을 완료해 달라고 요청하거나 계정에 /register/action 권한을 부여해 달라고 요청하세요.

리소스의 키 가져오기

CLI(명령줄 인터페이스)의 로컬 설치에 로그인하려면 az login 명령을 사용합니다.

az login

az cognitiveservices account keys list 명령을 사용하여 리소스의 키를 가져옵니다.

az cognitiveservices account keys list  --name multi-service-resource --resource-group ai-services-resource-group

인증을 위한 환경 변수 구성

Azure AI 서비스 리소스에 액세스하려면 애플리케이션을 인증해야 합니다. 리소스 키에 대한 환경 변수를 설정하려면 콘솔 창을 열고 운영 체제 및 개발 환경에 대한 지침을 따릅니다. COGNITIVE_SERVICE_KEY 환경 변수를 설정하려면 your-key를 리소스에 대한 키 중 하나로 바꿉니다.

프로덕션의 경우 암호로 보호된 비밀 자격 증명 모음과 같은 자격 증명을 저장하고 액세스하는 안전한 방법을 사용합니다. 테스트를 위해서는 환경 변수에 쓰는 것이 표준 사례이지만 환경 변수는 로컬 컴퓨터에 일반 텍스트로 저장된다는 점에 유의하세요.

코드에 키를 직접 포함하지 말고 공개적으로 게시하지 마세요. Azure Key Vault와 같은 추가 인증 옵션은 Azure AI 서비스 보안 문서를 참조하세요.

PowerShell에는 비밀 저장소 또는 Azure KeyVault와 같은 플랫폼에 보안 문자열을 저장하기 위한 확장 가능한 솔루션비밀 관리 기능이 있습니다.

보안 문자열을 호스트하도록 비밀 저장소를 설정하려면 비밀 저장소 사용 시작 문서를 참조하세요. 그런 후 다음 예제를 사용하여 api 키를 저장합니다.

Set-Secret -Name COGNITIVE_SERVICE_KEY -value your-key

테스트 환경의 경우 PowerShell의 $Env: 구문을 사용하여 현재 세션에 대해서만 환경 변수를 설정하거나 setx 명령을 사용하여 세션과 관계없이 해당 변수를 계속 사용하도록 할 수 있습니다. 이러한 값은 Windows 레지스트리 키에 일반 텍스트로 저장됩니다.

$Env:COGNITIVE_SERVICE_KEY = your-key
setx COGNITIVE_SERVICE_KEY your-key

setx를 사용하여 환경 변수를 추가한 후에는 실행 중인 콘솔 또는 환경 변수를 읽는 데 필요한 다른 프로그램을 다시 시작해야 할 수 있습니다. 예를 들어 Visual Studio를 편집기로 사용하는 경우 예제를 실행하기 전에 Visual Studio를 다시 시작합니다.

Speech 리소스 지역에 대한 환경 변수를 설정하려면 동일한 단계를 따릅니다. COGNITIVE_SERVICE_REGION을 해당 리소스의 지역으로 설정합니다. 예: westus.

가격 책정 계층 및 청구

가격 책정 계층(및 청구되는 금액)은 인증 정보를 사용하여 보내는 트랜잭션 수를 기반으로 합니다. 각 가격 책정 계층은 다음을 지정합니다.

  • 허용되는 초당 최대 트랜잭션 수(TPS)입니다.
  • 가격 책정 계층 내에서 사용할 수 있는 서비스 기능입니다.
  • 미리 정의된 트랜잭션 수에 대한 비용입니다. 이 금액을 초과하면 서비스에 대한 가격 책정 세부 정보에 지정된 대로 추가 요금이 발생합니다.

리소스의 현재 할당량 사용 정보 가져오기

리소스 사용량 정보를 확인하려면 az cognitiveservices account list-usage 명령을 사용합니다.

az cognitiveservices account list-usage --name multi-service-resource --resource-group ai-services-resource-group --subscription subscription-name

리소스 정리

Azure AI 서비스 리소스를 정리하고 제거하려면 해당 리소스 또는 리소스 그룹을 삭제하면 됩니다. 리소스 그룹을 삭제하면 그룹에 포함된 다른 리소스도 삭제됩니다.

리소스 그룹과 관련 리소스를 제거하려면 az group delete 명령을 사용합니다.

az group delete --name ai-services-resource-group

이 빠른 시작을 사용하여 Azure PowerShell 명령을 사용하여 Azure AI 서비스 리소스를 만듭니다. 리소스를 만든 후에는 자동으로 생성된 키와 엔드포인트를 사용하여 애플리케이션을 인증합니다.

Azure AI 서비스는 개발자가 직접적인 AI 또는 데이터 과학 기술이나 지식 없이도 애플리케이션에 인지 인텔리전스를 구축하는 데 도움이 되는 클라우드 기반 AI(인공 지능) 서비스입니다. 인기 있는 개발 언어로 REST API 및 클라이언트 라이브러리 SDK를 통해 사용할 수 있습니다. Azure AI 서비스를 사용하면 개발자는 보고 듣고 말하고 분석할 수 있는 인지 솔루션을 통해 애플리케이션에 인지 기능을 쉽게 추가할 수 있습니다.

필수 조건

  • 유효한 Azure 구독 - 체험 구독 만들기
  • Azure PowerShell
  • 책임 있는 AI 약관에 동의하고 리소스를 만들려면 Azure 계정에 Cognitive Services Contributor 역할이 할당되어 있어야 합니다. 이 역할을 계정에 할당하려면 역할 할당의 단계를 수행하거나 관리자에게 문의하세요.
  • Azure Portal에서 첫 번째 Face, 언어 서비스 또는 Azure AI 비전 리소스를 만들어 사용 약관을 검토하고 승인해야 합니다. Face, 언어 서비스, Azure AI 비전에서 수행할 수 있습니다. 그런 다음 동일한 Azure 구독에서 모든 배포 도구(SDK, CLI 또는 ARM 템플릿 등)를 사용하여 후속 리소스를 만들 수 있습니다.

Azure PowerShell 설치 및 로그인

Azure PowerShell을 설치합니다. 로그인하려면 Connect-AzAccount 명령을 실행합니다.

Connect-AzAccount

녹색 사용해 보기 단추를 사용하여 브라우저에서 이러한 명령을 실행할 수도 있습니다.

새 Azure AI 서비스 리소스 그룹 만들기

Azure AI 서비스 리소스를 만들기 전에 리소스를 포함할 Azure 리소스 그룹이 있어야 합니다. 새 리소스를 만들 때 새 리소스 그룹을 만들거나 기존 리소스 그룹을 사용할 수 있습니다. 이 문서에서는 새 리소스 그룹을 만드는 방법을 보여줍니다.

리소스 그룹 위치 선택

리소스를 만들려면 구독에 사용할 수 있는 Azure 위치 중 하나가 필요합니다. Get-AzLocation 명령을 사용하여 사용 가능한 위치 목록을 검색할 수 있습니다. 대부분의 Azure AI 서비스는 여러 위치에서 액세스할 수 있습니다. 가장 가까운 위치를 선택하거나 서비스에 사용할 수 있는 위치를 확인합니다.

Important

  • Azure AI 서비스 리소스를 호출할 때 필요하므로 Azure 위치를 기억해 두어야 합니다.
  • 일부 Azure AI 서비스의 가용성은 지역에 따라 다를 수 있습니다. 자세한 내용은 지역별 Azure 제품을 참조하세요.
Get-AzLocation | Select-Object -Property Location, DisplayName

Azure 위치가 있으면 New-AzResourceGroup 명령을 사용하여 Azure PowerShell에 새 리소스 그룹을 만듭니다. 아래 예제에서 Azure 위치를 westus2 구독에 사용할 수 있는 Azure 위치 중 하나로 바꿉 있습니다.

New-AzResourceGroup -Name ai-services-resource-group -Location westus2

Azure AI 서비스 리소스를 생성합니다

서비스 및 가격 책정 계층 선택

새 리소스를 만들 때 원하는 가격 책정 계층(또는 SKU)과 함께 사용할 서비스의 종류를 알아야 합니다. 리소스를 만들 때 이 정보와 기타 정보를 매개 변수로 사용합니다.

아래 SKU 목록과 가격 정보를 참조하세요.

다중 서비스

서비스 종류
여러 서비스 자세한 내용은 가격 책정 페이지를 참조하십시오. CognitiveServices

시각

서비스 종류
Azure AI Vision ComputerVision
Custom Vision - 예측 CustomVision.Prediction
Custom Vision - 교육 CustomVision.Training
Face Face
문서 인텔리전스 FormRecognizer

음성

서비스 종류
Speech Services SpeechServices

언어

서비스 종류
LUIS LUIS
QnA Maker QnAMaker
언어 서비스 TextAnalytics
텍스트 번역 TextTranslation

의사 결정

서비스 종류
Anomaly Detector AnomalyDetector
Content Moderator ContentModerator
퍼스널라이저 Personalizer

Azure OpenAI

서비스 종류
Azure OpenAI OpenAI

가격 책정 계층 및 청구

가격 책정 계층(및 청구되는 금액)은 인증 정보를 사용하여 보내는 트랜잭션 수를 기반으로 합니다. 각 가격 책정 계층은 다음을 지정합니다.

  • 허용되는 초당 최대 트랜잭션 수(TPS)입니다.
  • 가격 책정 계층 내에서 사용할 수 있는 서비스 기능입니다.
  • 미리 정의된 트랜잭션 수에 대한 비용입니다. 이 숫자를 초과하면 서비스에 대한 가격 세부 정보에 지정된 대로 추가 요금이 발생합니다.

참고 항목

Azure AI 서비스 대부분에서 서비스를 사용해 볼 수 있는 무료 계층이 있습니다. 체험 계층을 사용하려면 리소스의 SKU로 F0을 사용합니다.

Get-AzCognitiveServicesAccountType 명령으로 사용 가능한 Azure AI 서비스 “종류” 목록을 찾을 수 있습니다.

Get-AzCognitiveServicesAccountType

리소스 그룹에 새 리소스 추가

새 Azure AI 서비스 리소스를 만들고 구독하려면 New-AzCognitiveServicesAccount 명령을 사용합니다. 이 명령은 앞에서 만든 리소스 그룹에 요금이 발생할 수 있는 새 리소스를 추가합니다. 새 리소스를 만들 때 가격 책정 계층(또는 SKU) 및 Azure 위치와 함께 사용할 서비스의 "종류"를 알아야 합니다.

아래 명령을 사용하여 multi-service-resource라는 표준 S0 다중 서비스 리소스를 만들 수 있습니다.

New-AzCognitiveServicesAccount -ResourceGroupName ai-services-resource-group -Name multi-service-resource -Type CognitiveServices -SkuName F0 -Location westus2

구독에서 Azure AI 서비스 리소스 만들기를 허용하지 않는 경우 Azure Portal, Azure PowerShell 명령 또는 Azure CLI 명령을 사용하여 Azure 리소스 공급자의 권한을 사용하도록 설정해야 할 수도 있습니다. 구독 소유자가 아닌 경우 구독 소유자 또는 관리자 역할이 있는 사용자에게 대신 등록을 완료해 달라고 요청하거나 계정에 /register/action 권한을 부여해 달라고 요청하세요.

리소스의 키 가져오기

Get-AzCognitiveServicesAccountKey 명령을 사용하여 리소스에 대한 키를 가져옵니다.

Get-AzCognitiveServicesAccountKey -Name multi-service-resource -ResourceGroupName ai-services-resource-group

인증을 위한 환경 변수 구성

Azure AI 서비스 리소스에 액세스하려면 애플리케이션을 인증해야 합니다. 리소스 키에 대한 환경 변수를 설정하려면 콘솔 창을 열고 운영 체제 및 개발 환경에 대한 지침을 따릅니다. COGNITIVE_SERVICE_KEY 환경 변수를 설정하려면 your-key를 리소스에 대한 키 중 하나로 바꿉니다.

프로덕션의 경우 암호로 보호된 비밀 자격 증명 모음과 같은 자격 증명을 저장하고 액세스하는 안전한 방법을 사용합니다. 테스트를 위해서는 환경 변수에 쓰는 것이 표준 사례이지만 환경 변수는 로컬 컴퓨터에 일반 텍스트로 저장된다는 점에 유의하세요.

코드에 키를 직접 포함하지 말고 공개적으로 게시하지 마세요. Azure Key Vault와 같은 추가 인증 옵션은 Azure AI 서비스 보안 문서를 참조하세요.

PowerShell에는 비밀 저장소 또는 Azure KeyVault와 같은 플랫폼에 보안 문자열을 저장하기 위한 확장 가능한 솔루션비밀 관리 기능이 있습니다.

보안 문자열을 호스트하도록 비밀 저장소를 설정하려면 비밀 저장소 사용 시작 문서를 참조하세요. 그런 후 다음 예제를 사용하여 api 키를 저장합니다.

Set-Secret -Name COGNITIVE_SERVICE_KEY -value your-key

테스트 환경의 경우 PowerShell의 $Env: 구문을 사용하여 현재 세션에 대해서만 환경 변수를 설정하거나 setx 명령을 사용하여 세션과 관계없이 해당 변수를 계속 사용하도록 할 수 있습니다. 이러한 값은 Windows 레지스트리 키에 일반 텍스트로 저장됩니다.

$Env:COGNITIVE_SERVICE_KEY = your-key
setx COGNITIVE_SERVICE_KEY your-key

setx를 사용하여 환경 변수를 추가한 후에는 실행 중인 콘솔 또는 환경 변수를 읽는 데 필요한 다른 프로그램을 다시 시작해야 할 수 있습니다. 예를 들어 Visual Studio를 편집기로 사용하는 경우 예제를 실행하기 전에 Visual Studio를 다시 시작합니다.

Speech 리소스 지역에 대한 환경 변수를 설정하려면 동일한 단계를 따릅니다. COGNITIVE_SERVICE_REGION을 해당 리소스의 지역으로 설정합니다. 예: westus.

가격 책정 계층 및 청구

가격 책정 계층(및 청구되는 금액)은 인증 정보를 사용하여 보내는 트랜잭션 수를 기반으로 합니다. 각 가격 책정 계층은 다음을 지정합니다.

  • 허용되는 초당 최대 트랜잭션 수(TPS)입니다.
  • 가격 책정 계층 내에서 사용할 수 있는 서비스 기능입니다.
  • 미리 정의된 트랜잭션 수에 대한 비용입니다. 이 금액을 초과하면 서비스에 대한 가격 책정 세부 정보에 지정된 대로 추가 요금이 발생합니다.

리소스의 현재 할당량 사용 정보 가져오기

Get-AzCognitiveServicesAccountUsage 명령을 사용하여 리소스의 사용량을 가져옵니다.

Get-AzCognitiveServicesAccountUsage -ResourceGroupName ai-services-resource-group -Name multi-service-resource

리소스 정리

Azure AI 서비스 리소스를 정리하고 제거하려면 해당 리소스 또는 리소스 그룹을 삭제하면 됩니다. 리소스 그룹을 삭제하면 그룹에 포함된 다른 리소스도 삭제됩니다.

리소스 그룹과 관련 리소스를 제거하려면 Remove-AzResourceGroup 명령을 사용합니다.

Remove-AzResourceGroup -Name ai-services-resource-group

참조 설명서 | 라이브러리 소스 코드 | 패키지(NuGet)샘플 |

C# 필수 구성 요소

  • 유효한 Azure 구독 - 체험 구독 만들기
  • .NET Core의 현재 버전입니다.
  • 책임 있는 AI 약관에 동의하고 리소스를 만들려면 Azure 계정에 Cognitive Services Contributor 역할이 할당되어 있어야 합니다. 이 역할을 계정에 할당하려면 역할 할당의 단계를 수행하거나 관리자에게 문의하세요.
  • Azure Portal에서 첫 번째 Face, 언어 서비스 또는 Azure AI 비전 리소스를 만들어 사용 약관을 검토하고 승인해야 합니다. Face, 언어 서비스, Azure AI 비전에서 수행할 수 있습니다. 그런 다음 동일한 Azure 구독에서 모든 배포 도구(SDK, CLI 또는 ARM 템플릿 등)를 사용하여 후속 리소스를 만들 수 있습니다.

Azure 서비스 주체 만들기

애플리케이션이 Azure 계정과 상호 작용하도록 하려면 권한을 관리하려면 Azure 서비스 주체가 필요합니다. Azure 서비스 주체 만들기의 지침을 따릅니다.

서비스 주체를 만들면 비밀 값, ID 및 애플리케이션 ID가 표시됩니다. 이후 단계를 위해 애플리케이션 ID와 비밀을 임시 위치에 저장합니다.

리소스 그룹 만들기

Azure AI 서비스 리소스를 만들기 전에 계정에 리소스를 포함할 Azure 리소스 그룹이 있어야 합니다. 리소스 그룹이 아직 없는 경우 계속하기 전에 Azure Portal에서 만듭니다.

새 C# 애플리케이션 만들기

새 .NET Core 애플리케이션을 만듭니다. 콘솔 창(예: cmd, PowerShell 또는 Bash)에서 dotnet new 명령을 사용하여 azure-management-quickstart라는 새 콘솔 앱을 만듭니다. 이 명령은 program.cs라는 단일 소스 파일을 사용하여 간단한 "Hello World" C# 프로젝트를 만듭니다.

dotnet new console -n azure-management-quickstart

디렉터리를 새로 만든 앱 폴더로 변경합니다. 다음을 사용하여 애플리케이션을 빌드할 수 있습니다.

dotnet build

빌드 출력에는 경고 또는 오류가 없어야 합니다.

...
Build succeeded.
 0 Warning(s)
 0 Error(s)
...

클라이언트 라이브러리 설치

애플리케이션 디렉터리 내에서 다음 명령을 사용하여 .NET용 Azure Management 클라이언트 라이브러리를 설치합니다.

dotnet add package Azure.ResourceManager.CognitiveServices
dotnet add package Microsoft.Azure.Management.Fluent
dotnet add package Microsoft.Azure.Management.ResourceManager.Fluent

Visual Studio IDE를 사용하는 경우 클라이언트 라이브러리는 다운로드 가능한 NuGet 패키지로 제공됩니다.

라이브러리 가져오기

program.cs를 열고 다음 using 문을 파일 맨 위에 추가합니다.

using System;
using Microsoft.Azure.Management.Fluent;
using Microsoft.Azure.Management.ResourceManager.Fluent;
using Microsoft.Azure.Management.ResourceManager.Fluent.Authentication;
using Microsoft.Azure.Management.CognitiveServices;
using Microsoft.Azure.Management.CognitiveServices.Models;

클라이언트 인증

다음 필드를 program.cs의 루트에 추가하고 사용자가 만든 서비스 주체와 Azure 계정 정보를 사용하여 해당 값을 입력합니다.

const string  service_principal_application_id = "PASTE_YOUR_SERVICE_PRINCIPAL_APPLICATION_ID_HERE";
const string  service_principal_secret = "PASTE_YOUR_SERVICE_PRINCIPAL_SECRET_HERE";

/* The ID of your Azure subscription. You can find this in the Azure Dashboard under Home > Subscriptions. */
const string  subscription_id = "PASTE_YOUR_SUBSCRIPTION_ID_HERE";

/* The Active Directory tenant ID. You can find this in the Azure Dashboard under Home > Azure Active Directory. */
const string  tenant_id = "PASTE_YOUR_TENANT_ID_HERE";

/* The name of the Azure resource group in which you want to create the resource.
You can find resource groups in the Azure Dashboard under Home > Resource groups. */
const string  resource_group_name = "PASTE_YOUR_RESOURCE_GROUP_NAME_HERE";

/* The name of the custom subdomain to use when you create the resource. This is optional.
For example, if you create a Bing Search v7 resource with the custom subdomain name 'my-search-resource',
your resource would have the endpoint https://my-search-resource.cognitiveservices.azure.com/.
Note not all Cognitive Services allow custom subdomain names. */
const string subdomain_name = "PASTE_YOUR_SUBDOMAIN_NAME_HERE";

그런 다음 Main 메서드에서 이러한 값을 사용하여 CognitiveServicesManagementClient 개체를 생성 합니다. 이 개체는 모든 Azure 관리 작업에 필요합니다.

var service_principal_credentials = new ServicePrincipalLoginInformation ();
service_principal_credentials.ClientId = service_principal_application_id;
service_principal_credentials.ClientSecret = service_principal_secret;

var credentials = SdkContext.AzureCredentialsFactory.FromServicePrincipal(service_principal_application_id, service_principal_secret, tenant_id, AzureEnvironment.AzureGlobalCloud);
var client = new CognitiveServicesManagementClient(credentials);
client.SubscriptionId = subscription_id;

통화 관리 메서드

Main 메서드에 다음 코드를 추가하여 사용 가능한 리소스를 나열하고, 샘플 리소스를 만들고, 소유한 리소스를 나열한 다음, 샘플 리소스를 삭제합니다. 다음 단계에서 이러한 메서드를 정의합니다.

    // Uncomment to list all available resource kinds, SKUs, and locations for your Azure account:
    //list_available_kinds_skus_locations(client);

    // Create a resource with kind TextTranslation, F0 (free tier), location global.
    create_resource(client, "test_resource", "TextTranslation", "F0", "Global");

    // List all resources for your Azure account and resource group:
    list_resources(client);

    // Delete the resource.
    delete_resource(client, "test_resource");

    Console.WriteLine("Press any key to exit.");
    Console.ReadKey();

Azure AI 서비스 리소스 만들기(C#)

새 Azure AI 서비스 리소스를 만들고 구독하려면 Create 메서드를 사용합니다. 이 메서드는 전달한 리소스 그룹에 새 청구 가능 리소스를 추가합니다. 새 리소스를 만들 때는 가격 책정 계층(또는 SKU) 및 Azure 위치와 함께 사용하려는 서비스의 "종류"를 알아야 합니다. 다음 메서드는 이러한 모든 인수를 인수로 사용하고 리소스를 만듭니다.

static void create_resource(CognitiveServicesManagementClient client, string resource_name, string kind, string account_tier, string location)
{
    Console.WriteLine("Creating resource: " + resource_name + "...");
    /* NOTE If you do not want to use a custom subdomain name, remove the customSubDomainName
    property from CognitiveServicesAccountProperties. */
    CognitiveServicesAccount parameters = 
        new CognitiveServicesAccount(null, null, kind, location, resource_name, new CognitiveServicesAccountProperties(customSubDomainName : subdomain_name), new Sku(account_tier));
    var result = client.Accounts.Create(resource_group_name, resource_name, parameters);
    Console.WriteLine("Resource created.");
    Console.WriteLine("ID: " + result.Id);
    Console.WriteLine("Kind: " + result.Kind);
    Console.WriteLine();
}

서비스 및 가격 책정 계층 선택

새 리소스를 만들 때 사용하려는 서비스의 "종류"와 원하는 가격 책정 계층 (또는 SKU)을 알아야 합니다. 리소스를 만들 때 이 정보와 기타 정보를 매개 변수로 사용합니다. 스크립트에서 다음 메서드를 호출하여 사용 가능한 Azure AI 서비스 "종류"의 목록을 찾을 수 있습니다.

static void list_available_kinds_skus_locations(CognitiveServicesManagementClient client)
{

    Console.WriteLine("Available SKUs:");
    var result = client.ResourceSkus.List();
    Console.WriteLine("Kind\tSKU Name\tSKU Tier\tLocations");
    foreach (var x in result) {
        var locations = "";
        foreach (var region in x.Locations)
        {
            locations += region;
        }
        Console.WriteLine(x.Kind + "\t" + x.Name + "\t" + x.Tier + "\t" + locations);
    };
}

아래 SKU 목록과 가격 정보를 참조하세요.

다중 서비스

서비스 종류
여러 서비스 자세한 내용은 가격 책정 페이지를 참조하십시오. CognitiveServices

시각

서비스 종류
Azure AI Vision ComputerVision
Custom Vision - 예측 CustomVision.Prediction
Custom Vision - 교육 CustomVision.Training
Face Face
문서 인텔리전스 FormRecognizer

음성

서비스 종류
Speech Services SpeechServices

언어

서비스 종류
LUIS LUIS
QnA Maker QnAMaker
언어 서비스 TextAnalytics
텍스트 번역 TextTranslation

의사 결정

서비스 종류
Anomaly Detector AnomalyDetector
Content Moderator ContentModerator
퍼스널라이저 Personalizer

Azure OpenAI

서비스 종류
Azure OpenAI OpenAI

가격 책정 계층 및 청구

가격 책정 계층(및 청구되는 금액)은 인증 정보를 사용하여 보내는 트랜잭션 수를 기반으로 합니다. 각 가격 책정 계층은 다음을 지정합니다.

  • 허용되는 초당 최대 트랜잭션 수(TPS)입니다.
  • 가격 책정 계층 내에서 사용할 수 있는 서비스 기능입니다.
  • 미리 정의된 트랜잭션 수에 대한 비용입니다. 이 숫자를 초과하면 서비스에 대한 가격 세부 정보에 지정된 대로 추가 요금이 발생합니다.

참고 항목

Azure AI 서비스 대부분에서 서비스를 사용해 볼 수 있는 무료 계층이 있습니다. 체험 계층을 사용하려면 리소스의 SKU로 F0을 사용합니다.

리소스 보기

Azure 계정(모든 리소스 그룹)에서 모든 리소스를 보려면 다음 방법을 사용합니다.

static void list_resources(CognitiveServicesManagementClient client)
{
    Console.WriteLine("Resources in resource group: " + resource_group_name);
    var result = client.Accounts.ListByResourceGroup(resource_group_name);
    foreach (var x in result)
    {
        Console.WriteLine("ID: " + x.Id);
        Console.WriteLine("Name: " + x.Name);
        Console.WriteLine("Type: " + x.Type);
        Console.WriteLine("Kind: " + x.Kind);
        Console.WriteLine();
    }
}

리소스 삭제

다음 메서드는 지정된 리소스 그룹에서 지정된 리소스를 삭제합니다.

static void delete_resource(CognitiveServicesManagementClient client, string resource_name)
{
    Console.WriteLine("Deleting resource: " + resource_name + "...");
    client.Accounts.Delete (resource_group_name, resource_name);

    Console.WriteLine("Resource deleted.");
    Console.WriteLine();
}

애플리케이션 실행

dotnet run 명령을 사용하여 애플리케이션 디렉터리에서 애플리케이션을 실행합니다.

dotnet run

참조 설명서 | 라이브러리 소스 코드 | 패키지(Maven)

Java 필수 구성 요소

  • 유효한 Azure 구독 - 체험 구독 만들기
  • JDK(Java Development Kit)의 현재 버전
  • Gradle 빌드 도구 또는 다른 종속성 관리자
  • 책임 있는 AI 약관에 동의하고 리소스를 만들려면 Azure 계정에 Cognitive Services Contributor 역할이 할당되어 있어야 합니다. 이 역할을 계정에 할당하려면 역할 할당의 단계를 수행하거나 관리자에게 문의하세요.
  • Azure Portal에서 첫 번째 Face, 언어 서비스 또는 Azure AI 비전 리소스를 만들어 사용 약관을 검토하고 승인해야 합니다. Face, 언어 서비스, Azure AI 비전에서 수행할 수 있습니다. 그런 다음 동일한 Azure 구독에서 모든 배포 도구(SDK, CLI 또는 ARM 템플릿 등)를 사용하여 후속 리소스를 만들 수 있습니다.

Azure 서비스 주체 만들기

애플리케이션이 Azure 계정과 상호 작용하도록 하려면 권한을 관리하려면 Azure 서비스 주체가 필요합니다. Azure 서비스 주체 만들기의 지침을 따릅니다.

서비스 주체를 만들면 비밀 값, ID 및 애플리케이션 ID가 표시됩니다. 이후 단계를 위해 애플리케이션 ID와 비밀을 임시 위치에 저장합니다.

리소스 그룹 만들기

Azure AI 서비스 리소스를 만들기 전에 계정에 리소스를 포함할 Azure 리소스 그룹이 있어야 합니다. 리소스 그룹이 아직 없는 경우 계속하기 전에 Azure Portal에서 만듭니다.

새 Java 애플리케이션 만들기

콘솔 창(예: cmd, PowerShell 또는 Bash)에서 앱에 대한 새 디렉터리를 만들고 해당 디렉터리로 이동합니다.

mkdir myapp && cd myapp

gradle init 작업 디렉터리에서 명령을 실행합니다. 이 명령은 런타임에 애플리케이션을 만들고 구성하는 데 사용되는 build.gradle.kts를 포함하여 Gradle에 대한 필수 빌드 파일을 만듭니다.

gradle init --type basic

DSL을 선택하라는 메시지가 표시되면 Kotlin을 선택합니다.

작업 디렉터리에서 다음 명령을 실행합니다.

mkdir -p src/main/java

클라이언트 라이브러리 설치

이 빠른 시작에서는 Gradle 종속성 관리자를 사용합니다. Maven 중앙 리포지토리에서 다른 종속성 관리자에 대한 클라이언트 라이브러리 및 정보를 찾을 수 있습니다.

프로젝트의 build.gradle.kts 파일에서 필요한 플러그 인 및 설정과 함께 클라이언트 라이브러리를 implementation 문으로 포함합니다.

plugins {
    java
    application
}
application {
    mainClass.set("FormRecognizer")
}
repositories {
    mavenCentral()
}
dependencies {
    implementation(group = "com.microsoft.azure", name = "azure-mgmt-cognitiveservices", version = "1.10.0-beta")
}

라이브러리 가져오기

src/기본/java 폴더로 이동하고 Management.java라는 파일을 만듭니다. 기본 설정 편집기 또는 IDE에서 열고 다음 import 문을 추가합니다.

import com.azure.core.management.*;
import com.azure.core.management.profile.*;
import com.azure.identity.*;
import com.azure.resourcemanager.cognitiveservices.*;
import com.azure.resourcemanager.cognitiveservices.implementation.*;
import com.azure.resourcemanager.cognitiveservices.models.*;

import java.io.*;
import java.lang.Object.*;
import java.util.*;
import java.net.*;

클라이언트 인증

Management.java에서 클래스를 추가한 다음, 다음 필드와 해당 값을 그 안에 추가합니다. 만든 서비스 주체 및 다른 Azure 계정 정보를 사용하여 해당 값을 채웁다.

/*
Be sure to use the service pricipal application ID, not simply the ID. 
*/

private static String applicationId = "PASTE_YOUR_SERVICE_PRINCIPAL_APPLICATION_ID_HERE";
private static String applicationSecret = "PASTE_YOUR_SERVICE_PRINCIPAL_SECRET_HERE";

/* The ID of your Azure subscription. You can find this in the Azure Dashboard under Home > Subscriptions. */
private static String subscriptionId = "PASTE_YOUR_SUBSCRIPTION_ID_HERE";

/* The Active Directory tenant ID. You can find this in the Azure Dashboard under Home > Azure Active Directory. */
private static String tenantId = "PASTE_YOUR_TENANT_ID_HERE";

/* The name of the Azure resource group in which you want to create the resource.
You can find resource groups in the Azure Dashboard under Home > Resource groups. */
private static String resourceGroupName = "PASTE_YOUR_RESOURCE_GROUP_NAME_HERE";

/* The name of the custom subdomain to use when you create the resource. This is optional.
For example, if you create a Bing Search v7 resource with the custom subdomain name 'my-search-resource',
your resource would have the endpoint https://my-search-resource.cognitiveservices.azure.com/.
Note not all Cognitive Services allow custom subdomain names. */
private static String subDomainName = "PASTE_YOUR_SUBDOMAIN_NAME_HERE";

그런 다음 기본 메서드에서 이러한 값을 사용하여 CognitiveServicesManager 개체를 생성합니다. 이 개체는 모든 Azure 관리 작업에 필요합니다.

/* For more information see:
https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/AUTH.md
*/

ClientSecretCredential credential = new ClientSecretCredentialBuilder()
    .clientId(applicationId)
    .clientSecret(applicationSecret)
    .tenantId(tenantId)
    .build();
AzureProfile profile = new AzureProfile(tenantId, subscriptionId, AzureEnvironment.AZURE);

CognitiveServicesManager client = CognitiveServicesManager.authenticate(credential, profile);

통화 관리 메서드

Main 메서드에 다음 코드를 추가하여 사용 가능한 리소스를 나열하고, 샘플 리소스를 만들고, 소유한 리소스를 나열한 다음, 샘플 리소스를 삭제합니다. 다음 단계에서 이러한 메서드를 정의합니다.

String resourceName = "test_resource";
String resourceKind = "TextTranslation";
String resourceSku = "F0";
Region resourceRegion = Region.US_WEST;

// Uncomment to list all available resource kinds, SKUs, and locations for your Azure account.
// list_available_kinds_skus_locations (client);

// Create a resource with kind Text Translation, SKU F0 (free tier), location US West.
String resourceId = create_resource (client, resourceName, resourceGroupName, resourceKind, resourceSku, resourceRegion);

// Uncomment this to list all resources for your Azure account.
// list_resources (client, resourceGroupName);

// Delete the resource.
delete_resource (client, resourceId);

/* NOTE: When you delete a resource, it is only soft-deleted. You must also purge it. Otherwise, if you try to create another
resource with the same name or custom subdomain, you will receive an error stating that such a resource already exists. */
purge_resource (client, resourceName, resourceGroupName, resourceRegion);

Azure AI 서비스 리소스 만들기(Java)

새 Azure AI 서비스 리소스를 만들고 구독하려면 create 메서드를 사용합니다. 이 메서드는 전달한 리소스 그룹에 새 청구 가능 리소스를 추가합니다. 새 리소스를 만들 때는 가격 책정 계층(또는 SKU) 및 Azure 위치와 함께 사용하려는 서비스의 "종류"를 알아야 합니다. 다음 메서드는 이러한 모든 인수를 인수로 사용하고 리소스를 만듭니다.

public static String create_resource (CognitiveServicesManager client, String resourceName, String resourceGroupName, String resourceKind, String resourceSku, Region resourceRegion) {
    System.out.println ("Creating resource: " + resourceName + "...");

    /* NOTE: If you do not want to use a custom subdomain name, remove the withCustomSubDomainName
    setter from the AccountProperties object. */
    Account result = client.accounts().define(resourceName)
        .withExistingResourceGroup(resourceGroupName)
        // Note: Do not call withRegion() first, as it does not exist on the Blank interface returned by define().
        .withRegion(resourceRegion)
        .withKind(resourceKind)
        .withSku(new Sku().withName(resourceSku))
        .withProperties(new AccountProperties().withCustomSubDomainName(subDomainName))
        .create();

    System.out.println ("Resource created.");
    System.out.println ("ID: " + result.id());
    System.out.println ("Provisioning state: " + result.properties().provisioningState().toString());
    System.out.println ();

    return result.id();
}

서비스 및 가격 책정 계층 선택

새 리소스를 만들 때 사용하려는 서비스의 "종류"와 원하는 가격 책정 계층 (또는 SKU)을 알아야 합니다. 리소스를 만들 때 이 정보와 기타 정보를 매개 변수로 사용합니다. 다음 메서드를 호출하여 사용 가능한 Azure AI 서비스 "종류"의 목록을 찾을 수 있습니다.

public static void list_available_kinds_skus_locations (CognitiveServicesManager client) {
    System.out.println ("Available SKUs:");
    System.out.println("Kind\tSKU Name\tSKU Tier\tLocations");
    ResourceSkus skus = client.resourceSkus();
    for (ResourceSku sku : skus.list()) {
        String locations = String.join (",", sku.locations());
        System.out.println (sku.kind() + "\t" + sku.name() + "\t" + sku.tier() + "\t" + locations);
    }
}

아래 SKU 목록과 가격 정보를 참조하세요.

다중 서비스

서비스 종류
여러 서비스 자세한 내용은 가격 책정 페이지를 참조하십시오. CognitiveServices

시각

서비스 종류
Azure AI Vision ComputerVision
Custom Vision - 예측 CustomVision.Prediction
Custom Vision - 교육 CustomVision.Training
Face Face
문서 인텔리전스 FormRecognizer

음성

서비스 종류
Speech Services SpeechServices

언어

서비스 종류
LUIS LUIS
QnA Maker QnAMaker
언어 서비스 TextAnalytics
텍스트 번역 TextTranslation

의사 결정

서비스 종류
Anomaly Detector AnomalyDetector
Content Moderator ContentModerator
퍼스널라이저 Personalizer

Azure OpenAI

서비스 종류
Azure OpenAI OpenAI

가격 책정 계층 및 청구

가격 책정 계층(및 청구되는 금액)은 인증 정보를 사용하여 보내는 트랜잭션 수를 기반으로 합니다. 각 가격 책정 계층은 다음을 지정합니다.

  • 허용되는 초당 최대 트랜잭션 수(TPS)입니다.
  • 가격 책정 계층 내에서 사용할 수 있는 서비스 기능입니다.
  • 미리 정의된 트랜잭션 수에 대한 비용입니다. 이 숫자를 초과하면 서비스에 대한 가격 세부 정보에 지정된 대로 추가 요금이 발생합니다.

참고 항목

Azure AI 서비스 대부분에서 서비스를 사용해 볼 수 있는 무료 계층이 있습니다. 체험 계층을 사용하려면 리소스의 SKU로 F0을 사용합니다.

리소스 보기

Azure 계정(모든 리소스 그룹)에서 모든 리소스를 보려면 다음 방법을 사용합니다.

public static void list_resources (CognitiveServicesManager client, String resourceGroupName) {
    System.out.println ("Resources in resource group: " + resourceGroupName);
    // Note Azure resources are also sometimes referred to as accounts.
    Accounts accounts = client.accounts();
    for (Account account : accounts.listByResourceGroup(resourceGroupName)) {
        System.out.println ("ID: " + account.id());
        System.out.println ("Kind: " + account.kind ());
        System.out.println ("SKU Name: " + account.sku().name());
        System.out.println ("Custom subdomain name: " + account.properties().customSubDomainName());
        System.out.println ();
    }
}

리소스 삭제

다음 메서드는 지정된 리소스 그룹에서 지정된 리소스를 삭제합니다.

public static void delete_resource (CognitiveServicesManager client, String resourceId) {
    System.out.println ("Deleting resource: " + resourceId + "...");
    client.accounts().deleteById (resourceId);
    System.out.println ("Resource deleted.");
    System.out.println ();
}

참조 설명서 | 라이브러리 소스 코드 | 패키지(npm) | 샘플

JavaScript 필수 구성 요소

  • 유효한 Azure 구독 - 체험 구독 만들기
  • Node.js의 현재 버전
  • 책임 있는 AI 약관에 동의하고 리소스를 만들려면 Azure 계정에 Cognitive Services Contributor 역할이 할당되어 있어야 합니다. 이 역할을 계정에 할당하려면 역할 할당의 단계를 수행하거나 관리자에게 문의하세요.
  • Azure Portal에서 첫 번째 Face, 언어 서비스 또는 Azure AI 비전 리소스를 만들어 사용 약관을 검토하고 승인해야 합니다. Face, 언어 서비스, Azure AI 비전에서 수행할 수 있습니다. 그런 다음 동일한 Azure 구독에서 모든 배포 도구(SDK, CLI 또는 ARM 템플릿 등)를 사용하여 후속 리소스를 만들 수 있습니다.

Azure 서비스 주체 만들기

애플리케이션이 Azure 계정과 상호 작용하도록 하려면 권한을 관리하려면 Azure 서비스 주체가 필요합니다. Azure 서비스 주체 만들기의 지침을 따릅니다.

서비스 주체를 만들면 비밀 값, ID 및 애플리케이션 ID가 표시됩니다. 이후 단계를 위해 애플리케이션 ID와 비밀을 임시 위치에 저장합니다.

리소스 그룹 만들기

Azure AI 서비스 리소스를 만들기 전에 계정에 리소스를 포함할 Azure 리소스 그룹이 있어야 합니다. 리소스 그룹이 아직 없는 경우 계속하기 전에 Azure Portal에서 만듭니다.

새 Node.js 애플리케이션 만들기

콘솔 창(예: cmd, PowerShell 또는 Bash)에서 앱에 대한 새 디렉터리를 만들고 해당 디렉터리로 이동합니다.

mkdir myapp && cd myapp

package.json 파일을 사용하여 노드 애플리케이션을 만들려면 init 명령을 실행합니다.

 init

계속하기 전에 index.js라는 파일을 만듭니다.

클라이언트 라이브러리 설치

다음 npm 패키지를 설치합니다.

npm install @azure/arm-cognitiveservices
npm install @azure/identity

앱의 package.json 파일이 종속성으로 업데이트됩니다.

라이브러리 가져오기

index.js 스크립트를 열고 다음 라이브러리를 가져옵니다.

"use strict";

/* To run this sample, install the following modules.
 * npm install @azure/arm-cognitiveservices @azure/identity
 */
var Arm = require("@azure/arm-cognitiveservices");
var Identity = require("@azure/identity");

클라이언트 인증

만든 서비스 주체 및 Azure 계정 정보를 사용하여 스크립트의 루트에 다음 필드를 추가하고 해당 값을 채웁니다.

const service_principal_application_id =
  "PASTE_YOUR_SERVICE_PRINCIPAL_APPLICATION_ID_HERE";
const service_principal_secret = "PASTE_YOUR_SERVICE_PRINCIPAL_SECRET_HERE";

/* The ID of your Azure subscription. You can find this in the Azure Dashboard under Home > Subscriptions. */
const subscription_id = "PASTE_YOUR_SUBSCRIPTION_ID_HERE";

/* The Active Directory tenant ID. You can find this in the Azure Dashboard under Home > Azure Active Directory. */
const tenant_id = "PASTE_YOUR_TENANT_ID_HERE";

/* The name of the Azure resource group in which you want to create the resource.
You can find resource groups in the Azure Dashboard under Home > Resource groups. */
const resource_group_name = "PASTE_YOUR_RESOURCE_GROUP_NAME_HERE";

/* The name of the custom subdomain to use when you create the resource. This is optional.
For example, if you create a Bing Search v7 resource with the custom subdomain name 'my-search-resource',
your resource would have the endpoint https://my-search-resource.cognitiveservices.azure.com/.
Note not all Cognitive Services allow custom subdomain names.
*/
const subdomain_name = "PASTE_YOUR_SUBDOMAIN_NAME_HERE";

다음으로, 다음 quickstart 함수를 추가하여 프로그램의 기본 작업을 처리합니다. 코드의 첫 번째 블록은 위에서 입력한 자격 증명 변수를 사용하여 CognitiveServicesManagementClient 개체를 생성합니다. 이 개체는 모든 Azure 관리 작업에 필요합니다.

async function quickstart() {
  /* For more information see:
https://www.npmjs.com/package/@azure/arm-cognitiveservices/v/6.0.0
https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-a-service-principal-with-a-client-secret
*/
  const credentials = new Identity.ClientSecretCredential(
    tenant_id,
    service_principal_application_id,
    service_principal_secret
  );
  const client = new Arm.CognitiveServicesManagementClient(
    credentials,
    subscription_id
  );
  // Note Azure resources are also sometimes referred to as accounts.
  const accounts_client = client.accounts;
  const resource_skus_client = client.resourceSkus;
  const deleted_accounts_client = client.deletedAccounts;

호출 관리 함수

quickstart 함수 끝에 다음 코드를 추가하여 사용 가능한 리소스를 나열하고, 샘플 리소스를 만들고, 소유한 리소스를 나열한 다음, 샘플 리소스를 삭제합니다. 다음 단계에서 이러한 함수를 정의합니다.

Azure AI 서비스 리소스 만들기(Node.js)

새 Azure AI 서비스 리소스를 만들고 구독하려면 Create 함수를 사용합니다. 이 함수는 전달한 리소스 그룹에 새 청구 가능 리소스를 추가합니다. 새 리소스를 만들 때 가격 책정 계층(또는 SKU) 및 Azure 위치와 함께 사용할 서비스의 "종류"를 알아야 합니다. 다음 함수는 이러한 인수를 모두 사용하여 리소스를 만듭니다.

async function create_resource(
  client,
  resource_name,
  resource_kind,
  resource_sku,
  resource_region
) {
  console.log("Creating resource: " + resource_name + "...");
  /* NOTE If you do not want to use a custom subdomain name, remove the customSubDomainName
property from the properties object. */
  var parameters = {
    sku: { name: resource_sku },
    kind: resource_kind,
    location: resource_region,
    properties: { customSubDomainName: subdomain_name },
  };
  return client
    .beginCreateAndWait(resource_group_name, resource_name, parameters)
    .then((result) => {
      console.log("Resource created.");
      console.log();
      console.log("ID: " + result.id);
      console.log("Kind: " + result.kind);
      console.log();
    })
    .catch((err) => {
      console.log(err);
    });
}

서비스 및 가격 책정 계층 선택

새 리소스를 만들 때 사용하려는 서비스의 "종류"와 원하는 가격 책정 계층 (또는 SKU)을 알아야 합니다. 리소스를 만들 때 이 정보와 기타 정보를 매개 변수로 사용합니다. 다음 함수는 사용 가능한 Azure AI 서비스 "종류"를 나열합니다.

async function list_available_kinds_skus_locations(client) {
  console.log("Available SKUs:");
  var result = client.list();
  console.log("Kind\tSKU Name\tSKU Tier\tLocations");
  for await (let item of result) {
    var locations = item.locations.join(",");
    console.log(item.kind + "\t" + item.name + "\t" + item.tier + "\t" + locations);
  }
}

아래 SKU 목록과 가격 정보를 참조하세요.

다중 서비스

서비스 종류
여러 서비스 자세한 내용은 가격 책정 페이지를 참조하십시오. CognitiveServices

시각

서비스 종류
Azure AI Vision ComputerVision
Custom Vision - 예측 CustomVision.Prediction
Custom Vision - 교육 CustomVision.Training
Face Face
문서 인텔리전스 FormRecognizer

음성

서비스 종류
Speech Services SpeechServices

언어

서비스 종류
LUIS LUIS
QnA Maker QnAMaker
언어 서비스 TextAnalytics
텍스트 번역 TextTranslation

의사 결정

서비스 종류
Anomaly Detector AnomalyDetector
Content Moderator ContentModerator
퍼스널라이저 Personalizer

Azure OpenAI

서비스 종류
Azure OpenAI OpenAI

가격 책정 계층 및 청구

가격 책정 계층(및 청구되는 금액)은 인증 정보를 사용하여 보내는 트랜잭션 수를 기반으로 합니다. 각 가격 책정 계층은 다음을 지정합니다.

  • 허용되는 초당 최대 트랜잭션 수(TPS)입니다.
  • 가격 책정 계층 내에서 사용할 수 있는 서비스 기능입니다.
  • 미리 정의된 트랜잭션 수에 대한 비용입니다. 이 숫자를 초과하면 서비스에 대한 가격 세부 정보에 지정된 대로 추가 요금이 발생합니다.

참고 항목

Azure AI 서비스 대부분에서 서비스를 사용해 볼 수 있는 무료 계층이 있습니다. 체험 계층을 사용하려면 리소스의 SKU로 F0을 사용합니다.

리소스 보기

Azure 계정(모든 리소스 그룹)에서 모든 리소스를 보려면 다음 함수를 사용합니다.

async function list_resources(client) {
  console.log("Resources in resource group: " + resource_group_name);
  var result = client.listByResourceGroup(resource_group_name);
  for await (let item of result) {
    console.log(item);
    console.log();
  }
}

리소스 삭제

다음 함수는 지정된 리소스 그룹에서 지정된 리소스를 삭제합니다.

async function delete_resource(client, resource_name) {
  console.log("Deleting resource: " + resource_name + "...");
  await client.beginDeleteAndWait(resource_group_name, resource_name);
  console.log("Resource deleted.");
  console.log();
}

애플리케이션 실행

스크립트 맨 아래에 다음 코드를 추가하여 오류 처리로 기본 quickstart 함수를 호출합니다.

try {
  quickstart();
} catch (error) {
  console.log(error);
}

그런 다음 콘솔 창에서 명령을 사용하여 애플리케이션을 실행합니다 node .

node index.js

참조 설명서 | 라이브러리 PyPi(소스 코드 | 패키지) 샘플 |

Python 필수 구성 요소

  • 유효한 Azure 구독 - 체험 구독 만들기
  • Python 3.x
  • 책임 있는 AI 약관에 동의하고 리소스를 만들려면 Azure 계정에 Cognitive Services Contributor 역할이 할당되어 있어야 합니다. 이 역할을 계정에 할당하려면 역할 할당의 단계를 수행하거나 관리자에게 문의하세요.
  • Azure Portal에서 첫 번째 Face, 언어 서비스 또는 Azure AI 비전 리소스를 만들어 사용 약관을 검토하고 승인해야 합니다. Face, 언어 서비스, Azure AI 비전에서 수행할 수 있습니다. 그런 다음 동일한 Azure 구독에서 모든 배포 도구(SDK, CLI 또는 ARM 템플릿 등)를 사용하여 후속 리소스를 만들 수 있습니다.

Azure 서비스 주체 만들기

애플리케이션이 Azure 계정과 상호 작용하도록 하려면 권한을 관리하려면 Azure 서비스 주체가 필요합니다. Azure 서비스 주체 만들기의 지침을 따릅니다.

서비스 주체를 만들면 비밀 값, ID 및 애플리케이션 ID가 표시됩니다. 이후 단계를 위해 애플리케이션 ID와 비밀을 임시 위치에 저장합니다.

리소스 그룹 만들기

Azure AI 서비스 리소스를 만들기 전에 계정에 리소스를 포함할 Azure 리소스 그룹이 있어야 합니다. 리소스 그룹이 아직 없는 경우 계속하기 전에 Azure Portal에서 만듭니다.

새 Python 애플리케이션 만들기

기본 설정 편집기 또는 IDE에서 새 Python 애플리케이션을 만들고 콘솔 창에서 프로젝트로 이동합니다.

클라이언트 라이브러리 설치

다음을 사용하여 클라이언트 라이브러리를 설치할 수 있습니다.

pip install azure-mgmt-cognitiveservices

또한 Microsoft Entra 토큰 인증 지원을 위한 Azure ID 라이브러리를 설치합니다.

pip install azure-identity

라이브러리 가져오기

Python 스크립트를 열고 다음 라이브러리를 가져옵니다.

import time
from azure.identity import ClientSecretCredential
from azure.mgmt.cognitiveservices import CognitiveServicesManagementClient
from azure.mgmt.cognitiveservices.models import Account, Sku

클라이언트 인증

만든 서비스 주체 및 Azure 계정 정보를 사용하여 스크립트의 루트에 다음 필드를 추가하고 해당 값을 채웁니다.

# Be sure to use the service pricipal application ID, not simply the ID. 
service_principal_application_id = "PASTE_YOUR_SERVICE_PRINCIPAL_APPLICATION_ID_HERE"
service_principal_secret = "PASTE_YOUR_SERVICE_PRINCIPAL_SECRET_HERE"

# The ID of your Azure subscription. You can find this in the Azure Dashboard under Home > Subscriptions.
subscription_id = "PASTE_YOUR_SUBSCRIPTION_ID_HERE"

# The Active Directory tenant ID. You can find this in the Azure Dashboard under Home > Azure Active Directory.
tenant_id = "PASTE_YOUR_TENANT_ID_HERE"

# The name of the Azure resource group in which you want to create the resource.
# You can find resource groups in the Azure Dashboard under Home > Resource groups.
resource_group_name = "PASTE_YOUR_RESOURCE_GROUP_NAME_HERE"

# The name of the custom subdomain to use when you create the resource. This is optional.
# For example, if you create a Bing Search v7 resource with the custom subdomain name 'my-search-resource',
# your resource would have the endpoint https://my-search-resource.cognitiveservices.azure.com/.
# Note not all Cognitive Services allow custom subdomain names.
subdomain_name = "PASTE_YOUR_SUBDOMAIN_NAME_HERE"

# How many seconds to wait between checking the status of an async operation.
wait_time = 10

그런 다음, CognitiveServicesManagementClient 개체를 구성하는 다음 코드를 추가합니다. 이 개체는 모든 Azure 관리 작업에 필요합니다.

credential = ClientSecretCredential(tenant_id, service_principal_application_id, service_principal_secret)
client = CognitiveServicesManagementClient(credential, subscription_id)

Azure AI 서비스 리소스 만들기(Python)

새 Azure AI 서비스 리소스를 만들고 구독하려면 Create 함수를 사용합니다. 이 함수는 전달한 리소스 그룹에 새 청구 가능 리소스를 추가합니다. 새 리소스를 만들 때 가격 책정 계층(또는 SKU) 및 Azure 위치와 함께 사용할 서비스의 "종류"를 알아야 합니다. 다음 함수는 이러한 인수를 모두 사용하여 리소스를 만듭니다.

def create_resource (resource_name, kind, sku_name, location) :
    print("Creating resource: " + resource_name + "...")

# NOTE If you do not want to use a custom subdomain name, remove the customSubDomainName
# property from the properties object.
    parameters = Account(sku=Sku(name=sku_name), kind=kind, location=location, properties={ 'custom_sub_domain_name' : subdomain_name })

    poller = client.accounts.begin_create(resource_group_name, resource_name, parameters)
    while (False == poller.done ()) :
        print ("Waiting {wait_time} seconds for operation to finish.".format (wait_time = wait_time))
        time.sleep (wait_time)
# This will raise an exception if the server responded with an error.
    result = poller.result ()

    print("Resource created.")
    print()
    print("ID: " + result.id)
    print("Name: " + result.name)
    print("Type: " + result.type)
    print()

서비스 및 가격 책정 계층 선택

새 리소스를 만들 때 사용하려는 서비스의 "종류"와 원하는 가격 책정 계층 (또는 SKU)을 알아야 합니다. 리소스를 만들 때 이 정보와 기타 정보를 매개 변수로 사용합니다. 다음 함수는 사용 가능한 Azure AI 서비스 "종류"를 나열합니다.

def list_available_kinds_skus_locations():
    print("Available SKUs:")
    result = client.resource_skus.list()
    print("Kind\tSKU Name\tSKU Tier\tLocations")
    for x in result:
        locations = ",".join(x.locations)
        print(x.kind + "\t" + x.name + "\t" + x.tier + "\t" + locations)

아래 SKU 목록과 가격 정보를 참조하세요.

다중 서비스

서비스 종류
여러 서비스 자세한 내용은 가격 책정 페이지를 참조하십시오. CognitiveServices

시각

서비스 종류
Azure AI Vision ComputerVision
Custom Vision - 예측 CustomVision.Prediction
Custom Vision - 교육 CustomVision.Training
Face Face
문서 인텔리전스 FormRecognizer

음성

서비스 종류
Speech Services SpeechServices

언어

서비스 종류
LUIS LUIS
QnA Maker QnAMaker
언어 서비스 TextAnalytics
텍스트 번역 TextTranslation

의사 결정

서비스 종류
Anomaly Detector AnomalyDetector
Content Moderator ContentModerator
퍼스널라이저 Personalizer

Azure OpenAI

서비스 종류
Azure OpenAI OpenAI

가격 책정 계층 및 청구

가격 책정 계층(및 청구되는 금액)은 인증 정보를 사용하여 보내는 트랜잭션 수를 기반으로 합니다. 각 가격 책정 계층은 다음을 지정합니다.

  • 허용되는 초당 최대 트랜잭션 수(TPS)입니다.
  • 가격 책정 계층 내에서 사용할 수 있는 서비스 기능입니다.
  • 미리 정의된 트랜잭션 수에 대한 비용입니다. 이 숫자를 초과하면 서비스에 대한 가격 세부 정보에 지정된 대로 추가 요금이 발생합니다.

참고 항목

Azure AI 서비스 대부분에서 서비스를 사용해 볼 수 있는 무료 계층이 있습니다. 체험 계층을 사용하려면 리소스의 SKU로 F0을 사용합니다.

리소스 보기

Azure 계정(모든 리소스 그룹)에서 모든 리소스를 보려면 다음 함수를 사용합니다.

def list_resources():
    print("Resources in resource group: " + resource_group_name)
    result = client.accounts.list_by_resource_group(resource_group_name)
    for x in result:
        print(x.name)
        print(x)
        print()

리소스 삭제

다음 함수는 지정된 리소스 그룹에서 지정된 리소스를 삭제합니다.

def delete_resource(resource_name) :
    print("Deleting resource: " + resource_name + "...")

    poller = client.accounts.begin_delete(resource_group_name, resource_name)
    while (False == poller.done ()) :
        print ("Waiting {wait_time} seconds for operation to finish.".format (wait_time = wait_time))
        time.sleep (wait_time)
# This will raise an exception if the server responded with an error.
    result = poller.result ()

    print("Resource deleted.")

호출 관리 함수

위의 함수를 호출하려면 스크립트의 맨 아래에 다음 코드를 추가합니다. 이 코드는 사용 가능한 리소스를 나열하고, 샘플 리소스를 만들고, 소유한 리소스를 나열한 다음, 샘플 리소스를 삭제합니다.

resource_name = "test_resource"
resource_kind = "TextTranslation"
resource_sku = "F0"
resource_location = "Global"

# Uncomment this to list all available resource kinds, SKUs, and locations for your Azure account.
#list_available_kinds_skus_locations ()

# Create a resource with kind Text Translation, SKU F0 (free tier), location global.
create_resource(resource_name, resource_kind, resource_sku, resource_location)

# Uncomment this to list all resources for your Azure account.
#list_resources()

# Delete the resource.
delete_resource(resource_name)

# NOTE: Deleting a resource only soft-deletes it. To delete it permanently, you must purge it.
# Otherwise, if you later try to create a resource with the same name, you will receive the following error:
# azure.core.exceptions.ResourceExistsError: (FlagMustBeSetForRestore) An existing resource with ID '<your resource ID>' has been soft-deleted. To restore the resource, you must specify 'restore' to be 'true' in the property. If you don't want to restore existing resource, please purge it first.
# Code: FlagMustBeSetForRestore

# Purge the resource.
purge_resource(resource_name, resource_location)

애플리케이션 실행

python 명령을 사용하여 명령줄에서 애플리케이션을 실행합니다.

python <your-script-name>.py

다음 단계