Key Vault를 사용하여 Azure AI 서비스 애플리케이션 개발

Azure Key Vault를 사용하여 Azure AI 서비스 애플리케이션을 안전하게 개발하는 방법을 알아봅니다.

Key Vault는 애플리케이션에 보안 정보를 저장하지 않기 때문에 비밀이 실수로 유출될 수 있는 위험을 줄입니다.

필수 조건

참고 항목

다음을 이해하기 위해 사용하는 Azure AI 서비스에 대한 설명서 및 빠른 시작 문서를 검토합니다.

  • API 호출을 보내는 데 필요한 자격 증명 및 기타 정보
  • 애플리케이션을 실행하는 데 필요한 패키지 및 코드

Azure AI 서비스 리소스에서 자격 증명 가져오기

자격 증명 정보를 Azure 키 자격 증명 모음에 추가하기 전에 먼저 Azure AI 서비스 리소스에서 해당 정보를 검색해야 합니다. 예를 들어 서비스에 키와 엔드포인트가 필요한 경우 다음 단계를 사용하여 찾을 수 있습니다.

  1. Azure Portal에서 Azure 리소스로 이동합니다.

  2. 왼쪽의 축소 가능한 메뉴에서 키 및 엔드포인트를 선택합니다.

    A screenshot showing the key and endpoint page in the Azure portal.

일부 Azure AI 서비스에는 API 호출을 인증하기 위해 키 및 지역과 같은 다른 정보가 필요합니다. 계속하기 전에 이 정보를 검색해야 합니다.

키 자격 증명 모음에 자격 증명 추가

애플리케이션에서 사용자 인증 정보를 검색하고 사용하여 API 호출을 인증하려면 키 자격 증명 모음 비밀에 추가해야 합니다.

다음 단계를 반복하여 필요한 각 리소스 자격 증명에 대한 비밀을 생성합니다. 예를 들어 키 및 엔드포인트입니다. 이러한 비밀 이름은 나중에 애플리케이션을 인증하는 데 사용됩니다.

  1. 새 브라우저 탭 또는 창을 엽니다. Azure Portal에서 키 자격 증명 모음으로 이동합니다.

  2. 왼쪽의 축소 가능한 메뉴에서 개체>비밀을 차례로 선택합니다.

  3. 생성/가져오기를 선택합니다.

    A screenshot showing the key vault key page in the Azure portal.

  4. 비밀 만들기 화면에서 다음 값을 입력합니다.

    속성
    업로드 옵션 설명서
    이름 키 또는 엔드포인트의 비밀 이름입니다. 예: "CognitiveServicesKey" 또는 "CognitiveServicesEndpoint"
    Azure AI 서비스 리소스 키 또는 엔드포인트입니다.

    나중에 애플리케이션에서 비밀 "이름"을 사용하여 "값"에 안전하게 액세스합니다.

  5. 다른 값을 기본값으로 둡니다. 만들기를 실행합니다.

    나중에 애플리케이션에서 사용하므로 비밀에 대해 설정한 이름을 기억해야 합니다.

이제 리소스 정보에 대해 명명된 비밀이 있습니다.

키 자격 증명 모음 이름에 대한 환경 변수 만들기

Azure 키 자격 증명 모음 이름에 대한 환경 변수를 만드는 것이 좋습니다. 애플리케이션은 런타임에 이 환경 변수를 읽어 키 및 엔드포인트 정보를 검색합니다.

환경 변수를 설정하려면 다음 명령 중 하나를 사용합니다. KEY_VAULT_NAME을 환경 변수의 이름으로 바꾸고, Your-Key-Vault-Name을 환경 변수에 저장되는 키 자격 증명 모음의 이름으로 바꿉니다.

값이 지정된 경우 지속형 환경 변수를 만들고 할당합니다.

setx KEY_VAULT_NAME "Your-Key-Vault-Name"

명령 프롬프트새 인스턴스에서 환경 변수를 읽습니다.

echo %KEY_VAULT_NAME%

Visual Studio를 사용하여 Azure에 인증

Visual Studio 2017 이상을 사용하는 개발자는 Visual Studio를 통해 Microsoft Entra 계정을 인증할 수 있습니다. 이렇게 하면 IDE 내에서 Azure 구독에 로그인하여 키 자격 증명 모음의 비밀에 액세스할 수 있습니다.

