| Page_type | Sprachen | Produkte | urlfragment | Name | Beschreibung | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Probe |
|
| App-Templates-Java-Openai-Springapps | KI -Einkaufswagen - App -Vorlage für Java, Azure Openai und Azure Spring Apps | AI -Einkaufswagen -Beispielanwendung mit Azure OpenAI und Azure Spring Apps |
Der KI -Einkaufswagen ist eine Beispielanwendung, die Ihr Einkaufserlebnis mit der Kraft der KI überlastet. Es nutzt Azure Openai und Azure Spring Apps, um eine Empfehlungsmotor zu erstellen, die nicht nur skalierbar, belastbar und sicher ist, sondern auch für Ihre Bedürfnisse personalisiert ist. Die Anwendung nutzt Azure OpenAI und führt eine Ernährungsanalyse auf den Elementen in Ihrem Warenkorb durch und erzeugt die Top 3 Rezepte mit diesen Zutaten. Mit Azure Developer CLI (AZD) sind Sie nur ein paar Befehle davon entfernt, diese voll funktionsfähige Stichprobenanwendung in Azure in Betrieb zu nehmen. Fangen wir an!
Diese Beispielanwendung lässt sich in dieser Originalarbeit inspirieren: https://github.com/lopezleandro03/ai-assisted-groceries-cart
Weitere Beispiele finden Sie im Repository Repository Repository Repository Readme, die mit
azdkompatibel sind.

gpt-4 oder gpt-35-turbo [Hinweis] Um zu erfahren, wie Sie mit jeder Vorlage beginnen, folgen Sie diesem QuickStart. Für diese Vorlage Azure-Samples/app-templates-java-openai-springapps müssen Sie einige zusätzliche Schritte ausführen, wie unten beschrieben.
Dieser QuickStart zeigt Ihnen, wie Sie sich auf Azure authentifizieren, die Feder -Apps Alpha -Funktion für AZD aktivieren, mithilfe einer Vorlage initialisieren, die Umgebungsvariablen für Azure OpenAI einstellen, die Infrastruktur vorlegen und den Code für Azure bereitstellen:
# 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 upNotizen
- Ersetzen Sie die Platzhalter durch die Werte Ihrer Azure OpenAI -Ressource.
- Wenn Sie
gpt-35-turbo-Modell verwenden, müssen SieisAzureOpenAiGpt4Modelauffalsesetzen, bevor Sie die Ressource bereitstellen und die Beispielanwendung für Azure bereitstellen:azd env set isAzureOpenAiGpt4Model false
Am Ende des Einsatzes sehen Sie die URL des Front-Ends. Öffnen Sie die URL in einem Browser, um die Anwendung in Aktion anzuzeigen.
Diese Beispielanwendung verwendet die folgenden Azure -Ressourcen:
Hier ist ein hochstufiges Architekturdiagramm, das diese Komponenten veranschaulicht. Mit Ausnahme von Azure OpenAI werden alle anderen Ressourcen in einer einzelnen Ressourcengruppe bereitgestellt, die beim Erstellen Ihrer azd up erstellt wird.

