| page_type | 語言 | 產品 | urlfragment | 姓名 | 描述 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
樣本 |
|
| App-Templates-Java-Openai-SpringApps | AI購物車 - Java,Azure Openai和Azure Spring Apps的應用模板 | AI購物車樣本應用程序,帶有Azure Openai和Azure Spring應用程序 |
AI購物車是一種示例應用程序,可以通過AI的力量來增強您的購物體驗。它利用Azure Openai和Azure Spring應用程序來構建推薦引擎,該引擎不僅可擴展,彈性和安全,而且還可以滿足您的需求。利用Azure Openai,該應用程序對購物車中的物品進行營養分析,並使用這些成分生成前3個食譜。使用Azure開發人員CLI(AZD),您只需在Azure啟動和運行此功能齊全的示例應用程序即可。讓我們開始吧!
該示例申請在這項原始作品上啟發了靈感:https://github.com/lopezleandro03/ai-assisted-groceries-cart-cart
有關更多與
azd兼容的樣本,請參閱App模板存儲庫README。

gpt-4或gpt-35-turbo [Note]的Azure OpenAI要了解如何開始使用任何模板,請遵循此快速啟動。對於此模板Azure-Samples/app-templates-java-openai-springapps ,您需要執行一些其他步驟,如下所述。
此QuickStart將向您展示如何在Azure上進行身份驗證,啟用AZD的Spring Apps Alpha功能,使用模板初始化,設置Azure Openai的環境變量,提供基礎結構,然後將代碼部署到Azure:
# Log in to azd if you haven't already
azd auth login
# Enable Azure Spring Apps alpha feature for azd
azd config set alpha.springapp on
# First-time project setup. Initialize a project in the current directory using this template
azd init --template Azure-Samples/app-templates-java-openai-springapps
# Set the environment variables for Azure OpenAI
azd env set azureOpenAiApiKey < replace-with-Azure-OpenAi-API-key >
azd env set azureOpenAiEndpoint < replace-with-Azure-OpenAi-endpoint >
azd env set azureOpenAiDeploymentId < replace-with-Azure-OpenAi-deployment-id/name >
# To use GPT-3.5 Turbo model set this environment variable to false
azd env set isAzureOpenAiGpt4Model true
# Provision and deploy to Azure
azd up筆記
- 用您的Azure OpenAI資源中的值代替佔位符。
- 如果您使用的是
gpt-35-turbo模型,則需要在配置資源並將示例應用程序部署到Azure之前,將isAzureOpenAiGpt4Model設置為false:azd env set isAzureOpenAiGpt4Model false
在部署結束時,您將看到前端的URL。打開瀏覽器中的URL以查看應用程序中的應用程序。
該示例應用程序使用以下Azure資源:
這是一個說明這些組件的高級體系結構圖。除了Azure Openai之外,所有其他資源都是在您使用azd up創建資源時創建的單個資源組中提供的。