Visual Studio에서 인증하려면 위쪽 탐색 메뉴에서 도구를 선택하고, 옵션을 선택합니다. Azure Service 인증 옵션으로 이동하여 사용자 이름과 암호로 로그인합니다.

명령줄을 사용하여 인증

키 자격 증명 모음에 대한 액세스 권한을 부여하려면 먼저 Microsoft Entra 사용자 이름 및 암호를 사용하여 인증해야 합니다.

Azure CLI를 사용하여 인증하려면 az login 명령을 실행합니다.

az login

기본 웹 브라우저가 있는 시스템에서 Azure CLI는 브라우저를 시작하여 인증합니다. 기본 웹 브라우저가 없는 시스템의 경우 az login 명령은 디바이스 코드 인증 흐름을 사용합니다. 또한 --use-device-code 인수를 지정하여 브라우저를 시작하는 대신 Azure CLI에서 디바이스 코드 흐름을 사용하도록 강제할 수 있습니다.

여러 구독이 있는 경우 키 자격 증명 모음이 포함된 Azure 구독을 선택해야 합니다.

키 자격 증명 모음에 대한 액세스 권한 부여

비밀 권한을 사용자 계정에 부여하는 키 자격 증명 모음에 대한 액세스 정책을 만듭니다.

액세스 정책을 설정하려면 az keyvault set-policy 명령을 실행합니다. Your-Key-Vault-Name을 키 자격 증명 모음의 이름으로 바꿉니다. Microsoft Entra 사용자 이름으로 대체 user@domain.com 합니다.

az keyvault set-policy --name Your-Key-Vault-Name --upn user@domain.com --secret-permissions delete get list set purge

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

Visual Studio IDE를 사용하여 새 .NET Core 콘솔 앱을 만듭니다. 그러면 단일 C# 소스 파일이 program.cs있는 "헬로 월드" 프로젝트가 만들어질 것입니다.

솔루션 탐색기에서 솔루션을 마우스 오른쪽 단추로 클릭하고 NuGet 패키지 관리를 선택하여 다음 클라이언트 라이브러리를 설치합니다. 열리는 패키지 관리자에서 찾아보기를 선택하고, 다음 라이브러리를 검색하고, 각각에 대해 설치를 선택합니다.

  • Azure.Security.KeyVault.Secrets
  • Azure.Identity

예제 코드 가져오기

다음 예제 코드를 program.cs 파일에 복사합니다. Your-Key-Secret-NameYour-Endpoint-Secret-Name을 키 자격 증명 모음에 설정한 비밀 이름으로 바꿉니다.

using System;
using System.Threading.Tasks;
using Azure;
using Azure.Identity;
using Azure.Security.KeyVault.Secrets;
using System.Net;

namespace key_vault_console_app
{
    class Program
    {
        static async Task Main(string[] args)
        {
            //Name of your key vault
            var keyVaultName = Environment.GetEnvironmentVariable("KEY_VAULT_NAME");

            //variables for retrieving the key and endpoint from your key vault.
            //Set these variables to the names you created for your secrets
            const string keySecretName = "Your-Key-Secret-Name";
            const string endpointSecretName = "Your-Endpoint-Secret-Name";

            //Endpoint for accessing your key vault
            var kvUri = $"https://{keyVaultName}.vault.azure.net";

            var keyVaultClient = new SecretClient(new Uri(kvUri), new DefaultAzureCredential());

            Console.WriteLine($"Retrieving your secrets from {keyVaultName}.");

            //Key and endpoint secrets retrieved from your key vault
            var keySecret = await keyVaultClient.GetSecretAsync(keySecretName);
            var endpointSecret = await keyVaultClient.GetSecretAsync(endpointSecretName);
            Console.WriteLine($"Your key secret value is: {keySecret.Value.Value}");
            Console.WriteLine($"Your endpoint secret value is: {endpointSecret.Value.Value}");
            Console.WriteLine("Secrets retrieved successfully");

        }
    }
}

애플리케이션 실행

Visual studio의 위쪽에서 디버그 단추를 선택하여 애플리케이션을 실행합니다. 키 및 엔드포인트 비밀이 키 자격 증명 모음에서 검색됩니다.

테스트 언어 서비스 호출 보내기(선택 사항)

