クイックスタート: Azure OpenAI を統合する

Note

Azure Spring Apps は、Azure Spring Cloud サービスの新しい名前です。 サービスの名前は新しくなりましたが、スクリーンショット、ビデオ、図などの資産の更新に取り組んでいる間、場所によってはしばらく古い名前が表示されます。

この記事の適用対象:❌ Basic または Standard ✔️ Enterprise

このクイックスタートでは、Azure Spring Apps Enterprise プランにデプロイされたアプリケーションと Azure OpenAI を統合する方法を示します。

Azure OpenAI を使うと、言語とコードを深く理解する大規模な生成 AI モデルをアプリケーションで活用し、新しい推論と理解の機能を実現できるようになります。

次の動画は、Azure Spring Apps が Azure OpenAI を使ってインテリジェント アプリケーションを構築する方法を示しています。


前提条件

Azure OpenAI をプロビジョニングする

AI をアプリケーションに追加するには、Azure OpenAI アカウントを作成し、言語モデルをデプロイします。 以下の手順では、Azure CLI を使って Azure OpenAI アカウントをプロビジョニングし、言語モデルをデプロイする方法について説明します。

  1. 次のコマンドを使って Azure OpenAI アカウントを作成します。

    az cognitiveservices account create \
        --resource-group <resource-group-name> \
        --name <open-ai-service-name> \
        --location <region> \
        --kind OpenAI \
        --sku s0 \
        --custom-domain <open-ai-service-name>   
    
  2. 次のコマンドを使って、Azure OpenAI サービス インスタンスに text-embedding-ada-002gpt-35-turbo-16k のモデル デプロイを作成します。

    az cognitiveservices account deployment create \
        --resource-group <resource-group-name> \
        --name <open-ai-service-name> \
        --deployment-name text-embedding-ada-002 \
        --model-name text-embedding-ada-002 \
        --model-version "2"  \
        --model-format OpenAI \
        --sku-name "Standard" \
        --sku-capacity 1
    
    az cognitiveservices account deployment create \
        --resource-group <resource-group-name> \
        --name <open-ai-service-name> \
        --deployment-name gpt-35-turbo-16k \
        --model-name gpt-35-turbo-16k \
        --model-version "0613"  \
        --model-format OpenAI \
        --sku-name "Standard" \
        --sku-capacity 1
    

Assist Service を Azure Spring Apps にデプロイする

以下の手順を使って、Assist Service アプリケーションを作成、構成し、Azure Spring Apps にデプロイします。

  1. 次のコマンドを使って、新しい AI サービス assist-service を作成します。

    az spring app create \
        --resource-group <resource-group-name> \
        --name assist-service \
        --service <Azure-Spring-Apps-service-instance-name> \
        --instance-count 1 \
        --memory 1Gi
    
  2. 次のコマンドを使い、Assist Service ルートを使って Spring Cloud Gateway を構成します。

    az spring gateway route-config create \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-service-instance-name> \
        --name assist-routes \
        --app-name assist-service \
        --routes-file azure-spring-apps-enterprise/resources/json/routes/assist-service.json
    
  3. 次のコマンドを使って、Azure OpenAI サービスの REST API エンドポイントのベース URL を取得します。

    export SPRING_AI_AZURE_OPENAI_ENDPOINT=$(az cognitiveservices account show \
        --name <open-ai-service-name> \
        --resource-group <resource-group-name> \
        | jq -r .properties.endpoint)
    
  4. 次のコマンドを使ってプライマリ API キーを取得します。

    export SPRING_AI_AZURE_OPENAI_APIKEY=$(az cognitiveservices account keys list \
        --name <open-ai-service-name> \
        --resource-group <resource-group-name> \
        | jq -r .key1)
    
  5. 次のコマンドを使って、Assist Service アプリケーションをデプロイします。

    az spring app deploy 
        --resource-group <resource-group-name> \
        --name assist-service \
        --service <Azure-Spring-Apps-service-instance-name> \
        --source-path apps/acme-assist \
        --build-env BP_JVM_VERSION=17 \
        --env \
            SPRING_AI_AZURE_OPENAI_ENDPOINT=${SPRING_AI_AZURE_OPENAI_ENDPOINT} \
            SPRING_AI_AZURE_OPENAI_APIKEY=${SPRING_AI_AZURE_OPENAI_APIKEY} \
            SPRING_AI_AZURE_OPENAI_MODEL=gpt-35-turbo-16k \
            SPRING_AI_AZURE_OPENAI_EMBEDDINGMODEL=text-embedding-ada-002
    
  6. 次に、ブラウザーで Fitness Store アプリケーションをテストします。 [ASK TO FITASSIST] (FITASSIST に聞く) を選んで Assist Service アプリケーションと会話します。

    Screenshot that shows the ASK TO FITASSIST button.

  7. FitAssist で「通勤には自転車が必要です」と入力し、Assist Service アプリケーションによって生成された出力を確認します。

    Screenshot that shows the 'I need a bike for a commute to work' query and the response from the Fitness Store assistant.

リソースをクリーンアップする

後続のクイック スタートおよびチュートリアルを引き続き実行する場合は、これらのリソースをそのまま残しておくことができます。 不要になったら、リソース グループを削除します。これにより、リソース グループ内のリソースが削除されます。 Azure CLI を使用してリソース グループを削除するには、次のコマンドを使用します。

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

次のステップ

次のいずれかの省略可能なクイックスタートに進みます: