| page_type | lenguas | productos | urlfragment | nombre | descripción | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
muestra |
|
| aplicaciones de aplicaciones-java-openai-springapps | AI Shopping Cart - Plantilla de aplicaciones para Java, Azure OpenAi y Azure Spring Apps | Aplicación de muestra de carrito de compras de IA con aplicaciones Azure OpenAi y Azure Spring |
AI Shopping Cart es una aplicación de muestra que sobrealimenta su experiencia de compra con el poder de la IA. Aprovecha las aplicaciones Azure OpenAi y Azure Spring para construir un motor de recomendación que no solo sea escalable, resistente y seguro, sino que también sea personalizado para sus necesidades. Aprovechando Azure Openai, la aplicación realiza un análisis nutricional en los elementos de su carrito y genera las 3 recetas principales utilizando esos ingredientes. Con el desarrollador de Azure CLI (AZD), está a solo unos comandos de tener esta aplicación de muestra completamente funcional en funcionamiento en Azure. ¡Comencemos!
Esta aplicación de muestra se inspira en este trabajo original: https://github.com/lopezleandro03/ai-sisted-groceries-chart
Consulte el ReadMe del repositorio de plantillas de aplicaciones para obtener más muestras que sean compatibles con
azd.

gpt-4 o gpt-35-turbo [nota] Para aprender a comenzar con cualquier plantilla, siga este rápido comienzo. Para esta plantilla Azure-Samples/app-templates-java-openai-springapps , debe ejecutar algunos pasos adicionales como se describe a continuación.
Este arranque rápido le mostrará cómo autenticarse en Azure, habilitar la función Alpha Alpha de Spring Apps para AZD, inicializar usando una plantilla, establecer las variables de entorno para Azure OpenAI, provisar la infraestructura e implementar el código en 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 upNotas
- Reemplace a los marcadores de posición con los valores de su recurso Azure OpenAI.
- Si está utilizando el modelo
gpt-35-turbo, debe establecerisAzureOpenAiGpt4Modelenfalseantes de aprovisionar el recurso e implementar la aplicación de muestra en Azure:azd env set isAzureOpenAiGpt4Model false
Al final del despliegue, verá la URL del front-end. Abra la URL en un navegador para ver la aplicación en acción.
Esta aplicación de muestra utiliza los siguientes recursos de Azure:
Aquí hay un diagrama de arquitectura de alto nivel que ilustra estos componentes. Excepto Azure Openai, todos los demás recursos se aprovisionan en un solo grupo de recursos que se crea cuando crea sus recursos utilizando azd up .

Esta plantilla disposición recursos a una suscripción de Azure que seleccionará al aprovisionarlos. Consulte la calculadora de precios para Microsoft Azure y, si es necesario, actualice las definiciones de recursos de Azure incluidas que se encuentran en
infra/main.biceppara satisfacer sus necesidades.
Esta aplicación de muestra usa Azure OpenAI. No es parte del proceso de implementación automatizado. Deberá crear un recurso Azure OpenAI y configurar la aplicación para usarla. Siga las instrucciones en la documentación de Azure Openai para obtener acceso a Azure OpenAI. No olvide leer la descripción general de las prácticas de IA responsables para los modelos Azure OpenAI antes de comenzar a usar Azure OpenAI y solicitar acceso.
La versión actual de la aplicación de muestra requiere un recurso Azure OpenAI de acceso público (es decir, permitir el acceso desde todas las redes). Esta muestra no está destinada a ser utilizada en la producción. Para saber más sobre las redes y la seguridad de Azure OpenAI, consulte la documentación de Azure OpenAI.
Esta aplicación de muestra fue desarrollada para ser utilizada con el modelo gpt-4 . También es compatible con gpt-35-turbo . Para usar gpt-35-turbo , debe establecer isAzureOpenAiGpt4Model en false (cf. QuickStart). De manera predeterminada, esta variable de parámetro/entorno se establece en true . Para completar la configuración de la aplicación, debe establecer la siguiente información del recurso Azure OpenAI:
azureOpenAiApiKey - llave de la API de Azure OpenaiazureOpenAiEndpoint - Azure OpenAi EndpointazureOpenAiDeploymentId -Azure OpenAi ID de implementación de gpt-4 o Modelo gpt-3.5-turbo La clave API y el punto final se pueden encontrar en el portal Azure. Puede seguir estas instrucciones: recuperar la tecla y el enpoint. La ID de implementación corresponde al deployment name en esta guía.
La ingeniería rápida es importante para obtener los mejores resultados de Azure OpenAi. Las indicaciones de texto son cómo los usuarios interactúan con los modelos GPT. Al igual que con todo el modelo de lenguaje grande generativo (LLM), los modelos GPT intentan producir la siguiente serie de palabras que tienen más probabilidades de seguir el texto anterior. Es un poco como pedirle al modelo AI: ¿Qué es lo primero que me viene a la mente cuando digo <prompt> ?
Con la API de finalización de chat, hay distintas secciones de la solicitud que se envían a la API asociada con un rol específico: sistema, usuario y assitante. El mensaje del sistema se incluye al principio de la solicitud y se utiliza para proporcionar las instrucciones iniciales al modelo: Descripción del Assitante, Rasgos de personalidad, Instrucciones/Reglas que seguirá, etc.
AI Shopping Cart Service está utilizando la biblioteca de clientes de Azure OpenAI para Java. Esta liberación es parte de Azure SDK para Java. Se implementa como una finalización de chat. En el servicio, tenemos 2 mensajes del sistema en SystemMessageConstants.java: uno para el análisis de nutrición de IA y uno para generar las 3 recetas principales. El mensaje del sistema es seguido por un mensaje de usuario: The basket is: <list of items in the basket separated by a comma> . El mensaje del asistente es la respuesta del modelo. El servicio está utilizando CompetingCartairecomemendations para interactuar con Azure OpenAi. En esta clase encontrará el código responsable de generar el aviso y llamar a la API de Azure OpenAI: getChatCompletion . Para saber más sobre la temperatura y la topp utilizada en esta clase, consulte la documentación.
Para el modelo gpt-35-turbo , se agrega más contexto al mensaje del usuario. Este contexto adicional se agrega al final del mensaje del usuario. Proporciona más información sobre el formato del JSON que el modelo OpenAI necesita regresar y solicitar al modelo para devolver solo el JSON sin texto adicional. Este contexto adicional está disponible en usermessageConstants.java.
Esta plantilla está estructurada para seguir las conveciones de la plantilla de Azure Developer CLI. Puede obtener más información sobre la arquitectura azd en la documentación oficial.
En este punto, tiene una solicitud completa implementada en Azure.
Para las necesidades empresariales, en busca de implementación de aplicaciones políglot, soporte de componentes de Tanzu y garantía de SLA, recomendamos usar Azure Spring Apps Enterprise. Verifique el acelerador de zona de aterrizaje de Azure Spring Apps que proporciona orientación arquitectónica diseñada para optimizar el aprovisionamiento de la infraestructura de producción y la implementación de aplicaciones de arranque de primavera y nube de primavera a aplicaciones de Azure Spring. Como propietario de la carga de trabajo, use la guía arquitectónica proporcionada en el acelerador de zona de aterrizaje para lograr su estado técnico objetivo con confianza.
Ha implementado la aplicación de muestra utilizando Azure Developer CLI, sin embargo, hay mucho más que el desarrollador de Azure CLI puede hacer. Estos próximos pasos le presentarán comandos adicionales que facilitarán la creación de aplicaciones en Azure. Usando el Azure Developer CLI, puede configurar sus tuberías, monitorear su aplicación, probar y depurar localmente.
azd down - para eliminar todos los recursos de Azure creados con esta plantilla
azd pipeline config : para configurar una tubería CI/CD (usando acciones de GitHub o Azure DevOps) para implementar su aplicación cada vez que el código se empuja a la rama principal.
AZURE_OPENAI_API_KEY : clave API para el recurso Azure OpenAIAZURE_OPENAI_ENDPOINT : punto final para el recurso de Azure OpenaiAZURE_OPENAI_DEPLOYMENT_ID : ID/nombre de implementación para el recurso de Azure OpenAIIS_AZURE_OPENAI_GPT4_MODEL : Establecer en true si está utilizando el modelo GPT-4 y en false si está utilizando el modelo Turbo GPT-3.5 azd monitor : para monitorear la aplicación y navegar rápidamente hasta los diversos paneles de información de la aplicación (por ejemplo, descripción general, métricas en vivo, registros)
Ejecutar y depurar localmente: utilizando el código Visual Studio y el desarrollador de Azure CLI Extension
azd adicionales El Azure Developer CLI incluye muchos otros comandos para ayudar con su experiencia de desarrollo de Azure. Puede ver estos comandos en el terminal ejecutando azd help . También puede ver la lista completa de comandos en nuestra página de comando Azure Developer CLI.
Estos son recursos adicionales que puede usar para aprender más sobre la aplicación de muestra y sus tecnologías subyacentes.
El software puede recopilar información sobre usted y su uso del software y enviarla a Microsoft. Microsoft puede usar esta información para proporcionar servicios y mejorar nuestros productos y servicios. Puede apagar la telemetría como se describe en el repositorio. También hay algunas características en el software que pueden permitirle a usted y a Microsoft recopilar datos de los usuarios de sus aplicaciones. Si utiliza estas funciones, debe cumplir con la ley aplicable, incluida la proporcionar avisos apropiados a los usuarios de sus aplicaciones junto con una copia de la declaración de privacidad de Microsoft. Nuestra declaración de privacidad se encuentra en https://go.microsoft.com/fwlink/?linkid=521839. Puede obtener más información sobre la recopilación y el uso de datos en la documentación de ayuda y nuestra declaración de privacidad. Su uso del software opera como su consentimiento para estas prácticas.
La colección de telemetría está activada de forma predeterminada.
Para optar por no participar, establezca la variable habilitanemetría en falso en infra/main.parameters.json o en plantilla de biceps infra/main.bicep . Se puede configurar utilizando el siguiente comando cuando el Provisioning se realiza con Azure Developer CLI:
azd env set enableTelemetry false Este proyecto puede contener marcas comerciales o logotipos para proyectos, productos o servicios. El uso autorizado de marcas o logotipos de Microsoft está sujeto y debe seguir las pautas de marca y marca de Microsoft. El uso de marcas registradas de Microsoft o logotipos en versiones modificadas de este proyecto no debe causar confusión o implicar el patrocinio de Microsoft. Cualquier uso de marcas comerciales o logotipos de terceros está sujeto a las políticas de esas partes de terceros.