다중 서비스 리소스 또는 언어 리소스를 사용하는 경우 키 자격 증명 모음에서 키와 엔드포인트를 검색하여 명명된 엔터티 인식 호출 예제를 보내도록 다음 단계에 따라 애플리케이션을 업데이트할 수 있습니다.

  1. 솔루션 탐색기에서 마우스 오른쪽 단추로 솔루션을 클릭하고 NuGet 패키지 관리를 선택하여 Azure.AI.TextAnalytics 라이브러리를 설치합니다. 열리는 패키지 관리자에서 찾아보기를 선택하고, 다음 라이브러리를 검색하고, 각각에 대해 설치를 선택합니다.

  2. 다음 지시문을 program.cs 파일의 위쪽에 추가합니다.

    using Azure.AI.TextAnalytics;
    
  3. 다음 코드 샘플을 애플리케이션에 추가합니다.

    // Example method for extracting named entities from text 
    private static void EntityRecognitionExample(string keySecret, string endpointSecret)
    {
        //String to be sent for Named Entity Recognition
        var exampleString = "I had a wonderful trip to Seattle last week.";
    
        AzureKeyCredential azureKeyCredential = new AzureKeyCredential(keySecret);
        Uri endpoint = new Uri(endpointSecret);
        var languageServiceClient = new TextAnalyticsClient(endpoint, azureKeyCredential);
    
        Console.WriteLine($"Sending a Named Entity Recognition (NER) request");
        var response = languageServiceClient.RecognizeEntities(exampleString);
        Console.WriteLine("Named Entities:");
        foreach (var entity in response.Value)
        {
            Console.WriteLine($"\tText: {entity.Text},\tCategory: {entity.Category},\tSub-Category: {entity.SubCategory}");
            Console.WriteLine($"\t\tScore: {entity.ConfidenceScore:F2},\tLength: {entity.Length},\tOffset: {entity.Offset}\n");
        }
    }
    
  4. 키 및 엔드포인트 값을 사용하여 기본 메서드에서 EntityRecognitionExample()을 호출하는 다음 코드를 추가합니다.

    EntityRecognitionExample(keySecret.Value.Value, endpointSecret.Value.Value);
    
  5. 애플리케이션을 실행합니다.

애플리케이션 인증

키 자격 증명 모음에 대한 액세스 권한을 부여하려면 먼저 Microsoft Entra 사용자 이름 및 암호를 사용하여 인증해야 합니다.

Azure CLI를 사용하여 인증하려면 az login 명령을 실행합니다.

az login

기본 웹 브라우저가 있는 시스템에서 Azure CLI는 브라우저를 시작하여 인증합니다. 기본 웹 브라우저가 없는 시스템의 경우 az login 명령은 디바이스 코드 인증 흐름을 사용합니다. 또한 --use-device-code 인수를 지정하여 브라우저를 시작하는 대신 Azure CLI에서 디바이스 코드 흐름을 사용하도록 강제할 수 있습니다.

여러 구독이 있는 경우 키 자격 증명 모음이 포함된 Azure 구독을 선택해야 합니다.

키 자격 증명 모음에 대한 액세스 권한 부여

비밀 권한을 사용자 계정에 부여하는 키 자격 증명 모음에 대한 액세스 정책을 만듭니다.

액세스 정책을 설정하려면 az keyvault set-policy 명령을 실행합니다. Your-Key-Vault-Name을 키 자격 증명 모음의 이름으로 바꿉니다. Microsoft Entra 사용자 이름으로 대체 user@domain.com 합니다.

az keyvault set-policy --name Your-Key-Vault-Name --upn user@domain.com --secret-permissions delete get list set purge

Python 애플리케이션 만들기

이름이 keyVaultExample인 새 폴더를 만듭니다. 그런 다음, 기본 설정 코드 편집기를 사용하여 program.py라는 파일을 새로 만든 폴더 내에 만듭니다.

Key Vault 및 언어 서비스 패키지 설치

  1. 터미널 또는 명령 프롬프트에서 프로젝트 폴더로 이동하여 Microsoft Entra ID 라이브러리를 설치합니다.

    pip install azure-identity
    
  2. Key Vault 비밀 라이브러리를 설치합니다.

    pip install azure-keyvault-secrets
    

예제 코드 가져오기

다음 코드 샘플을 program.py라는 파일에 추가합니다. Your-Key-Secret-NameYour-Endpoint-Secret-Name을 키 자격 증명 모음에 설정한 비밀 이름으로 바꿉니다.