Diese Vorlage ressourcen zu einem Azure -Abonnement, das Sie bei der Bereitstellung auswählen werden. Weitere Informationen finden Sie im Preisrechner für Microsoft Azure und aktualisieren Sie bei Bedarf die enthaltenen Azure -Ressourcen -Definitionen in
infra/main.bicepum Ihren Anforderungen gerecht zu werden.
Diese Beispielanwendung verwendet Azure OpenAI. Es ist nicht Teil des automatisierten Bereitstellungsprozesses. Sie müssen eine Azure OpenAI -Ressource erstellen und die Anwendung für die Verwendung konfigurieren. Bitte befolgen Sie die Anweisungen in der Dokumentation von Azure OpenAI, um Zugang zu Azure Openai zu erhalten. Vergessen Sie nicht, den Überblick über die verantwortlichen KI -Praktiken für Azure OpenAI -Modelle zu lesen, bevor Sie mit der Verwendung von Azure OpenAI beginnen und Zugriff anfordern.
Die aktuelle Version der Beispiel -App erfordert eine öffentlich zugängliche Azure OpenAI -Ressource (dh den Zugriff aus allen Netzwerken zulassen). Diese Probe soll nicht in der Produktion verwendet werden. Um mehr über Networking und Sicherheit für Azure OpenAI zu erfahren, finden Sie in der Dokumentation von Azure OpenAI.
Diese Beispiel-App wurde entwickelt, um mit gpt-4 Modell verwendet zu werden. Es unterstützt auch gpt-35-turbo . Um gpt-35-turbo zu verwenden, müssen Sie isAzureOpenAiGpt4Model auf false (vgl. QuickStart) setzen. Standardmäßig wird diese Parameter-/Umgebungsvariable auf true eingestellt. Um die Einrichtung der Anwendung abzuschließen, müssen Sie die folgenden Informationen aus der Azure OpenAI -Ressource festlegen:
azureOpenAiApiKey - Azure Openai API -SchlüsselazureOpenAiEndpoint - Azure Openai EndpointazureOpenAiDeploymentId -Azure OpenAI-Bereitstellungs-ID des gpt-4 oder gpt-3.5-turbo -Modells Der API -Schlüssel und der Endpunkt finden Sie im Azure -Portal. Sie können folgende Anweisungen befolgen: Schlüssel und Entzug abrufen. Die Bereitstellungs -ID entspricht dem deployment name in diesem Handbuch.
Schnelltechnik ist wichtig, um die besten Ergebnisse von Azure OpenAI zu erzielen. Textaufforderungen sind, wie Benutzer mit GPT -Modellen interagieren. Wie bei allen generativen Großsprachenmodell (LLM) versuchen GPT -Modelle, die nächste Serie von Wörtern zu produzieren, die am wahrscheinlichsten dem vorherigen Text folgen. Es ist ein bisschen so, als würde man zum KI -Modell fragen: Was ist das erste, was mir in den Sinn kommt, wenn ich <prompt> sage?
Mit der API der Chat Completion -API gibt es unterschiedliche Abschnitte der Eingabeaufforderung, die an die API gesendet werden, die einer bestimmten Rolle zugeordnet ist: System, Benutzer und Assitant. Die Systemmeldung ist zu Beginn der Eingabeaufforderung enthalten und wird verwendet, um die anfänglichen Anweisungen für das Modell zu erhalten: Beschreibung des Assitants, Persönlichkeitsmerkmale, Anweisungen/Regeln, die sie folgen, usw.
AI Shopping Cart Service nutzt die Azure Openai Client Library für Java. Diese Libary ist Teil von Azure SDK für Java. Es wird als Chat -Abschluss implementiert. Im Dienst haben wir 2 Systemnachrichten in SystemMessageConstants.java: Eine für die AI -Ernährungsanalyse und eine, um Top -3 -Rezepte zu generieren. Auf die Systemmeldung folgt eine Benutzernachricht: The basket is: <list of items in the basket separated by a comma> . Die Assistenznachricht ist die Antwort aus dem Modell. Der Service nutzt die Einkaufsmöglichkeiten, um mit Azure OpenAI zu interagieren. In dieser Klasse finden Sie den Code, der für die Generierung der Eingabeaufforderung und den Aufrufen der Azure OpenAI -API: getChatCompletion verantwortlich ist. Um mehr über die in dieser Klasse verwendete Temperatur und TOPP zu erfahren, finden Sie in der Dokumentation.
Für gpt-35-turbo Modell wird der Benutzernachricht mehr Kontext hinzugefügt. Dieser zusätzliche Kontext wird am Ende der Benutzernachricht hinzugefügt. Es enthält weitere Informationen zum Format des JSON, das das OpenAI -Modell zurückgeben muss und das Modell für die Rückgabe nur den JSON ohne zusätzlichen Text anfordern muss. Dieser zusätzliche Kontext ist in UsermessageConstants.java verfügbar.
Diese Vorlage ist so strukturiert, dass sie den Azure -Entwickler -CLI -Vorlagenkonferenzen folgen. In der offiziellen Dokumentation erfahren Sie mehr über azd -Architektur.
Zu diesem Zeitpunkt haben Sie eine vollständige Anwendung auf Azure bereitgestellt.
Für die Anforderungen von Unternehmen, die Bereitstellung von Polyglot -Anwendungen, die Unterstützung von Tanzu -Komponenten und die SLA -Zusicherung suchen, empfehlen wir, Azure Spring Apps Enterprise zu verwenden. Überprüfen Sie den Azure Spring Apps Landing Zone Accelerator, der architektonische Leitlinien zur Verfügung stellt, um die Bereitstellung von Produktionsbereitschaft in der Infrastruktur zu optimieren, und die Bereitstellung von Spring -Boot- und Spring -Cloud -Anwendungen für Azure -Spring -Apps. Verwenden Sie als Besitzer der Arbeitsbelastung die Architektur -Leitlinien, die in der Landezone Accelerator bereitgestellt werden, um Ihren technischen Zustand mit Vertrauen zu erreichen.
Sie haben die Beispielanwendung mit Azure Developer CLI bereitgestellt, aber es gibt viel mehr, was der Azure -Entwickler CLI tun kann. In diesen nächsten Schritten werden Sie zusätzliche Befehle vorstellen, mit denen die Erstellung von Anwendungen auf Azure erheblich erleichtert wird. Mit dem Azure Developer CLI können Sie Ihre Pipelines einrichten, Ihre Anwendung überwachen, testen und lokal debuggen.
azd down - um alle mit dieser Vorlage erstellten Azure -Ressourcen zu löschen
azd pipeline config - So konfigurieren Sie eine CI/CD -Pipeline (unter Verwendung von Github -Aktionen oder Azure DevOps), um Ihre Anwendung bereitzustellen, wenn der Code in die Hauptzweigung gedrückt wird.
AZURE_OPENAI_API_KEY : API -Schlüssel für Azure OpenAI -RessourceAZURE_OPENAI_ENDPOINT : Endpunkt für Azure OpenAI -RessourceAZURE_OPENAI_DEPLOYMENT_ID : Bereitstellungs -ID/Name für Azure OpenAI -RessourceIS_AZURE_OPENAI_GPT4_MODEL : Setzen Sie auf true , wenn Sie ein GPT-4-Modell verwenden, und auf false wenn Sie GPT-3.5-Turbo-Modell verwenden azd monitor - Überwachung der Anwendung und schnell zu den verschiedenen Dashboards von Anwendungseinsichten (z. B. Übersicht, Live -Metriken, Protokolle)
Leiten Sie lokal aus und debuggen
azd -Befehle Der Azure Developer CLI enthält viele andere Befehle, die bei Ihrer Azure -Entwicklungserfahrung helfen. Sie können diese Befehle am Terminal anzeigen, indem Sie azd help ausführen. Sie können auch die vollständige Liste der Befehle auf unserer Befehlsseite von Azure Developer CLI anzeigen.
Dies sind zusätzliche Ressourcen, mit denen Sie mehr über die Stichprobenanwendung und ihre zugrunde liegenden Technologien erfahren können.
Die Software kann Informationen über Sie und Ihre Verwendung der Software sammeln und an Microsoft senden. Microsoft kann diese Informationen verwenden, um Dienstleistungen bereitzustellen und unsere Produkte und Dienstleistungen zu verbessern. Sie können die Telemetrie wie im Repository beschrieben ausschalten. Es gibt auch einige Funktionen in der Software, die es Ihnen und Microsoft ermöglichen, Daten von Benutzern Ihrer Anwendungen zu sammeln. Wenn Sie diese Funktionen verwenden, müssen Sie das anwendbare Recht einhalten, einschließlich der Bereitstellung geeigneter Hinweise für Benutzer Ihrer Anwendungen sowie eine Kopie der Datenschutzanweisung von Microsoft. Unsere Datenschutzerklärung befindet sich unter https://go.microsoft.com/fwlink/?linkid=521839. Weitere Informationen zur Datenerfassung und Verwendung in der Help -Dokumentation und in unserer Datenschutzanweisung. Ihre Nutzung der Software wird als Zustimmung zu diesen Praktiken wirkt.
Die Telemetriesammlung erfolgt standardmäßig.
Setzen Sie die variable EnableTelemetrie in infra/main.parameters.json oder in Bizeps-Vorlage infra/main.bicep . Es kann mit dem folgenden Befehl festgelegt werden, wenn die Bereitstellung mit Azure Developer CLI durchgeführt wird:
azd env set enableTelemetry false Dieses Projekt kann Marken oder Logos für Projekte, Produkte oder Dienstleistungen enthalten. Die autorisierte Verwendung von Microsoft -Marken oder Logos unterliegt den Marken- und Markenrichtlinien von Microsoft und muss folgen. Die Verwendung von Microsoft -Marken oder Logos in geänderten Versionen dieses Projekts darf keine Verwirrung verursachen oder Microsoft -Sponsoring implizieren. Jede Verwendung von Marken oder Logos von Drittanbietern unterliegt den Richtlinien dieses Drittanbieters.