此模板將資源提供給Azure訂閱,您將在提供它們後選擇。請參閱Microsoft Azure的定價計算器,並在需要時更新
infra/main.bicep中的隨附的Azure資源定義,以適應您的需求。
該示例應用程序使用Azure Openai。它不是自動部署過程的一部分。您需要創建Azure OpenAI資源並配置應用程序以使用它。請按照Azure OpenAI文檔中的說明訪問Azure OpenAi。在開始使用Azure OpenAI並請求訪問之前,請不要忘記閱讀Azure OpenAI模型的負責人AI實踐的概述。
示例應用程序的當前版本需要公開訪問的Azure OpenAI資源(即允許從所有網絡訪問)。該樣本不打算用於生產中。要了解有關Azure OpenAI的網絡和安全性的更多信息,請參考Azure OpenAI文檔。
該示例應用程序被開發為與gpt-4模型一起使用。它還支持gpt-35-turbo 。要使用gpt-35-turbo ,您需要將isAzureOpenAiGpt4Model設置為false (參見QuickStart)。默認情況下,此參數/環境變量設置為true 。要完成應用程序的設置,您需要從Azure OpenAI資源中設置以下信息:
azureOpenAiApiKey -Azure OpenAI API鍵azureOpenAiEndpoint -Azure Openai端點azureOpenAiDeploymentId - gpt-4或gpt-3.5-turbo型號的Azure OpenAI部署ID API鍵和端點可以在Azure門戶中找到。您可以按照以下說明進行操作:檢索密鑰和ENPOINT。部署ID對應於本指南中的deployment name 。
及時工程對於從Azure Openai獲得最佳結果很重要。文本提示是用戶與GPT模型交互的方式。與所有生成性大語言模型(LLM)一樣,GPT模型嘗試生成最有可能遵循先前文本的下一系列單詞。這有點像問AI模型:當我說<prompt>時,想到的第一件事是什麼?
使用聊天完成API,提示的不同部分將發送到與特定角色相關聯的API:系統,用戶和助攻。系統消息在提示的開始時包含,並用於為模型提供初始說明:助理的描述,人格特質,指令/規則將遵循,等等。
AI Shopping Cart Service正在為Java使用Azure OpenAi客戶庫庫。此誹謗是Java的Azure SDK的一部分。它被用作聊天完成。在服務中,我們在SystemMessageConstants.java中有2個系統消息:一種用於AI營養分析的系統,一個用於生成前3個食譜。系統消息之後是用戶消息: The basket is: <list of items in the basket separated by a comma> 。助理消息是模型的響應。該服務正在使用ShoppingCartaireCommentations與Azure Openai進行互動。在此類中,您將找到負責生成提示的代碼並調用Azure OpenAi API: getChatCompletion 。要了解有關此類中使用的溫度和TOPP的更多信息,請參考文檔。
對於gpt-35-turbo模型,將更多上下文添加到用戶消息中。在用戶消息的末尾添加了此附加上下文。它提供了有關JSON格式的更多信息,即OpenAI模型需要返回並要求Model Tor僅返回JSON而沒有其他文本。此其他上下文可在usermessageconstants.java中找到。
該模板的結構遵循Azure開發人員CLI模闆對流。您可以在官方文檔中了解有關azd架構的更多信息。
此時,您已在Azure上部署了一個完整的應用程序。
對於企業需求,尋找部署的多面應用程序,Tanzu組件支持和SLA Assurance,我們建議使用Azure Spring Apps Enterprise。檢查Azure Spring Apps著陸區加速器,該加速器提供了旨在簡化春季啟動和春季雲應用程序的生產準備基礎架構提供和部署到Azure Spring Apps的架構指南。作為工作負載所有者,請使用著陸區加速器提供的建築指導,充滿信心地實現目標技術狀態。
您已經使用Azure開發人員CLI部署了示例應用程序,但是Azure開發人員CLI可以做的更多。這些下一步將向您介紹其他命令,這些命令將使Azure上的應用程序更加容易。使用Azure開發人員CLI,您可以設置管道,監視應用程序,測試和本地調試。
azd down刪除使用此模板創建的所有Azure資源
azd pipeline config配置CI/CD管道(使用GitHub操作或Azure DevOps),每當將代碼推到主分支時,以部署應用程序。
AZURE_OPENAI_API_KEY :Azure OpenAi資源的API密鑰AZURE_OPENAI_ENDPOINT :Azure Openai資源的端點AZURE_OPENAI_DEPLOYMENT_ID :Azure Openai資源的部署ID/名稱IS_AZURE_OPENAI_GPT4_MODEL :如果您使用GPT-4模型,則設置為true false如果使用GPT-3.5 Turbo Model azd monitor - 監視應用程序并快速導航到各種應用程序洞察儀表板(例如概述,實時指標,日誌)
在本地運行和調試 - 使用Visual Studio代碼和Azure開發人員CLI擴展
azd命令Azure開發人員CLI包括許多其他命令,以幫助您獲得Azure開發體驗。您可以通過運行azd help在終端查看這些命令。您還可以在我們的Azure開發人員CLI命令頁面上查看命令的完整列表。
這些是您可以使用的其他資源來了解有關示例應用程序及其基礎技術的更多信息。
該軟件可能會收集有關您的信息和您對軟件的使用,並將其發送給Microsoft。微軟可能會使用此信息來提供服務並改善我們的產品和服務。您可以按照存儲庫中所述關閉遙測。該軟件中還有一些功能可以使您和Microsoft從應用程序的用戶收集數據。如果使用這些功能,則必須遵守適用的法律,包括向您的應用程序用戶提供適當的通知以及Microsoft的隱私聲明副本。我們的隱私聲明位於https://go.microsoft.com/fwlink/?linkid=521839。您可以在幫助文檔和我們的隱私聲明中了解有關數據收集和使用的更多信息。您對軟件的使用作為您同意這些做法的同意。
默認情況下,遙測收集將打開。
要選擇退出,請將變量enableTelemetry設置為false infra/main.parameters.json或二頭肌模板infra/main.bicep 。使用Azure Developer CLI完成配置時,可以使用以下命令設置它:
azd env set enableTelemetry false 該項目可能包含用於項目,產品或服務的商標或徽標。 Microsoft商標或徽標的授權使用受到了Microsoft的商標和品牌準則的約束。在此項目的修改版本中使用Microsoft商標或徽標不得引起混亂或暗示Microsoft贊助。任何使用第三方商標或徽標都遵守這些第三方政策。