import os
from azure.keyvault.secrets import SecretClient
from azure.identity import DefaultAzureCredential
from azure.core.credentials import AzureKeyCredential

keyVaultName = os.environ["KEY_VAULT_NAME"]

# Set these variables to the names you created for your secrets
keySecretName = "Your-Key-Secret-Name"
endpointSecretName = "Your-Endpoint-Secret-Name"

# URI for accessing key vault
KVUri = f"https://{keyVaultName}.vault.azure.net"

# Instantiate the client and retrieve secrets
credential = DefaultAzureCredential()
kv_client = SecretClient(vault_url=KVUri, credential=credential)

print(f"Retrieving your secrets from {keyVaultName}.")

retrieved_key = kv_client.get_secret(keySecretName).value
retrieved_endpoint = kv_client.get_secret(endpointSecretName).value

print(f"Your secret key value is {retrieved_key}.");
print(f"Your secret endpoint value is {retrieved_endpoint}.");

애플리케이션 실행

다음 명령을 사용하여 애플리케이션을 실행합니다. 키 및 엔드포인트 비밀이 키 자격 증명 모음에서 검색됩니다.

python ./program.py

테스트 언어 서비스 호출 보내기(선택 사항)

다중 서비스 리소스 또는 언어 리소스를 사용하는 경우 키 자격 증명 모음에서 키와 엔드포인트를 검색하여 명명된 엔터티 인식 호출 예제를 보내도록 다음 단계에 따라 애플리케이션을 업데이트할 수 있습니다.

  1. 언어 서비스 라이브러리를 설치합니다.

    pip install azure-ai-textanalytics==5.1.0
    
  2. 다음 코드를 애플리케이션에 추가합니다.

    from azure.ai.textanalytics import TextAnalyticsClient
    # Authenticate the key vault secrets client using your key and endpoint 
    azure_key_credential = AzureKeyCredential(retrieved_key)
    # Now you can use key vault credentials with the Language service
    language_service_client = TextAnalyticsClient(
        endpoint=retrieved_endpoint, 
        credential=azure_key_credential)
    
    # Example of recognizing entities from text
    
    print("Sending NER request")
    
    try:
        documents = ["I had a wonderful trip to Seattle last week."]
        result = language_service_client.recognize_entities(documents = documents)[0]
        print("Named Entities:\n")
        for entity in result.entities:
            print("\tText: \t", entity.text, "\tCategory: \t", entity.category, "\tSubCategory: \t", entity.subcategory,
                    "\n\tConfidence Score: \t", round(entity.confidence_score, 2), "\tLength: \t", entity.length, "\tOffset: \t", entity.offset, "\n")
    
    except Exception as err:
        print("Encountered exception. {}".format(err))
    
  3. 애플리케이션을 실행합니다.

애플리케이션 인증

키 자격 증명 모음에 대한 액세스 권한을 부여하려면 먼저 Microsoft Entra 사용자 이름 및 암호를 사용하여 인증해야 합니다.

Azure CLI를 사용하여 인증하려면 az login 명령을 실행합니다.

az login

기본 웹 브라우저가 있는 시스템에서 Azure CLI는 브라우저를 시작하여 인증합니다. 기본 웹 브라우저가 없는 시스템의 경우 az login 명령은 디바이스 코드 인증 흐름을 사용합니다. 또한 --use-device-code 인수를 지정하여 브라우저를 시작하는 대신 Azure CLI에서 디바이스 코드 흐름을 사용하도록 강제할 수 있습니다.

여러 구독이 있는 경우 키 자격 증명 모음이 포함된 Azure 구독을 선택해야 합니다.

키 자격 증명 모음에 대한 액세스 권한 부여

비밀 권한을 사용자 계정에 부여하는 키 자격 증명 모음에 대한 액세스 정책을 만듭니다.

액세스 정책을 설정하려면 az keyvault set-policy 명령을 실행합니다. Your-Key-Vault-Name을 키 자격 증명 모음의 이름으로 바꿉니다. Microsoft Entra 사용자 이름으로 대체 user@domain.com 합니다.

az keyvault set-policy --name Your-Key-Vault-Name --upn user@domain.com --secret-permissions delete get list set purge

Java 애플리케이션 만들기

기본 설정 IDE에서 새 Java 콘솔 애플리케이션 프로젝트를 만들고, Example이라는 클래스를 만듭니다.

