你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Azure 容器应用上部署启用了 AI 的 Spring PetClinic 实例

在本文中,你将了解如何使用 Azure OpenAI 服务和 Azure 容器应用为 Spring PetClinic 示例应用程序创建自然语言接口。

PetClinic 主页的屏幕截图。

有关此应用程序体系结构详细信息,请参阅容器应用中的 Java PetClinic AI 示例概述

注意事项

  • 部署时间:本文中部署的启用了 AI 的应用程序需要一系列连接的服务才能运行。 部署可能需要 15 分钟以上才能完成。 在学习本教程时,请相应地规划好你的时间。

  • 模型可用性:示例应用程序使用 Azure OpenAI 服务部署模块 gpt-4otext-embedding-ada-002,这些模块可能并非在所有 Azure 区域都可用。

    有关可用性的详细信息,请参阅 Azure OpenAI 服务模型并选择所需的部署区域。 为获得最佳效果,请考虑使用以下区域之一:美国东部、美国东部 2、美国中北部、美国中南部、瑞典中部、美国西部或美国西部 3。

先决条件

安装

  1. 使用以下命令将示例应用程序克隆到计算机上:

    git clone https://github.com/Azure-Samples/spring-petclinic-ai.git
    
  2. 使用以下命令导航到 spring-petclinic-ai 文件夹

    cd spring-petclinic-ai
    
  3. 如果尚未安装,请使用以下命令为 Azure CLI 安装 containerapp 扩展:

    az extension add --name containerapp --upgrade
    
  4. 使用以下命令安全地登录到 Azure 帐户:

    az auth login  
    

    此命令会打开一个网页,你可以在该网页中输入你的 Azure 凭据进行身份验证。

部署

  1. 使用以下命令自动部署应用程序:

    azd up
    
  2. 当出现提示时,输入 my-first-ai 作为环境名称。

    之后,输入 Azure SubscriptionAzure ___location 的值,用你实际的值替换以下提示中 <..> 占位符的值:

    ? Enter a new environment name: my-first-ai
    ? Select an Azure Subscription to use: <SUBSCRIPTION>
    ? Select an Azure ___location to use: <REGION>
    

    提供所有必需的值后,可能需要等待 15 分钟以上,以便应用程序完成部署。

    部署完成后,你会看到类似于以下的输出,通知你部署成功:

    (✓) Done: Resource group: rg-my-first-ai (5.977s)
    (✓) Done: Virtual Network: vnet-my-first-ai (7.357s)
    (✓) Done: Container Registry: crb36onby7z5ooc (25.742s)
    (✓) Done: Azure OpenAI: openai-my-first-ai (25.324s)
    (✓) Done: Azure AI Services Model Deployment: openai-my-first-ai/text-embedding-ada-002 (42.909s)
    (✓) Done: Azure AI Services Model Deployment: openai-my-first-ai/gpt-4o (44.21s)
    (✓) Done: Container Apps Environment: aca-env-my-first-ai (3m1.361s)
    (✓) Done: Container App: petclinic-ai (22.701s)
    
    INFO: Deploy finish succeed!
    INFO: App url: petclinic-ai.<CLUSTER>.<REGION>.azurecontainerapps.io
    
    Packaging services (azd package)
    
    (✓) Done: Packaging service petclinic-ai
    
    Deploying services (azd deploy)
    
    (✓) Done: Deploying service petclinic-ai
    - Endpoint: https://petclinic-ai.<CLUSTER>.<REGION>.azurecontainerapps.io/
    
    SUCCESS: Your up workflow to provision and deploy to Azure completed in 17 minutes 40 seconds.
    
  3. 找到应用程序 URL。

    检查输出,找到部署成功的消息,然后将 URL 复制到剪贴板中。

    成功消息类似于以下输出:

    INFO: Deploy finish succeed!
    INFO: App url: https://petclinic-ai.<CLUSTER>.<REGION>.azurecontainerapps.io
    

试用应用程序

  1. 使用你在上一部分结尾处复制的 URL,在 Web 浏览器中查看应用程序。

  2. 可以通过如下所示的提示与聊天机器人交互:

    • 列出所有已注册的宠物主人。
    • 添加新的宠物主人 Steve。
    • 将 Steve 的名字更改为 Steven。
    • 添加名为 Spot 的宠物。
    • 列出系统中的所有兽医。

下图显示了要求应用程序向系统中添加新宠物主人的结果:

AI 聊天助手添加新主人(包括地址和其他信息)以及有关一只宠物的信息的屏幕截图。

更新

试用示例时,如果想将对应用程序所做的任何更改进行部署,可以使用以下命令来发布更改:

azd package
azd deploy

清理资源

如果打算继续学习后续的教程,可能需要保留这些资源。 当你不再需要资源时,请删除资源组,这也会删除其中的资源。

要删除资源,请使用 Azure 门户找到此示例的资源组,然后将其删除。