종속성 추가

프로젝트에서 다음 종속성을 pom.xml 파일에 추가합니다.

<dependencies>

        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-security-keyvault-secrets</artifactId>
            <version>4.2.3</version>
        </dependency>
        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-identity</artifactId>
            <version>1.2.0</version>
        </dependency>
    </dependencies>

예제 코드 가져오기

다음 코드를 Example.java라는 파일에 복사합니다. Your-Key-Secret-NameYour-Endpoint-Secret-Name을 키 자격 증명 모음에 설정한 비밀 이름으로 바꿉니다.

import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.security.keyvault.secrets.SecretClient;
import com.azure.security.keyvault.secrets.SecretClientBuilder;
import com.azure.core.credential.AzureKeyCredential;

public class Example {

    public static void main(String[] args) {

        String keyVaultName = System.getenv("KEY_VAULT_NAME");
        String keyVaultUri = "https://" + keyVaultName + ".vault.azure.net";

        //variables for retrieving the key and endpoint from your key vault.
        //Set these variables to the names you created for your secrets
        String keySecretName = "Your-Key-Secret-Name";
        String endpointSecretName = "Your-Endpoint-Secret-Name";

        //Create key vault secrets client
        SecretClient secretClient = new SecretClientBuilder()
                .vaultUrl(keyVaultUri)
                .credential(new DefaultAzureCredentialBuilder().build())
                .buildClient();

        //retrieve key and endpoint from key vault
        String keyValue = secretClient.getSecret(keySecretName).getValue();
        String endpointValue = secretClient.getSecret(endpointSecretName).getValue();
        System.out.printf("Your secret key value is: %s", keyValue)
        System.out.printf("Your secret endpoint value is: %s", endpointValue)
    }
}

테스트 언어 서비스 호출 보내기(선택 사항)

다중 서비스 리소스 또는 언어 리소스를 사용하는 경우 키 자격 증명 모음에서 키와 엔드포인트를 검색하여 명명된 엔터티 인식 호출 예제를 보내도록 다음 단계에 따라 애플리케이션을 업데이트할 수 있습니다.

  1. 애플리케이션에서 다음 종속성을 추가합니다.

    <dependency>
        <groupId>com.azure</groupId>
        <artifactId>azure-ai-textanalytics</artifactId>
        <version>5.1.12</version>
    </dependency>
    
  2. 다음 import 문을 파일에 추가합니다.

    import com.azure.ai.textanalytics.models.*;
    import com.azure.ai.textanalytics.TextAnalyticsClientBuilder;
    import com.azure.ai.textanalytics.TextAnalyticsClient;
    
  3. 다음 코드를 애플리케이션의 main() 메서드에 추가합니다.

    
    TextAnalyticsClient languageClient = new TextAnalyticsClientBuilder()
            .credential(new AzureKeyCredential(keyValue))
            .endpoint(endpointValue)
            .buildClient();
    
    // Example for recognizing entities in text
    String text = "I had a wonderful trip to Seattle last week.";
    
    for (CategorizedEntity entity : languageClient.recognizeEntities(text)) {
        System.out.printf(
                "Recognized entity: %s, entity category: %s, entity sub-category: %s, score: %s, offset: %s, length: %s.%n",
                entity.getText(),
                entity.getCategory(),
                entity.getSubcategory(),
                entity.getConfidenceScore(),
                entity.getOffset(),
                entity.getLength());
    }
    
  4. 애플리케이션 실행

애플리케이션 인증

키 자격 증명 모음에 대한 액세스 권한을 부여하려면 먼저 Microsoft Entra 사용자 이름 및 암호를 사용하여 인증해야 합니다.

Azure CLI를 사용하여 인증하려면 az login 명령을 실행합니다.

az login

기본 웹 브라우저가 있는 시스템에서 Azure CLI는 브라우저를 시작하여 인증합니다. 기본 웹 브라우저가 없는 시스템의 경우 az login 명령은 디바이스 코드 인증 흐름을 사용합니다. 또한 --use-device-code 인수를 지정하여 브라우저를 시작하는 대신 Azure CLI에서 디바이스 코드 흐름을 사용하도록 강제할 수 있습니다.

여러 구독이 있는 경우 키 자격 증명 모음이 포함된 Azure 구독을 선택해야 합니다.

키 자격 증명 모음에 대한 액세스 권한 부여

비밀 권한을 사용자 계정에 부여하는 키 자격 증명 모음에 대한 액세스 정책을 만듭니다.

액세스 정책을 설정하려면 az keyvault set-policy 명령을 실행합니다. Your-Key-Vault-Name을 키 자격 증명 모음의 이름으로 바꿉니다. Microsoft Entra 사용자 이름으로 대체 user@domain.com 합니다.

az keyvault set-policy --name Your-Key-Vault-Name --upn user@domain.com --secret-permissions delete get list set purge

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

키 자격 증명 모음을 사용하는 Node.js 애플리케이션을 만듭니다.

터미널에서 key-vault-js-example라는 폴더를 만들고 해당 폴더로 변경합니다.

mkdir key-vault-js-example && cd key-vault-js-example

Node.js 프로젝트를 초기화합니다.

npm init -y

Key Vault 및 언어 서비스 패키지 설치

  1. 터미널을 사용하여 Azure Key Vault 비밀 라이브러리(Node.js용 @azure/keyvault-secrets)를 설치합니다.

    npm install @azure/keyvault-secrets
    
  2. Azure ID 라이브러리인 @azure/identity 패키지를 설치하여 Key Vault에 인증합니다.

    npm install @azure/identity
    

코드 샘플 가져오기

다음 코드 샘플을 index.js라는 파일에 추가합니다. Your-Key-Secret-NameYour-Endpoint-Secret-Name을 키 자격 증명 모음에 설정한 비밀 이름으로 바꿉니다.

const { SecretClient } = require("@azure/keyvault-secrets");
const { DefaultAzureCredential } = require("@azure/identity");
// Load the .env file if it exists
const dotenv = require("dotenv");
dotenv.config();

async function main() {
    const credential = new DefaultAzureCredential();

    const keyVaultName = process.env["KEY_VAULT_NAME"];
    const url = "https://" + keyVaultName + ".vault.azure.net";

    const kvClient = new SecretClient(url, credential);

    // Set these variables to the names you created for your secrets
    const keySecretName = "Your-Key-Secret-Name";
    const endpointSecretName = "Your-Endpoint-Secret-Name";

    console.log("Retrieving secrets from ", keyVaultName);
    const retrievedKey = await (await kvClient.getSecret(keySecretName)).value;
    const retrievedEndpoint = await (await kvClient.getSecret(endpointSecretName)).value;
    console.log("Your secret key value is: ", retrievedKey);
    console.log("Your secret endpoint value is: ", retrievedEndpoint);
}

main().catch((error) => {
  console.error("An error occurred:", error);
  process.exit(1);
});

샘플 애플리케이션 실행

다음 명령을 사용하여 애플리케이션을 실행합니다. 키 및 엔드포인트 비밀이 키 자격 증명 모음에서 검색됩니다.

node index.js

테스트 언어 서비스 호출 보내기(선택 사항)

다중 서비스 리소스 또는 언어 리소스를 사용하는 경우 키 자격 증명 모음에서 키와 엔드포인트를 검색하여 명명된 엔터티 인식 호출 예제를 보내도록 다음 단계에 따라 애플리케이션을 업데이트할 수 있습니다.

  1. 언어용 Azure AI 서비스 라이브러리인 @azure/ai-text-analytics를 설치하여 API 요청을 언어 서비스에 보냅니다.

    npm install @azure/ai-text-analytics@5.1.0
    
  2. 애플리케이션에 다음 코드를 추가합니다.

    const { TextAnalyticsClient, AzureKeyCredential } = require("@azure/ai-text-analytics");
    // Authenticate the language client with your key and endpoint
    const languageClient = new TextAnalyticsClient(retrievedEndpoint,  new AzureKeyCredential(retrievedKey));
    
    // Example for recognizing entities in text
    console.log("Sending NER request")
    const entityInputs = [
        "I had a wonderful trip to Seattle last week."
    ];
    const entityResults = await languageClient.recognizeEntities(entityInputs);
    entityResults.forEach(document => {
        console.log(`Document ID: ${document.id}`);
        document.entities.forEach(entity => {
            console.log(`\tName: ${entity.text} \tCategory: ${entity.category} \tSubcategory: ${entity.subCategory ? entity.subCategory : "N/A"}`);
            console.log(`\tScore: ${entity.confidenceScore}`);
        });
    });
    
  3. 애플리케이션을 실행합니다.

다음 단계